Event物件說明

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

Event Attribute

參數 資料型態 說明
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 為空方向
symbol str 股票代碼,同 Order.symbol
quantity int 委託數量
在 Task.Deal 情況下為成交數量
price float | kgi.PriceType 委託價格,如為市價單則顯示為「市價」
在 Task.Deal 情況下為成交價格
order_cond kgi.OrderCond 委託類型,同 Order.order_cond
OrderCond.CASH — 現股
OrderCond.MARGIN — 融資
OrderCond.SHORT_SELLING — 融券
OrderCond.Lend_SELLING — 借券賣出
OrderCond.MARGIN_DayTrade — 當沖融資
OrderCond.SHORT_DayTrade — 當沖融券
OrderCond.CASH_SELLING — 現股先賣
time_in_force kgi.TimeInForce 委託條件,同 Order.time_in_force
TimeInForce.ROD — 委託當日有效
TimeInForce.IOC — 立即成交,未成交部分將被取消
TimeInForce.FOK — 立即全部成交,否則全部將被撤銷
odd_lot kgi.OddLot 委託別,同 Order.odd_lot
OddLot.Common — 整股
OddLot.Fixing — 定盤交易
OddLot.Odd — 盤中零股
OddLot.Odd_AfterMarket — 盤後零股
ts str 回報時間
msg str 補充資訊
改單及 Status.Failed 會記錄資訊

event物件回傳範例內容如下

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

Example

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

Event( 
	task=<Task.NewOrder>,  
	status=<Status.Pending>,  
	seqno='15390968055475038003',  
	action=<Action.Buy: 'B'>,  
	symbol='1234',  
	quantity=5,  
	price=39.9,  
	order_cond=<OrderCond.CASH: 0>,  
	time_in_force=<TimeInForce.ROD: 0>,  
	odd_lot=<OddLot.Common: 0>,  
	ts='232117' 
	) 

第二筆代表委託成功,收到委託回報(status=<Status.Success>)
此時產生order_id(委託成功)

Event( 
	task=<Task.NewOrder>,  
	status=<Status.Success>,  
	order_id='Y006Z',  
	seqno='00008689',  
	action=<Action.Buy: 'B'>,  
	symbol='1234',  
	quantity=5,  
	price=39.9,  
	order_cond=<OrderCond.CASH: 0>,  
	time_in_force=<TimeInForce.ROD: 0>,  
	odd_lot=<OddLot.Common: 0>,  
	ts='232122' 
	)