3、订单簿动态分析:买卖盘口深度、价差分析、订单簿斜率、订单簿不平衡指标
好,咱们进入正题。
订单簿,说白了就是交易所里那个实时滚动的「挂单大表」。你打开任何一个交易软件的深度图,看到的那两条曲线,背后就是订单簿。我做了这么多年量化,可以负责任地告诉你:订单簿是市场微观结构的核心。它比K线更原始,比成交量更细腻。
这一节,我们拆解四个关键维度:盘口深度、价差、订单簿斜率、订单簿不平衡。掌握了它们,你就能在订单流异常爆发前,嗅到危险的味道。
3.1 买卖盘口深度:谁在托底,谁在压盘?
盘口深度,就是看「买一到买五」和「卖一到卖五」各自堆了多少量。我习惯用累积深度这个指标。
买方累积深度 = 买一量 + 买二量 + 买三量 + 买四量 + 买五量
卖方累积深度 = 卖一量 + 卖二量 + 卖三量 + 卖四量 + 卖五量
为什么看累积?因为单看买一卖一容易被「钓鱼单」骗。我曾经遇到过一个大户,在卖一挂了1000手,结果我一吃单,他立马撤单,后面全是空单。嗯,这就是典型的「虚挂」。累积深度能平滑这种噪音。
实战中,我一般这样用:
- 买方深度远大于卖方:下方承接力强,价格难跌。但要注意,如果买方深度突然暴增,可能是主力在托价出货。
- 卖方深度远大于买方:上方抛压重,价格难涨。同样,如果卖方深度突然暴增,小心是压盘吸筹。
- 深度骤降:流动性枯竭的前兆。一旦出现,我通常会立刻缩小仓位。
3.2 价差分析:流动性的体温计
价差,就是卖一价减去买一价。它直接反映了市场的交易成本。
很多人觉得价差越小越好。其实不然。我见过太多人在价差极小的震荡市里频繁刷单,结果一次黑天鹅,价差瞬间拉大到几十个tick,直接爆仓。
我一般关注三个价差指标:
| 指标 | 含义 | 我的经验阈值 |
|---|---|---|
| 绝对价差 | 卖一价 - 买一价 | 超过过去100笔均值的3倍,视为异常 |
| 相对价差 | 绝对价差 / 中间价 | 超过0.1%就要小心(针对主流币/股) |
| 价差波动率 | 价差的标准差(过去20笔) | 突然放大,说明做市商在撤退 |
举个例子。有一次我在监控一个山寨币,平时价差稳定在0.01 USDT左右。突然价差跳到0.08 USDT,而且持续了3秒没恢复。我立刻意识到:做市商跑了。果不其然,紧接着就是一根大阴线。那次我提前挂了卖单,躲过一劫。
3.3 订单簿斜率:判断多空力量的「坡度」
订单簿斜率,听起来玄乎,其实就是看订单簿的「形状」。你想想看,如果买单从买一到买五,量越来越小,那斜率就是正的(向上倾斜)。如果卖单从卖一到卖五,量越来越大,那斜率就是负的(向下倾斜)。
我一般用线性回归来算斜率。代码很简单:
def orderbook_slope(levels, volumes):
"""
levels: 价格档位列表(如 [买一价, 买二价, ...])
volumes: 对应档位的挂单量
返回:斜率值(正数表示买方支撑强,负数表示卖方压力大)
"""
import numpy as np
x = np.array(levels)
y = np.array(volumes)
# 最小二乘法拟合
A = np.vstack([x, np.ones(len(x))]).T
slope, intercept = np.linalg.lstsq(A, y, rcond=None)[0]
return slope
实战中,我总结了几种典型形态:
- 买方斜率 > 0,卖方斜率 < 0:正常状态,多空均衡。
- 买方斜率 > 0 且数值很大:买方在底部密集挂单,支撑很强。但小心是「托单诱多」。
- 卖方斜率 < 0 且绝对值很大:卖方在顶部密集挂单,压力很大。但小心是「压单诱空」。
- 斜率突然翻转:比如买方斜率从正变负,说明下方支撑在瓦解。这是我个人最警惕的信号。
3.4 订单簿不平衡指标:量化「一边倒」的程度
这个指标,说白了就是看买卖双方谁更「用力」。我常用的公式是:
取值范围:[-1, 1]。正数表示买方占优,负数表示卖方占优。
为什么用这个公式?因为它归一化了,不管你是比特币还是山寨币,OBI都可以直接比较。
我一般设置三个阈值:
- OBI > 0.6:严重买方不平衡。价格可能急涨,但也可能是「最后的疯狂」。
- OBI < -0.6:严重卖方不平衡。价格可能急跌,但也可能是「恐慌性抛售的底部」。
- OBI 在 -0.2 到 0.2 之间:多空均衡,适合观望或做网格。
我记得有一次,一个品种的OBI突然从0.3飙到0.85,但价格只涨了0.5%。我当时就觉得不对劲——买方这么用力,价格却推不动?这明显是「滞涨」。我立刻平掉了所有多头仓位。10分钟后,价格暴跌3%。
3.5 把这些指标串起来:一个完整的监控框架
好了,四个指标都讲完了。但单独看任何一个,都容易误判。我习惯把它们组合成一个「异常评分系统」。
下面是我自己用的一个简化版框架,用SVG画出来给你看:
这个框架的流程很简单:
- 实时采集盘口深度、价差、斜率数据。
- 计算累积深度比、价差波动率、斜率变化率。
- 结合OBI,给每个维度打分(0-100分)。
- 总分超过阈值(比如250分),触发预警。
我自己的系统里,还会给每个维度加一个权重。比如在震荡市中,价差波动率的权重我会调高;在趋势市中,OBI和斜率的权重我会调高。说白了,没有一套参数打天下,你得根据市场状态动态调整。
好了,订单簿动态分析的核心内容就这些。记住,这四个指标不是孤立的,它们是一个整体。你盯盘的时候,要像看仪表盘一样,同时关注它们的变化。任何一个指标出现极端值,都值得你停下来想一想:市场到底在发生什么?