wikifolio
v0.4.2
Published
Wikifolio (unofficial) API
Downloads
13
Readme
⭐ Features
- 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
🛫 Install
# using npm
npm i wikifolio
# using yarn
yarn add wikifolio
📝 Examples
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.
1. Fetch details of a wikifolio
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.details() )
2. Fetch wikifolio price
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.price() )
3. Fetch wikifolio trades
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.trades({pageSize: 100, page: 1}) )
4. Fetch wikifolio index history (chart)
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.history() )
5. Fetch portfolio items of a wikifolio
const wikifolio = api.wikifolio('wfobserver')
console.log( await wikifolio.portfolio() )
6. Search wikifolios
const wikifolios = await api.search({query: 'Supervisor'})
console.log( wikifolios )
7. Unwatch all wikifolios on the watchlist
const watchlist = await api.watchlist()
for(const wikifolio of watchlist){
await wikifolio.watchlist(false)
}
8. Get trader info
const user = api.user('riennevaplus')
console.log( await user.details() )
9. Get wikifolios of a trader
const user = api.user('riennevaplus')
console.log( await user.wikifolios() )
10. Place a limit order
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.
11. Update an order
const wikifolio = api.wikifolio('wfobserver')
const order = wikifolio.order('8b4da005-6750-4b4c-9dff-0364d3e07be0')
console.log( await order.submit({limitPrice: 100}) )
12. List & remove wikifolio orders
const wikifolio = api.wikifolio('wfobserver')
const orders = await wikifolio.orders({pageSize: 25, page: 0})
for(const order of orders){
console.log( await order.remove() )
}
👷 Todos
- Improve documentation
- Implement wikifolio sustainability