Skip to content

數據格式 ​

WebSocket 交易推送使用 JSON 消息。每條推送消息對應一個交易事件,客戶端應先按 event_type 字段區分事件類型,再解析 order_info 和 fill_infos 等具體字段。

INFO

交易事件中的數值字段(如價格、數量)均以字符串類型傳輸,以避免浮點精度問題。時間字段使用微秒時間戳(Unix 微秒)。解析時請按字段說明做類型處理,未知字段建議忽略以保持向前兼容。

消息結構 ​

每條推送消息的頂層為一個 TradeEvent 對象:

json
{
  "event_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "event_type": "EVENT_FILL",
  "event_time_us": 1751433600000000,
  "user_info": {
    "uid": 123456789,
    "acc_id": 987654321098765432
  },
  "order_info": {
    "order_id": "ORDER_001",
    "side": "BUY",
    "order_type": "LIMIT",
    "order_status": "FILLED_ALL",
    "code": "US.AAPL",
    "stock_name": "Apple Inc.",
    "security_type": "STOCK",
    "qty": "100",
    "price": "180",
    "currency": "USD",
    "create_time": 1751433500000000,
    "updated_time": 1751433600000000,
    "dealt_qty": "100",
    "dealt_avg_price": "179.98",
    "time_in_force": "DAY",
    "session": "RTH",
    "position_open_type": "",
    "algo_info": null
  },
  "fill_infos": [
    {
      "side": "BUY",
      "deal_id": "DEAL_001",
      "order_id": "ORDER_001",
      "code": "US.AAPL",
      "stock_name": "Apple Inc.",
      "qty": "100",
      "price": "179.98",
      "create_time": 1751433600000000,
      "updated_time": 1751433600000000,
      "status": "OK"
    }
  ]
}

TradeEvent 頂層字段 ​

字段類型說明
event_idstring事件唯一 ID(UUID),可用於客戶端冪等處理。
event_typestring事件類型,詳見下方事件類型說明。
event_time_usinteger事件發生時間,Unix 微秒時間戳。
user_infoobject用戶信息,詳見 user_info 字段。
order_infoobject訂單信息,詳見 order_info 字段。
fill_infosobject[]成交信息列表,詳見 fill_infos 字段。僅在 EVENT_FILL、EVENT_FILL_CORRECT、EVENT_FILL_CANCEL 事件中有值,其他事件該字段為空數組。

事件類型 ​

event_type 字段的可選值:

值說明
EVENT_NEW下單成功事件。訂單已被交易所或系統受理。
EVENT_REPLACED改單成功事件。訂單價格或數量已修改。
EVENT_CANCELED撤單成功事件。訂單已被撤銷。
EVENT_EXPIRED訂單過期事件。訂單因有效期到期被系統撤銷。
EVENT_FILL成交事件。fill_infos 包含本次成交明細,可能為部分成交或全部成交。
EVENT_NEW_REJECTED下單失敗事件。訂單被拒絕,拒絕原因見 last_err_msg。
EVENT_REPLACE_REJECTED改單失敗事件。改單請求被拒絕,拒絕原因見 last_err_msg。
EVENT_CANCEL_REJECTED撤單失敗事件。撤單請求被拒絕,拒絕原因見 last_err_msg。
EVENT_FILL_CORRECT成交修正事件。已有成交信息被更正,fill_infos 包含更正後的成交明細,對應成交的 status 為 CHANGED。
EVENT_FILL_CANCEL成交撤銷事件。已有成交被系統撤銷,fill_infos 中對應成交的 status 為 CANCELLED。
EVENT_WAIT_OPEN訂單預埋事件。
EVENT_PRICE_PROTECT訂單價格保護事件。
EVENT_TRIGGER_WAITING條件單監聽事件。
EVENT_TRIGGER條件單觸發事件。

user_info 字段 ​

字段類型說明
uidinteger用戶 ID(nnid)。
acc_idinteger長業務賬號 ID,與 REST 路徑中的 acc_id 是同一個業務賬戶。JSON 為數字;超過 JavaScript 安全整數時不要用 Number 解析。

order_info 字段 ​

