一、订单簿基础:什么是订单簿、限价单与市价单、买卖盘口与价差

做量化交易这些年,我见过太多人一上来就盯着K线猛看,却忽略了最底层的东西——订单簿。说实话,订单簿才是市场最真实的脉搏。K线是加工过的二手信息,而订单簿是原始数据,是买卖双方真金白银的博弈现场。

1.1 什么是订单簿?

订单簿,说白了就是一个实时更新的「挂单账本」。它记录了所有交易者挂出的限价单——谁想买、谁想卖、什么价格、多少数量。

我习惯把订单簿想象成一个「双向排队系统」:

  • 买单排队:买方挂出的限价买单,按价格从高到低排列
  • 卖单排队:卖方挂出的限价卖单,按价格从低到高排列

中间那个空隙,就是当前价格无法成交的「价差区间」。嗯,这里要注意:订单簿不是静态的,它每毫秒都在变化。我在项目中遇到过,有些高频策略就是靠捕捉订单簿的瞬间失衡来盈利的。

核心要点:订单簿反映了市场的深度和流动性。深度越厚,大单对价格的冲击越小;流动性越好,买卖价差通常越窄。

1.2 限价单 vs 市价单

这两种订单类型,是交易中最基础的操作。但很多人其实没搞懂它们的本质区别。

限价单(Limit Order)

你指定一个价格,只有市场达到这个价格时才会成交。说白了,你是「守株待兔」——挂在那等别人来吃你的单子。

  • 优点:你可以控制成交价格,不会滑点
  • 缺点:可能永远无法成交,或者成交速度慢
  • 我常用的场景:做市策略、挂单吃深度、网格交易

市价单(Market Order)

你不指定价格,直接按当前最优价格立即成交。你想想看,这就像冲进菜市场喊「我要买10斤白菜,现在就要!」——价格由卖家说了算。

  • 优点:立即成交,确定性高
  • 缺点:可能产生较大的滑点,尤其在流动性差的时候
  • 避坑指南:我曾经在ETH流动性稀薄时下了一笔大额市价单,结果滑了0.3%,直接亏掉几千块。从那以后,大单我必用限价单或拆单算法。

实战技巧:我个人习惯把限价单和市价单配合使用。比如,先用限价单挂一部分仓位,如果行情快速突破,再用市价单追单。这样既控制了成本,又不错过机会。

1.3 买卖盘口与价差

买卖盘口,就是订单簿上最前面的几档价格。通常我们看「买一」「卖一」「买二」「卖二」……

  • 买一(Bid 1):当前最高的买入价格
  • 卖一(Ask 1):当前最低的卖出价格
  • 价差(Spread) = 卖一价格 - 买一价格

价差是衡量市场流动性的重要指标。价差越小,说明市场越活跃,交易成本越低。反之,价差大说明流动性差,或者市场波动剧烈。

举个例子:

盘口 价格(USDT) 数量(BTC)
卖三 30,010 2.5
卖二 30,005 1.8
卖一 30,000 3.2
—— 价差 2 USDT ——
买一 29,998 4.1
买二 29,995 2.0
买三 29,990 3.6

这个例子中,价差只有2 USDT,说明BTC/USDT这个交易对流动性很好。如果价差突然扩大到10 USDT以上,我通常会暂停交易,等市场恢复稳定再说。

⚠️ 注意:价差不是固定不变的。在重大新闻发布前后、开盘/收盘时段、或者市场剧烈波动时,价差会急剧扩大。这时候做市商往往会撤单,导致深度变薄。我曾经在非农数据公布时吃过这个亏——价差瞬间从1个tick扩大到10个tick,市价单直接被打穿了好几档。

1.4 订单簿结构图

下面这张图,是我自己画的一个订单簿结构示意。它把买卖双方的挂单情况可视化出来,方便你理解市场的「深度」和「阻力位」。

订单簿结构示意图 卖单墙(Ask Side) 卖三 30,010 2.5 BTC 卖二 30,005 1.8 BTC 卖一 30,000 3.2 BTC 价差(Spread)= 2 USDT 买单墙(Bid Side) 买一 29,998 4.1 BTC 买二 29,995 2.0 BTC 买三 29,990 3.6 BTC 价格递减方向 价格递减方向 买单从高到低排列,卖单从低到高排列,中间价差为当前最小交易成本

你看这张图,买单墙和卖单墙像两座山对峙。中间那条「价差」的沟壑,就是做市商和套利者赚钱的空间。我个人习惯在价差较窄时做高频交易,价差较宽时做趋势策略——因为宽价差往往意味着市场情绪不稳定。

总结一下:订单簿是市场的「底层代码」。限价单提供流动性,市价单消耗流动性。买卖盘口和价差,是你判断市场状态的第一手信息。搞懂这些,你才算真正入了量化交易的门。

专注资料整理