為什麼取消後期貨訂單還是成交了?
了解期貨取消請求與確認取消為什麼不同、pending cancel 與成交如何競爭,以及送出替代訂單前應檢查哪些紀錄。
直接解答
點擊取消只是送出請求,並不能證明期貨訂單已經消失。在交易場所確認 Cancelled 前,剩餘數量仍需要核對,而且取消最終生效前可能已經發生成交。
Pending cancel與Cancelled是不同狀態
CME Globex區分Pending Cancel Confirmation和Cancelled。
Pending表示平台已收到取消請求,但交易引擎尚未確認取消。
Cancelled表示請求已經成功處理,訂單已從訂單簿移除。
當使用者說「我在成交前取消了」時,應先檢查這一差別。
只看點擊時間不夠。
應看交易場所確認的訂單狀態。
快速市場會產生訊息競爭
假設有5份賣出限價正在等待。
5份仍為working時點擊取消。
取消確認前,相容買方到達訂單。
如果先成交2份,帳戶已經有2份完成交易。
之後剩餘3份可以成功取消。
後來的取消確認不會刪除之前的成交。
部分成交容易讓最終狀態產生誤解
假設原訂單為10份。
取消流程前後成交3份。
最終紀錄可能是:
只看最終Cancelled標籤,可能誤以為什麼都沒有成交。
應同時核對累計成交和剩餘數量。
為什麼期貨訂單會在多個價格成交說明累計成交核對。
- 累計成交:3
- 取消剩餘:7
- 最終working:0
Cancel reject也是可能結果
取消是一項修改訂單狀態的請求。
CME訂單協議支援無法處理取消請求時返回reject。
訂單狀態或請求標識問題都可能導致取消失敗。
不要把介面動畫或灰掉的按鈕當作交易所確認。
查看券商日誌或執行報告,確認取消是成功、拒絕還是仍在等待。
不知道舊訂單狀態時不要送出替代訂單
假設取消5份訂單後,在確認舊訂單最終狀態前又送出新的5份。
如果舊訂單在取消競爭中成交2份,新訂單又成交5份,實際曝險可能變成7份。
原本想保持5份,結果反而增加了部位。
應按下面方式核對:
最終部位 = 之前部位 + 所有已確認成交。
取消數量不是交易,不計入部位。
網路和介面時差會隱藏真實順序
訂單介面、券商伺服器、訂單閘道、撮合引擎和市場資料不是同一個時鐘。
其他訊息路徑已經發生成交時,畫面仍可能顯示Pending Cancel。
即使交易所成交事件更早,成交提醒也可能在點擊取消後才到達。
重建順序時使用交易所或券商時間戳。
不要把彈窗出現順序當作事件發生順序。
市場狀態可以限制取消行為
訂單功能會隨市場狀態變化。
CME Globex區分pre-open、open、pause、closed、maintenance,並分別定義訂單輸入、修改和取消能力。
不要假設open市場中的取消經驗在所有時段都一樣。
確認正確市場狀態和目前規則。
期貨市場全天24小時開放嗎?說明時段邊界的重要性。 [!TRYMARK] 重建一次取消競爭 從working 10份訂單開始。假設取消確認前成交3份,剩餘7份取消。寫出累計成交、取消數量、最終working數量和部位變化。
使用取消檢查清單
記錄正確合約和訂單ID。
記錄原始數量與累計成交。
記錄取消請求時間。
等待取消確認或最終狀態。
檢查是否返回cancel reject。
分開核對剩餘數量和成交數量。
送出替代訂單前確認淨部位。
使用券商或交易所時間,而不是畫面提醒順序。
本文解釋訂單狀態機制,不保證任何特定券商的取消處理速度。
常見問題
點擊取消後期貨訂單還能成交嗎?
如果成交發生在取消最終生效前,或訊息到達介面的順序不同,就可能出現這種情況。應檢查交易場所確認時間和狀態。
Pending cancel是什麼意思?
表示取消請求已收到,但訂單尚未進入確認的Cancelled狀態。
顯示Cancelled就表示沒有成交嗎?
不是。訂單可能先部分成交,再取消剩餘數量。應檢查累計成交。
點擊取消後可以馬上重新送出同樣訂單嗎?
應先確認舊訂單的最終狀態和成交,否則舊訂單成交加上新訂單可能造成超過預期的部位。