订单簿快照(order book snapshot)

订单簿快照是订单簿在某一瞬间的完整状态:每一侧所有被发布的价格档位及其挂单手数。数据流先发一份快照把使用方初始化或重新对齐,随后只发增量更新;你看到的那张阶梯,永远是最近一份快照加上此后套用的所有更新。

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


快照加更新

深度数据流太繁忙,不可能每变一次就把整本订单簿重发一遍,所以它分两部分工作。快照一次性给出全部被发布的档位。此后的更新只描述变化:这一档现在是这个手数、这一档被移除、这张委托被新增。使用方按序列号顺序套用它们。一旦检测到序列号断档,使用方就会请求或等待一份新的快照,因为手上这本订单簿已经不可信了。

因此快照既是一条数据消息,也是一个时间点。相隔一秒的两份快照是两本不同的订单簿,而两份快照中的任何一份,都说不出这一秒里发生了什么。

单张快照能确认什么

  • 那一瞬间,每一侧每个被发布档位上的挂单手数。
  • 最优买卖价及它们之间的价差。
  • 从最上一档往外累加的累计深度。
  • 它无法确认意图,无法确认某个档位会不会守住,也无法确认那笔看起来很大的手数在价格到达时还在不在。

在 Senzoukria 里

热力图界面上的 DOM 阶梯,就是被实时维护着的当前快照:订单簿深度画在图表上每个价格的精确高度处,右侧的 L2 面板则是你真正去读的那张表。热力图是这些快照沿时间画出来的序列,所以引导式教程把阶梯和热力图描述为「同一份深度的两种看法」。阶梯上颜色变淡的档位,是本时段更早出现过、如今已不在实时订单簿里的价位——于是显示保留了一份裸快照所没有的记忆。

加密的「Historical order book」视图由一个 UTC 日内每秒一份快照构成,没有观测的地方留空。Binance 和 Bybit 的快照与更新处理遵循各交易场所公布的序列规则;一旦检测到断档,订单簿会重新对齐,而不是打补丁凑合。

常见的错误

  • 把一张 DOM 截图当成流动性行为的证据:它显示的是当时挂着什么,不是接下来发生了什么。
  • 看到某张快照里一堵墙消失就认定是幌骗;撤单是可观测的,原因不是。
  • 序列号断档之后仍把过时的订单簿当作实时数据用,而不是等那份重新对齐的快照。

其他语言版本

常见问题

一条数据流多久发一次完整快照?
通常只在建立连接时和检测到断档之后发;其余时间只发增量更新。有些交易场所还会周期性地发布快照作为兜底。具体节奏由各场所的文档规定,使用方应当照着它来,而不是靠猜。
快照和 DOM 阶梯是一回事吗?
阶梯是把最近一份快照套用此后收到的每一条更新之后渲染出来的结果。从这个意义上说,它是一份实时快照。区别在于,阶梯可以附带记忆,比如把更早看到过的档位画成淡色;而一条原始快照消息只包含某一瞬间的订单簿。
为什么热力图光有快照还不够?
热力图画的是深度随时间的变化,所以它需要一串订单簿状态。周期性快照给出的是一串粗糙的序列,会漏掉每个间隔内部的变化;把每一条更新都套上去,才得到精确的序列。一张热力图的精细度如何,取决于深度是怎么接收或录制下来的。

继续阅读