跳到正文

只挂单指令

只挂单是特定交易场所的限价单指令,旨在挂入订单簿而非立即吃单;拒绝、取消、改价、队列优先级和费用均取决于具体撮合规则。

更新于

仅供教育参考,不构成投资建议。订单、费用和成交在取消或最终对账前都可能变化。

直接答案

只挂单或仅增加流动性指令附加在限价单上,并在订单到达撮合引擎时接受检验。若任何部分会立即与已挂流动性成交,交易场所会按自身规则处理:可能拒绝请求、接受后取消订单,或把价格移至不会立即成交的档位。因此,只挂单表达的是入簿条件,而不是结果统一的通用订单类型。

成功挂簿的订单可在对手方订单后来到达时成交。该成交通常归类为挂单方流动性,但最终应以实际成交记录和费用账本为准。仅有确认回执、open 状态或只挂单标志,并不保证成交、挂单方待遇、返佣或更优净结果。

运作方式

是否可立即成交应以撮合引擎状态为准,而不是陈旧的屏幕报价。买入限价等于或高于最佳卖价、卖出限价等于或低于最佳买价时,通常会穿过订单簿。最小变动价位取整、集合竞价、锁定或交叉订单簿、隐藏流动性、价格保护及自成交防范均可能改变结果。自动改价还会改变请求的限价和队列位置,因此必须是用户明确接受的场所规则。

只挂单与其他指令相互独立。GTCGTDIOCFOK 控制订单有效期;有些场所不允许把只挂单与立即执行类指令组合。reduce-only、只平仓及持仓方向字段控制敞口。止损或止盈单在触发前可能不会进入订单簿,转换出的子订单随后才按场所当时的只挂单规则接受检验。

队列与生命周期语义同样取决于场所。价格时间优先很常见,但并非通用规则。修改价格、增加数量或撤单重挂通常会失去优先级;受支持的减量修改可能保留优先级。自成交防范可能取消或减少新订单、已挂订单或双方。只有有序的公开及私有事件才能证明实际发生了什么。

采用以下流程:

  1. 锁定交易场所、法律实体、产品、交易时段及 API 版本;记录最小变动价位、交易单位、最低名义金额、费用档位,以及可立即成交的只挂单会被拒绝、取消还是改价。
  2. 获取带时间戳且序列一致的最佳买价、最佳卖价和深度;明确方向、限价、数量、有效期、持仓模式、只挂单、只减仓、自成交防范及触发字段。
  3. 准确取整价格和数量,并预检穿价、价格区间、余额、保证金、订单上限及不兼容模式,同时以订单到达引擎时的状态为最终依据。
  4. 使用唯一客户订单 ID 提交;将传输成功与接受、挂簿或终态分开,并记录服务器订单 ID、时间戳及完整响应。
  5. 消费有序的订单和成交事件;核对累计成交量、剩余数量、成交 ID、价格、名义金额、流动性标志、费用或返佣币种,以及任何改变队列的修改。
  6. 在终态事件到达前,将改价、撤单及替换视为竞态;超时后以幂等方式重试,并在消息重复、缺失或乱序后重新同步。
  7. 将已成交、已取消、已拒绝或已过期的数量与库存、冻结资金及余额核对,再评估实际费用、返佣、逆向选择和错失成交;对于链上场所,另行验证纳入、协议执行及所需最终性。

示例

  • 穿价行为。 最佳买卖价为 99.90 / 100.00,最小变动价位为 0.01。一笔只挂买单 2 BTC at 100.00 会立即与卖价成交。拒绝型场所拒绝请求;取消型场所记录零成交并将其取消。改价型场所可将其移至 99.99,但前提是用户请求了这一有文件说明的行为。若引擎状态不变,买价 99.99 可能挂簿,但不保证成交。
  • 挂簿后的挂单方成交与费用。 一笔卖单 3 ETH at 99.90 在最佳买卖价为 99.80 / 100.00 时先挂簿,随后由主动买单成交。名义金额为 3 x 99.90 = 299.70。挂单方费率为 -1 bp 时,费用是 299.70 x -0.0001 = -0.02997,即获得返佣。若错误归类为 5 bp 吃单方费率,会产生 0.14985 费用,相差 0.17982。应使用实际流动性标志和费用记录。
  • 部分成交与撤单竞态。 一笔已挂的只挂卖单为 10 units at 100。先成交 4,随后客户发送撤单。在终态取消前又成交 1,最后取消剩余 5。总成交量为 5,不是 4;成交名义金额为 500,按 2 bp 返佣率得到 0.10。撤单确认回执不是最终库存记录。
  • 较低费用仍可能导致更高成本。 立即买入 10,成交价为 100.00,按 8 bp 吃单方费率共需 1,000.80。错过该价格后,以 100.20 挂簿并按 2 bp 挂单方费率成交,共需 1,002.2004。挂单路径节省 0.5996 费用,但总成本反而高出 1.4004。只挂单管理执行行为,不会自动优化完整交易。

风险

  • 假定了错误的交易场所或产品只挂单规则。
  • 可立即成交的订单意外被拒绝、取消或改价。
  • 报价延迟使客户端未穿价的价格在到达引擎时穿价。
  • 最小变动价位取整改变提交价格或穿价判断。
  • 锁定订单簿、集合竞价或特殊交易模式改变行为。
  • 已挂订单始终没有成交。
  • 逆向选择超过任何挂单返佣。
  • 费用档位、返佣符号或费用币种改变。
  • 根据订单请求而不是逐笔成交推断挂单方身份。
  • 低估排队深度或隐藏流动性。
  • 修改订单重置队列优先级。
  • 库存或现金账遗漏部分成交。
  • 撤单或替换竞态造成额外成交或重叠订单。
  • 超时或非幂等重试造成不确定或重复状态。
  • WebSocket 消息缺口、重复或乱序破坏本地视图。
  • 自成交防范意外取消或减少某一方订单。
  • 只挂单与 IOCFOK 或其他有效期规则冲突。
  • 只减仓、只平仓或持仓模式拒绝、缩减或反转意图。
  • 触发后的子订单变为可立即成交并被取消或拒绝。
  • 交易场所、托管、API 或规则失效,或链上排序、Gas、重组或最终性破坏对账。

常见误解

  • 只挂单保证成交。 它可能被拒绝、取消、挂而不成或过期。
  • API 成功响应证明订单已经挂簿。 传输确认与撮合引擎状态是不同记录。
  • 每笔只挂单成交都有返佣。 挂单方分类、费用档位、币种和费率均取决于具体成交与场所。
  • 修改或撤单可以阻止任何后续成交。 优先级可能重置,且成交可能在终态确认前赢得竞态。
  • 交易哈希或区块纳入证明链上订单已成为挂单方流动性并最终成交。 纳入、协议执行、挂簿状态、成交及链最终性是不同事件。

相关主题

来源

导航

搜索知识库...