两条路径
这里的“数量”指剩余数量
修改请求
改了什么?
仅减少数量原地修改 — 保留队列位置
更改价格,或增加数量先撤单,再下新单 — 队列位置丢失
数量 10、已成交 4 的订单,剩余为 6
改成 5 — 是减少
改成 8 — 是增加,尽管小于最初的 10
撤单重下这条路径有先后,但并不原子只有撤单成功才会尝试下新单,而新单仍可能因保证金失败——于是原订单被撤销,你也没有挂单在场上。
队列位置为什么重要
在某个价格档位上,订单按到达顺序成交。排在档位前面的订单先于后面的成交——而在一个繁忙的档位上,队首和队尾的差别就是成交与眼看着行情走掉的差别。 对做市商来说,全部就在这里。为了管理风险缩小数量却不丢位置,和不得不重新排到你犹豫那会儿新来的人后面,是完全不同的两件事。这里的“数量”指什么
数量比较用的是剩余数量,而不是你最初提交的数量。 一笔数量为 10、已成交 4 的订单,剩余为 6。把它改成 5 是减少——原地修改;把它改成 8 则是相对于 6 的增加,尽管 8 小于最初的 10——撤单重下。撤单重下这条路径可能部分失败
修改一旦走上撤单重下这条路,两个步骤有先后,但并不原子:- 只有撤单成功,才会尝试下新单。 你不会同时拥有两笔。
- 新单仍然可能失败——最常见的是保证金原因,因为市场可能在两步之间移动了。
时机
原地减少数量在当前区块内生效——不需要等待。 更改价格和增加数量走两步路径,与任何撤单、任何新订单适用同一套排序规则。撤单在撤单阶段运行,先于同一区块内的主动吃单,所以和你的修改请求同时到达的订单,打不掉你那笔过时的报价。 订单有效期会延续下来:改过的订单,有效期不变;替代订单也照它执行。实务提示
- 放心缩小。 成本低廉,也不损失任何优先级。
- 把改价当成一笔新订单,因为它本来就是。
- 程序化修改,请用客户端订单 ID。 收到含糊的响应之后,你可以直接确认什么还在,而不是靠推断。
- 要一次改多个字段,就干脆显式地撤单再重下——结果一样,但失败处理更清晰。
后续阅读
订单簿
价格-时间优先级如何决定一个档位内的成交顺序。
交易排序
为什么同一区块内撤单先于主动吃单执行。
客户端订单 ID
在收到含糊响应之后确认什么确实存在。
订单类型
订单有效期,以及修改后哪些属性会延续。