Skip to main content

Trades BETA

接收訂閱期權商品最新成交資訊

Parameters

NameTypeDescription
channel*string訂閱頻道:trades, candles, books , aggregates
symbol*string期貨商品代碼
afterHoursbooleantrue: 夜盤, false: 日盤, default: false

Response

NameTypeDescription
symbol*string商品代號
type*stringTicker 類型
exchange*string交易所
tradesobject[]成交報價
trades[0].pricenumber成交價格
trades[0].sizenumber成交單量
trades[0].bidnumber成交買價
trades[0].asknumber成交賣價
totalobject成交量
total.tradeVolumenumber成交總量
total.totalBidMatchnumber累計委買成交筆數
total.totalAskMatchnumber累計委賣成交筆數
time*number時間
serial*number流水號
isTrialboolean試撮階段為 true,非試撮時省略此欄位(缺省視為 false);試撮訊息僅 /v1.1/futopt/streaming 連線推送,v1.0 恆不推送
試撮訊息

isTrial: true 時,trades[] 的內容為試撮撮合結果而非實際成交,請勿計入成交統計:

  • 試撮訊息不累計統計量,total.tradeVolumetotal.totalBidMatchtotal.totalAskMatch 均為 0
  • 試撮未撮合出價格時,pricesize0,代表該次試撮無成交,並非成交價為 0。

此頻道的試撮訊息僅 v1.1 連線會推送;但 aggregates 頻道在 v1.0 也會推送試撮期間的更新,兩者判斷方式不同,請留意。

Example

Subscribe channel

from fugle_marketdata import WebSocketClient

def handle_message(message):
print(message)

def main():
client = WebSocketClient(api_key='YOUR_API_KEY')
futopt = client.futopt
futopt.on('message', handle_message)
futopt.connect()
futopt.subscribe({
'channel': 'trades',
'symbol': 'TXFG4',
'afterHours': True
})

if __name__ == '__main__':
main()

Receive data

{
"event": "data",
"data": {
"symbol": "TXFG4",
"type": "FUTURE_AH",
"exchange": "TAIFEX",
"trades": [
{
"price": 23379,
"size": 1,
"bid": 23379,
"ask": 23380
}
],
"total": {
"tradeVolume": 12431,
"totalBidMatch": 8191,
"totalAskMatch": 7964
},
"time": 1718880340342000,
"serial": 23143
},
"id": "<CHANNEL_ID>",
"channel": "trades"
}