聚合深度与逐笔委托深度

聚合深度为每个价格档位报告一个数量总和,而逐笔委托深度(market by order,MBO)报告每一张挂单本身,带着它自己的标识、数量和队列优先级。这两条数据流描述的是同一个订单簿,但只有逐笔委托数据流能让一个平台跟踪一张委托的整个生命,并把撤单和成交分开。

Senzoukria · 术语表 · 更新于 2026 年 9 月


每条数据流携带什么

两类深度数据流
聚合(market by price)逐笔委托(market by order)
报文内容价格、方向、数量总和、委托笔数委托 id、价格、方向、数量、优先级
队列位置不可得可由优先级推出
撤销 / 修改 / 成交的区分只有总量的净变化每个事件都归属到某一张委托
带宽更低更高
授权取决于数据订阅在提供的地方是一项单独授权

从总量能推断什么、不能推断什么

  • 某个档位上总量下降,告诉你有数量离开了;它没法告诉你是一张委托被撤销,还是十张委托各自削减了一点。
  • 把一次减少与同一价格、同一时刻的一笔成交做匹配,支持「这些数量是被成交掉的」这一解读;但它并不能证明是哪一张委托成交了。
  • 冰山订单补单在两条数据流上都表现为反复补回,但只有逐笔委托数据流能显示这些补单是同一张委托还是新的委托。
  • 队列位置——在某个价格上排在你的委托前面有多少数量——需要逐笔委托数据流。

各交易所分别提供什么

CME 为其期货同时提供 market by price 和 market by order 两种数据流的文档;哪一种能到达平台,取决于挂在数据订阅上的授权,而不取决于平台的代码。加密货币交易所通常通过公开的 websocket 发布聚合深度快照和增量更新,不带委托标识。

在 Senzoukria 中

热力图屏幕用连接所交付的那条数据流来绘制深度。需要逐笔委托数据流的功能会自己说明:流动性追踪面板的空状态写着它需要逐笔委托(MBO)数据流,因为它读的是每一笔委托的生命轨迹,而不只是可见的总量。由聚合深度推导出来的读数会带上提示:由聚合订单簿推断得出,绝不会被呈现为 MBO 观测。

行情数据由供应商计费,深度授权是这项订阅的一部分;当数据流是聚合的时候,应用不会拿一个推断出来的逐笔委托视图去顶替它。

常见误区

  • 指望从一条聚合数据流得到队列位置或按委托的跟踪。
  • 以为一个宣传自己有热力图的平台就收到了完整的逐笔委托数据流。
  • 把两条数据流画出来的深度画面当成覆盖范围相同来作比较。

其他语言版本

常见问题

用热力图必须要有逐笔委托数据吗?
不必。热力图画的是每个价格上随时间变化的挂单量总和,而这是聚合深度就能提供的。逐笔委托数据流增加的是把变化归属到具体委托的能力,那支撑着流动性追踪和队列估算。画面是一样的;不同的是归属。
聚合深度能区分撤单和成交吗?
只能靠推断。如果某个档位的总量下降的同时,那个价格上打印出了数量相当的一笔成交,那么这次下降与一次成交是一致的。如果没有任何成交打印,那这次下降是一次撤销或一次修改。这种推断常常是对的,但它是两条数据流之间的一种相关性,而不是一个被观测到的事件。
为什么处理逐笔委托数据流的成本更高?
因为每一个委托事件都是一条报文。一个流动性好的股指期货产生的委托提交、修改和撤销,远远多于成交,因此报文速率是聚合数据流的好几倍。平台必须处理并保存每一个事件,才能重建委托的生命轨迹,这比维护每个价格上的总量要重得多。

继续阅读