Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 21 days ago
JSON representation

API Spec for implementing any broker with AURUM 🤑

Awesome Lists containing this project

README

        

AURUM BROKER SPEC





NPM


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