Event物件說明

代表交易事件回報物件,每當交易系統發生特定事件時(例如 下單、刪單、改單、成交),
系統將會主動回傳event,用於通知使用者當前操作或市場的狀態。

Event Attribute

參數 資料型態 說明
task kgi.Task 委託的操作類型,同 Operation.task
Task.NewOrder — 新單
Task.CancelOrder — 刪單
Task.UpdateQty — 改量
Task.Deal — 成交
status kgi.Status | str 委託狀態,同 Operation.status
初始狀態為 Status.Pending(處理中)
成功提交後的可能狀態包括:
— 預約單
— 委託上手中
— 委託成功
— 委託失敗
— 逾期單
— 作廢單
— 無效單
— 已下單至交易室
— 處理失敗
— 上手系統處理中
org_seqnum str 原始單號,同 Order.org_seqnum
order_id str 委託單號,在 event 為 Task.Deal
seqno str 下單序號,在 event 非 Task.Deal
action kgi.Action 委託方向,同 Order.action
Action.Buy 為多方向
Action.Sell 為空方向
market kgi.Market 市場
Market.US
symbol str 交易標的代碼
quantity int 委託數量
在 Task.Deal 情況下為成交數量
price float 委託價格
在 Task.Deal 情況下為成交價格
ts str 回報時間
msg str 補充資訊,"改價"及"委託失敗"會記錄資訊

event物件回傳範例內容如下

若已送出一筆新委託後,將會陸續收到系統主動回報四筆event

Example

第一筆代表收到新委託資訊,系統處理中(status='處理中')
此時無order_id(尚未確認委託成功),可用seqno進行後續比對

Event( 
	task =Task.NewOrder, 
	status='處理中', 
	org_seqnum='1004006', 
	seqno='250702000070',  
	action=<Action.Sell: 'S'>, 
	market=<Market.US: 1>, 
	symbol='AAPL', 
	quantity=300.0,  
	price=440.0, 
	ts='1511560' 
) 

第二筆代表系統已將委託送至交易室(status='已下單至交易室')

Event( 
	task =Task.NewOrder, 
	status='已下單至交易室', 
	org_seqnum='1004006', 
	seqno='250702000070',  
	action=<Action.Sell: 'S'>, 
	market=<Market.US: 1>, 
	symbol='AAPL', 
	quantity=300.0,  
	price=440.0, 
	ts='1511560' 
) 

第三筆代表系統已將委託轉給境外合作券商(status='委託上手中')

Event( 
	task =Task.NewOrder, 
	status='委託上手中', 
	org_seqnum='1004006', 
	seqno='250702000070',  
	action=<Action.Sell: 'S'>, 
	market=<Market.US: 1>, 
	symbol='AAPL', 
	quantity=300.0,  
	price=440.0, 
	ts='1511560' 
) 

第四筆代表委託成功,收到委託回報(status='委託成功')

Event( 
	task =Task.NewOrder, 
	status='委託成功', 
	org_seqnum='1004006', 
	seqno='250702000070',  
	action=<Action.Sell: 'S'>, 
	market=<Market.US: 1>, 
	symbol='AAPL', 
	quantity=300.0,  
	price=440.0, 
	ts='1511560' 
)