订单簿
订单簿是交易所为某个品种保存的挂单限价单清单,按价格组织:买单(bid)在市场价格下方,卖单(ask)在上方。它是 DOM 阶梯、流动性热力图和订单流失衡度量背后的源数据。
Senzoukria · 术语表 · 更新于 2026 年 9 月
订单簿的结构
订单簿的每一侧都是一串排好序的价位。买方一侧最高价排在最前;卖方一侧最低价排在最前。每个价位上,订单簿要么保存一个聚合后的可见数量(按价位,MBP),要么保存排队顺序中的一张张订单(按订单,MBO)。第一个买价和第一个卖价之间的空隙就是点差。
当一张到来的订单跨过点差时就产生成交:一张市价买单,或者一张限价不低于最优卖价的买单,会与挂着的卖单撮合。挂着的那一侧是被动方;跨过来的那一侧是主动方。足迹图按价格和方向记录这次成交;订单簿记录的是之后还剩下什么。
- 订单簿更新以新增、撤单、修改和成交的形式到达。某个价位的数量变了,并不能说明是其中哪一种,除非行情携带这些事件。
- 使用冰山订单时,可见数量可能只是真实数量的一小部分。
- 订单簿深度与成交是两份独立的数据集;一份成交存档无法重建订单簿。
读变化,而不是读快照
- 订单流失衡(OFI)在一个窗口内累加最优买价和最优卖价数量的变化,把买价数量增加或卖价数量减少视为买方压力,反之视为卖方压力。它度量的是订单簿的变化,不是成交。
- 某一侧叠起来的多层挂单,描述的是市场要穿过去就得先成交掉的一层货架;它守不守得住,是之后观察到的,不是推断出来的。
- 热力图把订单簿的历史记录下来,于是墙、撤单和补单从一闪而过变成了可辨认的形态。
- 行情断档产生的是未知状态;一个没有被上报的价位,不是一个数量为零的价位。
在 Senzoukria 中
订单簿在热力图页面上有三种画法:沿时间展开的热力图色带;右侧的 DOM 阶梯和 DOM 分布;以及画在图表上的「DOM 阶梯」叠加层,其中「Bid——挂着的买单」和「Ask——挂着的卖单」分别着色。「最低门槛(手)」设置和 DOM 分布的「最小数量」会隐藏小的挂单价位,好让墙独自显现出来;后者的提示写明:一旦大于零,这张分布显示的就不再是订单簿,而是那些墙。
流动性追踪面板需要逐订单行情(MBO):它的空状态写着,它读的是每一张订单的生命周期,而不只是可见的合计数。Rithmic 和 Databento 按授权提供 CME 订单簿;Bybit 提供被记录下来的加密货币订单簿历史;经纪商的 tick 历史只含成交,不含订单簿。
常见误区
- 把可见深度当成可用流动性。价格到达之前订单可以被撤走。
- 把一家交易场所的成交和另一家的订单簿并在一起,当成一份对得上的历史。
- 把每一个消失的价位都叫幌骗。DOM 阅读指南指出:撤单是可观测的,意图不是。
- 以为 MBP 行情能显示排队位置。只有 MBO 才携带一张张订单。
相关内容
其他语言版本
常见问题
- 订单簿和成交明细有什么区别?
- 订单簿列的是正等着成交的订单;成交明细,也就是时间与成交,列的是已经发生的成交。每一笔成交都会从订单簿上拿走数量,所以两者是相连的;但订单簿还会因为撤单和从未成交的新订单而变化。足迹图由成交明细构建,热力图由订单簿构建。
- 为什么不同数据供应商的订单簿不一样?
- 各供应商在携带的价位数量、交付 MBP 还是 MBO、更新频率,以及断档如何处理上都有差别。所以同一品种的两条阶梯,在同一时刻可能显示不同的数量。比较之前先确认深度授权和行情类型。