一、订单簿基础:什么是订单簿、限价单与市价单、买卖盘口与价差
做量化交易这些年,我见过太多人一上来就盯着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 订单簿结构图
下面这张图,是我自己画的一个订单簿结构示意。它把买卖双方的挂单情况可视化出来,方便你理解市场的「深度」和「阻力位」。
你看这张图,买单墙和卖单墙像两座山对峙。中间那条「价差」的沟壑,就是做市商和套利者赚钱的空间。我个人习惯在价差较窄时做高频交易,价差较宽时做趋势策略——因为宽价差往往意味着市场情绪不稳定。
总结一下:订单簿是市场的「底层代码」。限价单提供流动性,市价单消耗流动性。买卖盘口和价差,是你判断市场状态的第一手信息。搞懂这些,你才算真正入了量化交易的门。