代表交易事件回報物件,每當交易系統發生特定事件時(例如 下單、刪單、改單、成交),
系統將會主動回傳event,用於通知使用者當前操作或市場的狀態。
| 參數 | 資料型態 | 說明 |
|---|---|---|
| task | kgi.Task | 委託的操作類型,同Operation.task Task.NewOrder - 新單 Task.CancelOrder - 刪單 Task.UpdatePrice - 改價 Task.UpdateQty - 改量 Task.Deal - 成交 |
| status | kgi.Status | 委託狀態,同Operation.status Status.Pending - 處理中 Status.Success - 操作成功執行 Status.Failed - 操作未成功 |
| order_id | str | 委託單號,委託成功後才會顯示,同Order.order_id |
| seqno | str | 該委託的下單序號,同Operation.nid |
| action | kgi.Action | 委託方向,同Order.action Action.Buy - 多方方向 Action.Sell - 空方方向 |
| category | Category | 商品分類,同Order.category Category.FUTURE Category.OPTION |
| symbol | str | 股票代號,同Order.symbol |
| quantity | int | 委託數量,在 Task.Deal 情況下為成交數量 |
| price | float | kgi.PriceType | 委託價格,如為市價單則顯示為「市價」 在 Task.Deal 情況下為成交價格 |
| time_in_force | kgi.TimeInForce | 委託條件,同Order.time_in_force TimeInForce.ROD - 委託當日有效 TimeInForce.IOC - 立即成交,未成交部分將被 TimeInForce.FOK - 立即全部成交,否則全部將被取消 |
| trade_hour | Trade_hour | 盤別 TradeHour.REGULAR - 日盤 TradeHour.POSTMARKET - 夜盤 |
| ts | str | 回報時間 |
| msg | str | 補充資訊,改單及 Status.Failed 會記錄資訊 |
event物件回傳範例內容如下
若已送出一筆新委託後,將會陸續收到系統主動回報二筆event
第一筆代表收到新委託資訊,系統處理中(status=<Status.Pending>)
此時無order_id(尚未確認委託成功),可用seqno進行後續比對
Event(
task=<Task.NewOrder>,
status=<Status.Pending>,
order_id='',
seqno=1753766222457335001,
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='M1FH5',
quantity=1,
price=19507,
time_in_force=<TimeInForce.ROD: 0>,
ts='131702'
)
第二筆代表收到新委託資訊,收到委託回報(status=<Status.Success>)
此時產生order_id(委託成功)
Event(
task=<Task.NewOrder>,
status=<Status.Success>,
order_id='wAaa7',
seqno='00009840',
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='M1FH5',
quantity=1,
price=19507.0,
time_in_force=<TimeInForce.ROD: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>,
ts='131702'
)