1. 订单簿基础:什么是订单簿、买卖盘口、深度图概念、限价单与市价单

大家好,我是老张。今天咱们聊聊订单簿——这个在量化交易里最基础、也最核心的东西。说实话,我刚开始接触交易系统时,觉得订单簿不就是个买卖列表嘛,有啥好研究的?后来在实盘项目中吃过亏,才明白这里面门道深着呢。

1.1 什么是订单簿?

订单簿,英文叫 Order Book。说白了,它就是交易所用来记录所有未成交订单的电子账本。你想想看,交易所里那么多人同时下单,谁想买、谁想卖、出什么价、要多少量,总得有个地方记下来吧?这个「地方」就是订单簿。

我个人习惯把订单簿理解成一个「动态的排队系统」。买家排一队,卖家排一队,价格优先、时间优先。谁出的价好,谁就先成交。

核心要点:订单簿记录了市场上所有「尚未成交」的买卖意愿。它是市场微观结构的直接体现。

我在项目中遇到过一件事:有一次我们监控某个小币种的订单簿,发现买单深度突然变薄了,但价格却没怎么动。当时团队里有人觉得没事,我坚持查了一下——原来是某个做市商在撤单。果不其然,半小时后价格暴跌了 5%。嗯,订单簿的变化往往比价格更早反映市场情绪。

1.2 买卖盘口:Bid 和 Ask

订单簿分两边:

  • 买盘(Bid Side):所有想买入的人,按出价从高到低排列
  • 卖盘(Ask Side):所有想卖出的人,按出价从低到高排列

这里有个关键概念叫「盘口」。盘口就是订单簿最前面那几档价格。比如:

档位 买价(Bid) 买量 卖价(Ask) 卖量
1 100.00 1.5 BTC 100.10 2.0 BTC
2 99.90 3.0 BTC 100.20 1.8 BTC
3 99.80 2.5 BTC 100.30 3.2 BTC

最高买价叫 Best Bid,最低卖价叫 Best Ask。它们之间的差价就是 Spread(价差)。价差越小,说明市场流动性越好。

我的经验:看盘口别只看第一档。有时候第一档只有一点点量,第二档才是真正的「战场」。我曾经就因为只看第一档,结果一个大单直接把价格打穿了两档,亏了不少手续费。

1.3 深度图:把订单簿画出来

深度图(Depth Chart)就是把订单簿可视化。横轴是价格,纵轴是累计数量。买盘从右往左画,卖盘从左往右画,两条线一交叉,中间那个缺口就是当前的市场状态。

为什么会这样?因为深度图能直观告诉你:

  • 在某个价格区间,有多少买单在「托底」
  • 在某个价格区间,有多少卖单在「压顶」
  • 市场在哪个位置有「支撑」或「阻力」

下面是我用 SVG 画的一张简化版深度图结构,帮你理解这个逻辑:

订单簿深度图结构示意 当前价 ← 买盘深度(Bid) 卖盘深度(Ask)→ 价差(Spread) 0 累计量 低价 高价

你看,红色是买单累积,绿色是卖单累积。两条线越陡,说明那个价位堆积的量越大。如果买单线很平缓,说明下方支撑弱,价格容易往下掉。

注意:深度图是「静态快照」。实盘中深度图每秒都在变。我曾经见过一个币,深度图在 3 秒内从「厚实」变成「薄如蝉翼」,然后价格直接崩了。所以做实时监控时,一定要关注深度图的变化速度,而不仅仅是当前形状。

1.4 限价单与市价单

这两种订单类型,是交易系统里最基础的「武器」。

限价单(Limit Order)

你指定一个价格,只有市场达到这个价格时才会成交。比如你挂一个「买入 BTC,限价 100.00」,那只有卖盘价格降到 100.00 或以下时,你的单子才会被吃掉。

限价单的特点是:

  • 你能控制成交价格
  • 但不保证一定能成交(可能永远到不了你的价)
  • 它成为订单簿的一部分,为市场提供流动性

市价单(Market Order)

你不指定价格,直接说「我要买 1 个 BTC,按当前最优价成交」。系统会从 Best Ask 开始,一档一档地吃,直到买够量为止。

市价单的特点是:

  • 保证成交,但不保证价格
  • 它会「吃掉」订单簿上的对手盘
  • 大额市价单会造成明显的价格滑点

关键区别:限价单是「挂单」,市价单是「吃单」。挂单提供流动性,吃单消耗流动性。交易所通常会给挂单者手续费优惠,给吃单者收更高的手续费。

我记得有一次做回测,我写了个策略只用市价单。结果回测收益看着不错,一上实盘就亏。为什么?因为回测时没考虑滑点。实盘里一个大市价单下去,价格直接滑了两三档,成本高出一大截。从那以后,我所有策略都默认用限价单,除非有特殊原因才切市价。

1.5 三者之间的关系

订单簿、盘口、深度图,其实是一回事的三个视角:

  • 订单簿是原始数据——一堆订单排在那里
  • 盘口是订单簿的「精华摘要」——只看最前面几档
  • 深度图是订单簿的「可视化」——把数据画成图

而限价单和市价单,就是操作订单簿的两种方式。限价单往订单簿里加东西,市价单从订单簿里拿东西。一加一拿,市场就流动起来了。

一个小技巧:如果你想判断市场情绪,可以看盘口的「挂单比」——买一档的量除以卖一档的量。比值大于 1 说明买方意愿强,小于 1 说明卖方压力大。当然,这只是个参考,别迷信单一指标。

好了,订单簿的基础概念就聊到这儿。这些东西看着简单,但真正用好它们,需要你在实盘中反复体会。下一节我们会深入订单簿的数据结构,看看怎么用 Python 把订单簿数据抓下来、存起来、算起来。


专注资料整理