2. 订单簿与市场微观结构:限价订单簿(L2/L3)、买卖盘口、价差与深度、订单簿动态变化
做市策略的核心,说白了就是跟订单簿打交道。
你想想看,我们做市商赚的是什么钱?赚的是买卖价差,赚的是流动性提供者的返佣。但这一切的前提,是你得先看懂订单簿这个「战场地图」。我个人习惯把订单簿比作一个实时更新的拍卖场——有人在喊价买入,有人在喊价卖出,而做市商就是那个站在中间不断调整报价的「庄家」。
2.1 限价订单簿:市场的「实时账本」
限价订单簿(LOB),就是交易所维护的一个电子账本。它记录了所有交易者挂出的限价单——也就是那些「我愿意在这个价格买/卖,但我不着急成交」的订单。
我刚开始做量化的时候,总觉得订单簿就是简单的买一卖一。后来踩过坑才发现,L2和L3的数据深度完全不同。
- L2(Level 2):显示每个价格档位的聚合总量。比如买一价100元挂了1000股,买二价99.9元挂了2000股。你看不到具体是谁在挂单。
- L3(Level 3):显示每一笔独立订单的详细信息。你能看到某个价格上有3个不同的交易者各挂了500股。这在做市策略中非常关键——你可以识别出「大单」和「小散」的行为模式。
我记得有一次做回测,用的L2数据,策略表现很好。但实盘一跑就亏钱。后来排查发现,L2的聚合数据掩盖了「冰山订单」的存在——一个大户把1万股拆成10个1000股挂在同一个价位,L2看起来只是1万股,但L3能告诉你这是10个独立订单。嗯,这里要注意,如果你的策略依赖订单簿的微观特征,尽量用L3数据。
2.2 买卖盘口:做市商的「前线阵地」
买卖盘口,就是订单簿上最靠近当前成交价的那些价格档位。通常我们关注的是买一到买五,卖一到卖五。
为什么做市商特别关注盘口?因为你的报价就挂在这里。你挂的买单在买一,卖单在卖一,你的利润就来自这两个价格之间的价差。
- 买卖盘口厚度:买一和卖一各自挂了多少量。厚度越大,说明这个价位的支撑/阻力越强。
- 盘口失衡:买盘总量 vs 卖盘总量。如果买盘明显大于卖盘,价格大概率要涨。反之亦然。
- 价差宽度:卖一价 - 买一价。价差越窄,市场流动性越好。
我曾经在回测中犯过一个低级错误:只看了买一卖一的价差,没看盘口厚度。结果策略在盘口很薄的时候频繁成交,滑点大得吓人。后来我加了一个条件——只有当买一和卖一的挂单量都超过某个阈值时,才启动做市。效果立竿见影。
2.3 价差与深度:流动性的「温度计」
价差和深度,是衡量市场流动性的两个核心维度。
- 价差(Spread):卖一价 - 买一价。价差越小,说明买卖双方的价格分歧越小,流动性越好。做市商的利润空间也越小。
- 深度(Depth):在某个价格附近能成交多少量。深度越深,说明市场能吸收大额订单而不引起价格剧烈波动。
我习惯用「流动性热力图」来观察这两个指标。比如在BTC/USDT交易对中,价差可能在0.01%以内,但深度可能只有几十个BTC。而在ETH/USDT中,价差可能稍大,但深度能达到几百个ETH。不同品种的做市策略,参数设置完全不同。
2.4 订单簿动态变化:捕捉「市场心跳」
订单簿不是静止的。每一秒都有新的订单进来,旧的订单被撤掉,或者成交。做市商必须实时感知这些变化,并快速调整自己的报价。
我个人把订单簿的动态变化分为三类:
- 订单到达:新的限价单进入订单簿。这会影响盘口的厚度和价差。
- 订单撤销:交易者撤单。这往往是市场情绪变化的信号——比如大量买单被撤,可能意味着多头在撤退。
- 订单成交:市价单吃掉限价单。这是最直接的「价格发现」过程。
我常用的一个技巧是监控「订单簿的斜率变化」。具体来说,就是计算买盘和卖盘在不同价格档位的累积量变化率。如果卖盘的斜率突然变陡,说明卖压增大,我会考虑缩小卖单的价差,或者暂时撤单观望。
下面是我画的一张订单簿动态变化示意图,帮你直观理解这个过程:
2.5 实战中的订单簿分析框架
说了这么多理论,来点实际的。我平时做订单簿分析,会按以下步骤来:
- 数据清洗:剔除异常数据(比如价格突变、挂单量为0的档位)。
- 计算核心指标:价差、盘口厚度、买卖盘失衡度、深度斜率。
- 识别模式:比如「大单托底」模式(买一突然出现巨量挂单)或「空头压顶」模式(卖一突然堆满卖单)。
- 动态调整报价:根据当前订单簿状态,调整自己的挂单价格和数量。
举个例子。假设我在做ETH/USDT的做市,当前订单簿如下:
| 档位 | 买价 | 买量 | 卖价 | 卖量 |
|---|---|---|---|---|
| 1 | 3000.00 | 100 ETH | 3000.10 | 80 ETH |
| 2 | 2999.90 | 200 ETH | 3000.20 | 150 ETH |
| 3 | 2999.80 | 300 ETH | 3000.30 | 250 ETH |
从这张表能看出什么?
- 价差是0.10 USDT,不算大,流动性还可以。
- 买盘总量(100+200+300=600 ETH)大于卖盘总量(80+150+250=480 ETH),说明买盘更强。
- 但卖一的挂单量只有80 ETH,比买一的100 ETH少。这意味着如果突然来一个市价卖单,很容易把卖一吃掉,价格可能往下走。
嗯,这里要注意。如果我是做市商,我会选择在买一和卖一之间挂单,比如买一挂3000.05,卖一挂3000.15。这样既能吃到价差,又不会离市场太远。但如果我发现卖一的挂单量突然减少到20 ETH,我会立刻撤掉卖单——因为价格可能随时跳水。
最后说一句,订单簿分析没有银弹。不同市场、不同品种、不同时间段的微观结构都不一样。你需要花时间去「感受」你的交易品种的订单簿脾气。就像我常跟团队说的:先跟订单簿做朋友,再跟它做交易。
公众号:蓝海资料掘金营,微信deep3321