字段類型說明
order_idstring訂單 ID。
sidestring交易方向,見 trd_side。
order_typestring訂單類型,見 order_type。
order_statusstring訂單狀態,見 order_status。
codestring證券代碼。格式:market.symbol,例如 US.AAPL、HK.00700。
stock_namestring證券名稱。
security_typestring品類,見 security_type。
qtystring訂單數量。
pricestring訂單價格。市價單可能為空。
currencystring交易貨幣,見 currency。
create_timeinteger訂單創建時間,Unix 微秒時間戳。
updated_timeinteger訂單最後更新時間,Unix 微秒時間戳。
dealt_qtystring已成交數量。
dealt_avg_pricestring平均成交價格。未成交時為空。
last_err_msgstring最近一次失敗描述。僅在 EVENT_NEW_REJECTED、EVENT_REPLACE_REJECTED、EVENT_CANCEL_REJECTED 等失敗事件中有值。
remarkstring下單時填寫的備注。
time_in_forcestring有效期類型,見 time_in_force。
sessionstring交易時段,見 trading_session。
aux_pricestring條件單觸發價。僅適用於 STOP、STOP_LIMIT、MARKET_IF_TOUCHED、LIMIT_IF_TOUCHED 等條件單類型。
trail_typestring跟蹤止損類型,見 trail_type。僅適用於 TRAILING_STOP、TRAILING_STOP_LIMIT 類型。
trail_valuestring跟蹤金額或比例。僅適用於跟蹤止損類型。
trail_spreadstring指定價差。僅適用於 TRAILING_STOP_LIMIT 類型。
multi_leg_infoobject多腿訂單信息,詳見 multi_leg_info 字段。僅適用於多腿期權訂單(security_type 為 MULTILEG_OPTION)。
exchangestring證券所屬交易所(如 SEHK、COMEX),與 code 配套下發。
expire_timeinteger訂單截止時間,Unix 微秒時間戳。
sub_acc_idstringJP 子賬戶 ID。僅適用於 JP 賬戶。
margin_trading_typestringJP 信用類型(GENERAL / STANDARDIZED)。僅適用於 JP 信用賬戶。
margin_period_typestringJP 信用期限(INDEFINITE)。僅適用於 JP 信用賬戶。
position_open_typestring開倉類型(跟蹤止損單專用):DISABLE_POSITION_OPEN / ENABLE_POSITION_OPEN。
algo_infoobject算法單參數。非算法單為空。詳見 algo_info 字段。

fill_infos 字段 ​

字段類型說明
sidestring交易方向,見 trd_side。
deal_idstring成交 ID。最長不超過 32 字符的 Base58 編碼,大小寫敏感。
order_idstring訂單 ID,與 order_info.order_id 對應。
codestring證券代碼。格式:market.symbol,例如 US.AAPL、HK.00700。
stock_namestring證券名稱。
qtystring成交數量。
pricestring成交價格。
create_timeinteger成交創建時間,Unix 微秒時間戳。
updated_timeinteger成交最後更新時間,Unix 微秒時間戳。
counter_broker_idstring對手方券商編號。
counter_broker_namestring對手方券商名稱。
statusstring成交狀態,見 deal_status。
sub_acc_idstringJP 子賬戶 ID。僅適用於 JP 賬戶。

multi_leg_info 字段 ​

多腿期權訂單的附加信息,僅在 order_info.security_type 為 MULTILEG_OPTION 時存在。

字段類型說明
underlying_symbolstring底層標的代碼。
underlying_stock_namestring底層標的名稱。
leg_infosobject[]各腿訂單信息列表,詳見 leg_infos 字段。

leg_infos 字段 ​

多腿期權中單條腿的信息。

字段類型說明
codestring腿代碼,格式 market.symbol(同下單 / 訂單詳情側 leg_code)。
ratio_qtystring最大公約數原則下每條腿的比例。
sidestring腿的交易方向,見 trd_side。
security_typestring腿對應的證券類型,見 security_type。
stock_namestring腿對應的證券名稱。
hp_multiplierstring腿對應的合約乘數。
avg_fill_pricestring腿的平均成交價。

algo_info 字段 ​

算法單參數。僅算法單有值,非算法單為空。

字段類型說明
start_timeinteger開始執行時間,Unix 微秒時間戳。
end_timeinteger結束執行時間,Unix 微秒時間戳。
pricing_strategystring子單價格策略:ADAPTIVE / GHOST / PASSIVE。
layeringstring子單下單檔位:AUTO / 1–10。
twapobjectTWAP 參數,詳見 twap 字段。
vwapobjectVWAP 參數,詳見 vwap 字段。
povobjectPOV 參數,詳見 pov 字段。
slicerobjectSlicer 參數,詳見 slicer 字段。
pegobjectPEG 參數,詳見 peg 字段。
icebergobjectIceberg 參數,詳見 iceberg 字段。

twap 字段 ​

字段類型說明
participation_ratestring最大跟隨比例,1%–99%。

vwap 字段 ​

字段類型說明
participation_ratestring最大跟隨比例,1%–99%。

pov 字段 ​

字段類型說明
participation_ratestring最大跟隨比例。

slicer 字段 ​

字段類型說明
slice_intervalinteger子單間隔(秒),≥ 10。
display_qtyinteger子單單次下單量(手)。
display_qty_varinteger下單量隨機化程度,0–99。

peg 字段 ​

字段類型說明
display_qtyinteger子單單次下單量(手)。
peg_offsetstring盯住位置。
display_qty_varinteger下單量隨機化程度,0–99。

iceberg 字段 ​

字段類型說明
display_qtyinteger子單單次下單量(手)。
display_qty_varinteger下單量隨機化程度,0–99。

兼容性建議 ​

  • 按 event_type 分發處理:不同事件的 fill_infos 是否有值差異較大,建議 switch/match 處理。
  • 未知字段忽略:服務端可能新增字段,客戶端應保持向前兼容。
  • 未知 event_type 兼容:記錄日誌後跳過,避免因新增事件類型導致處理異常。
  • 數值字段以字符串解析:價格、數量等字段均為字符串,需自行轉換為 Decimal 或 float 處理精度。
  • 微秒時間戳:event_time_us、create_time、updated_time(訂單、成交)均為 Unix 微秒時間戳,注意與毫秒時間戳區分。

相關文檔 ​