兩條路徑
這裡的「數量」指剩餘數量
修改請求
改了什麼?
僅減少數量原地修改 — 保留佇列位置
更改價格,或增加數量先撤單,再下新單 — 佇列位置消失
數量 10、已成交 4 的訂單,剩餘 6
改成 5 — 減少
改成 8 — 增加,儘管比最初的 10 小
撤單重下這條路徑有先後,但不是原子的只有撤單成功才會嘗試下新單,而新單仍可能因保證金失敗 — 結果是原訂單被撤銷,你卻沒有掛單在場上。
佇列位置為什麼重要
在某個價格檔位上,訂單按到達順序成交。排在檔位前面的訂單先於後面的成交;而在一個繁忙的檔位上,排最前面和排最後面的差別,就是成交和眼看著行情走掉的差別。 對造市商來說,這就是全部。縮小數量來管理風險、位置還留著,跟不得不重新排到那些在你猶豫時才到的人後面,是本質不同的兩件事。這裡的「數量」指什麼
數量比較用的是剩餘數量,不是你最初提交的數量。 一筆數量 10、已成交 4 的訂單,剩餘 6。改成 5 是減少,走原地修改;改成 8 就是相對於 6 的增加,儘管 8 比最初的 10 小,還是走撤單重下。撤單重下這條路徑可能部分失敗
一次修改走上撤單重下這條路徑時,兩個步驟有先後,但不是原子的:- 只有撤單成功,才會嘗試下新單。 你不會同時擁有兩筆。
- 新單仍然可能失敗,最常見的是保證金原因,因為市場可能在兩步之間走掉了。
時機
原地減少數量在當前區塊內生效,不必等。 更改價格和增加數量走兩步路徑,並與任何撤單、任何新訂單適用同一套排序規則。撤單在撤單階段執行,先於同一區塊內的主動吃單;正因如此,和你的修改請求同時到達的訂單,打不掉你那筆過時的報價。 訂單有效期會延續:修改後的訂單保持相同的訂單有效期,對替代訂單一樣生效。實務提示
- 放心縮小。 成本低廉,也不損失任何優先順序。
- 把改價當成一筆新訂單,因為它本來就是。
- 程式化修改就用用戶端訂單 ID。 收到含糊的回應之後,你可以直接確認什麼確實存在,不必用推的。
- 一次要改動好幾個欄位,就明確地撤單再重下:結果一樣,但失敗處理更清晰。
後續閱讀
訂單簿
價格優先、時間優先如何決定一個檔位內的成交順序。
交易排序
為什麼同一區塊內撤單先於主動吃單執行。
用戶端訂單 ID
在收到含糊回應之後確認什麼確實存在。
訂單類型
訂單有效期,以及修改後哪些屬性會延續。