This is an unofficial Node.js API client for Wikifolio's platform.
If anything is broken, please open an issue.
- Session management
- Search wikifolios
- Fetch wikifolio details / analysis / price
- Fetch portfolio positions
- Fetch wikifolio trades
- Fetch watchlist entries
- Watch / unwatch wikifolios
- Fetch users & their wikifolios
- Trading: place & modify buy & sell orders
π Contributors wanted
# using npm
npm i wikifolio
# using yarn
yarn add wikifolio
The examples assume the following setup:
import Api from 'wikifolio'
const api = new Api({
email: '[email protected]',
password: 'plaintext-password'
})
βοΈ Use encrypted environment variables or command line prompts, never store your passwords in plain text.
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.details() )
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.price() )
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.trades({pageSize: 100, page: 1}) )
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.history() )
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.portfolio() )
const wikifolios = await api.search({query: 'Supervisor'})
console.log( wikifolios )
const watchlist = await api.watchlist()
for(const wikifolio of watchlist){
await wikifolio.watchlist(false)
}
const user = api.user('riennevaplus')
console.log( await user.details() )
const user = api.user('riennevaplus')
console.log( await user.wikifolios() )
There's a similar sell()
method.
const wikifolio = api.wikifolio('wfobserver')
const order = await wikifolio.buy({
amount: 1,
limitPrice: 220,
orderType: "limit",
underlyingIsin: "DE000LS9NMQ9",
expiresAt: "2020-07-29T00:00:00.000Z"
})
Note: When orderType
is set to quote
the first returned quote will be accepted.
const wikifolio = api.wikifolio('wfobserver')
const order = wikifolio.order('8b4da005-6750-4b4c-9dff-0364d3e07be0')
console.log( await order.submit({limitPrice: 100}) )
const wikifolio = api.wikifolio('wfobserver')
const orders = await wikifolio.orders({pageSize: 25, page: 0})
for(const order of orders){
console.log( await order.remove() )
}
- Improve documentation
- Implement wikifolio sustainability
- RienNeVaPlus
- jekru
- You?