https://github.com/stoqey/aurum-broker-spec
API Spec for implementing any broker with AURUM 🤑
https://github.com/stoqey/aurum-broker-spec
algo-trading aurum aurum-broker-spec broker broker-api broker-events broker-methods portfolios
Last synced: 7 months ago
JSON representation
API Spec for implementing any broker with AURUM 🤑
- Host: GitHub
- URL: https://github.com/stoqey/aurum-broker-spec
- Owner: stoqey
- Created: 2020-05-02T17:03:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-04T12:42:25.000Z (over 2 years ago)
- Last Synced: 2025-01-29T16:08:33.103Z (9 months ago)
- Topics: algo-trading, aurum, aurum-broker-spec, broker, broker-api, broker-events, broker-methods, portfolios
- Language: TypeScript
- Homepage:
- Size: 611 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
AURUM BROKER SPEC
This is for any one that wants to create a Broker provider for Aurum, you can also use it as a guide when using any aurum-based broker.
Features:
- Broker events
- Broker methods
## Broker methods
| Method | Description |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| init | Important method called to start start the broker, it's recommended to call this method after all events have been registered |
| getAccountSummary | should return account details like accountId, account balance e.t.c |
| getOpenOrders | Get all open order, not including filled orders |
| getAllPositions | Get all portfolios that are currently invested in |
| enterPosition | Start a new position/portfolio |
| exitPosition | Exit an existing position |
| searchSymbol | Search for a symbol |
| quoteSymbol | Get quote |
| getMarketData | Get historical data |
| getPriceUpdate | Get realtime price updates |
| getScreener | Get screener method |
## Broker events
#### **onReady**
this method should be called when broker is ready to accept/process requests.
```ts
onReady: (data: any) => Promise;
```
#### onPortfolios
Called when portfolios change/requested, the application developer should save portfolios from this, because there is no guarantee that the broker saved, or worse-case e.g like when disconnected from broker e.t.c
```ts
onPortfolios: (portfolios: any[]) => Promise;
```
#### onOrder
Called when an action has been made on a order, order status updated, filled, or returned when order lists are requested.
```ts
// order for buy/sell trades
onOrder: (order: any) => Promise;
```
#### onMarketData
Returns historical data from calling `getMarketData` method
```ts
onMarketData: (data: any) => Promise;
```
#### onPriceUpdate
Streams real-time price updates from any symbols added for watch list
```ts
onPriceUpdate: (data: any) => Promise;
```
## Changelog
**23-05-2020**
Version 0.0.8
- Add getScreener to broker
- Optional `startDate`
## Current implementations
- [Interactive brokers](https://github.com/stoqey/aurum-broker-ibkr)
- [Mille paper trading broker](https://github.com/stoqey/aurum-broker-mille)
STOQEY INC