當進行新刪改單等操作行爲,均會由系統創建並回傳Trade物件,可用來追蹤訂單實時狀態。
Trade物件由order、order_status、operations組成。
| 參數 | 資料型態 | 說明 |
|---|---|---|
| order | Order | 訂單基本資訊 |
| order_status | OrderStatus | 訂單當前狀態 |
| operations | list[Operation] | 操作紀錄(如新單、刪單、改單) |
| 參數 | 資料型態 | 說明 |
|---|---|---|
| org_seqnum | str | 原始單號,為委託單的唯一識別碼,用於追蹤與管理委託單的創建、修改或取消操作 |
| order_id | str | 委託單號,委託成功後才會顯示 |
| action | kgi.Action |
委託方向 Action.Buy 為多方向 Action.Sell 為空方向 |
| market | kgi.Market |
市場 Market.US |
| symbol | str | 交易標的代碼 |
| quantity | int | 委託數量 |
| price | float | 委託價格 |
| 參數 | 資料型態 | 說明 |
|---|---|---|
| nid | str | 最新的有效下單序號 |
| status | kgi.Status |
委託狀態 Status.PendingSubmitted — 預約單 Status.Submitted — 已送出,等待成交 Status.Filled — 全部成交 Status.PartFilled — 部分成交,其餘部分等待成交 Status.Cancelled — 已取消 Status.PartFilled_Cancelled — 已取消且部分成交 |
| modified_quantity | int | 更新數量 |
| modified_price | float | 更新價格 |
| modified_time | str | 更新變動時間 |
| deals | list[Deal] |
Deal 包含成交資訊 = price:成交價格 = quantity:成交數量 = ts:成交時間 = reportseq:成交單號 |
| 參數 | 資料型態 | 說明 |
|---|---|---|
| nid | str | 該筆委託的下單序號 |
| task | kgi.Task |
委託的操作類型 Task.NewOrder — 新單 Task.CancelOrder — 刪單 Task.UpdateQty — 改量 |
| status | kgi.Status | str |
初始狀態為 Status.Pending(處理中) 成功提交後的可能狀態包括: — 預約單 — 委託上手中 — 委託成功 — 委託失敗 — 逾期單 — 作廢單 — 無效單 — 已下單至交易室 — 處理失敗 — 上手系統處理中 |
| op_time | str | 操作時間 |
| msg | str | 補充資訊,"改價"及"委託失敗"會記錄資訊 |
若已送出一筆新委託後,可藉由trade物件來追蹤委託單實時狀態
Trade(
order=
Order(
org_seqnum='1003923',
order_id='250702000024',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='AAPL',
quantity=100,
price=509.0),
order_status=
OrderStatus(
nid='1003923',
status=<Status.Filled>,
modified_time='',
modified_quantity=0,
modified_price=509.0,
deals=[Deal(quantity=100, price=502.0, ts='102343')]),
operations=[
Operation(
nid='1003923',
task=<Task.NewOrder >,
status='委託成功')
])