Aggregates
Subscribe to aggregated market data for futures or options
Parameters
Name | Type | Description |
---|---|---|
channel * | string | Subscribe Channel:trades , candles , books , aggregates |
symbol * | string | Contract Code |
afterHours * | bool | Subscription AfterHours Session true : AfterHours false : Regular default : false |
Response
Name | Type | Description |
---|---|---|
date * | string | Date |
type * | string | Type |
exchange | string | Exchange |
symbol | string | Contract Code |
name | string | Contract Name |
previousClose | number | The closing price of the previous trading day |
openPrice | number | Opening Price |
openTime | number | Opening price transaction time |
highPrice | number | Highest Trading Price |
highTime | number | Highest Trading Price transaction time |
lowPrice | number | Lowest Trading Price |
lowTime | number | Lowest Trading Price transaction time |
closePrice | number | Close Price |
closeTime | number | Close Price transaction time |
avgPrice | number | Trading Average Price Today |
change | number | Last Trading Price Change |
changePercent | number | Last Trading price Change Percentage |
amplitude | number | Price Range Today |
lastPrice | number | Last Price(include trial) |
lastSize | number | Last Trading Volume(include trial) |
total | object | List |
>> tradeVolume | number | Accumulative Trading Volume |
>> tradeVolumeAtBid | number | Accumulative Bid Volume |
>> tradeVolumeAtAsk | number | Accumulative Ask Volume |
lastTrade | object | List |
>> price | number | Last Trading Price |
>> size | number | Last Trading Volume |
>> time | number | Last Trading Time |
>> serial | number | Last Trading Serial Number |
serial | number | Serial Number |
lastUpdated | number | Last Updated Time |
Example
Subscribe channel
- Python
- Node.js
- C#
from fubon_neo.sdk import FubonSDK, Order
def handle_message(message):
print(f'market data message: {message}')
sdk = FubonSDK()
accounts = sdk.login("Your ID", "Your password", "Your cert path", "Your cert password")
sdk.init_realtime(Mode.Normal) # Establish market-data
futopt = sdk.marketdata.websocket_client.futopt
futopt.on('message', handle_message)
futopt.connect()
futopt.subscribe({
'channel': 'aggregates',
'symbol': 'TXFA4'
})
const { FubonSDK } = require('fubon-neo');
const sdk = new FubonSDK();
const accounts = sdk.login("Your ID", "Your password", "Your cert path", "Your cert password");
sdk.initRealtime(Mode.Normal); // Establish market-data
const futopt = sdk.marketdata.webSocketClient.futopt;
futopt.connect().then(() => {
futopt.subscribe({ channel: "aggregates", symbol: "TXFA4" });
});
futopt.on("message", (message) => {
const data = JSON.parse(message);
console.log(data);
});
using FubonNeo.Sdk;
var sdk = new FubonSDK();
var result = sdk.Login("Your ID", "Your password", "Your cert path", "Your cert password");
sdk.InitRealtime(Mode.Normal); // Establish market-data
var futopt = sdk.MarketData.WebSocketClient.FutureOption;
futopt.OnMessage += (msg) => Console.WriteLine($"receive: { msg }");
await futopt.Connect();
await futopt.Subscribe(FugleMarketData.WebsocketModels.FutureOptionChannel.Aggregates, "TXFA4");
Receive data
{
"event": "data",
"data": {
"date": "2023-12-26",
"type": "FUTURE",
"exchange": "TAIFEX",
"symbol": "TXFA4",
"name": "臺股期貨014",
"previousClose": 17622,
"openPrice": 17651,
"openTime": 1703551500020000,
"highPrice": 17740,
"highTime": 1703560921393000,
"lowPrice": 17634,
"lowTime": 1703552892448000,
"closePrice": 17735,
"closeTime": 1703569500075000,
"avgPrice": 17700.51,
"change": 113,
"changePercent": 0.64,
"amplitude": 0.6,
"lastPrice": 17735,
"lastSize": 7,
"total": {
"tradeVolume": 52553,
"totalBidMatch": 26280,
"totalAskMatch": 26273
},
"lastTrade": {
"price": 17735,
"size": 7,
"time": 1703569500075000,
"serial": "00136127"
},
"serial": 136127,
"lastUpdated": 1703569500075000
},
"id": "<CHANNEL_ID>",
"channel": "aggregates"
}