第八章 订单流失衡(Imbalance)
订单流失衡,说白了就是买卖双方的力量对比出现了明显倾斜。我刚开始做订单流交易时,总觉得价格涨跌就是资金进出的结果。后来发现,真正决定价格方向的,是买卖盘口上的「供需失衡」。
你想想看,如果买单比卖单多出一大截,价格会怎么走?大概率要涨。但问题在于——多多少才算「失衡」?这就是我们今天要聊的核心。
8.1 买卖盘口失衡计算
盘口失衡的计算其实不复杂。我习惯用「逐笔委托数据」来算,而不是只看盘口五档。为什么呢?因为五档数据太粗糙了,真正的失衡往往藏在更深的位置。
先看一个基础公式:
Imbalance = BidVolume - AskVolume
其中:
- BidVolume:买方委托总量(通常取前几档或全档)
- AskVolume:卖方委托总量
但我在项目中遇到过一个问题:直接用总量算,容易被大单刷量干扰。比如某个价位挂了一笔1000手的买单,但其他价位只有几十手,算出来的失衡值会失真。
所以我后来改用「加权失衡」:
WeightedImbalance = Σ(BidVol_i * Weight_i) - Σ(AskVol_i * Weight_i)
权重怎么设?我一般用距离当前价格的价差倒数。越近的价位权重越高,越远的越低。这样算出来的失衡值更贴近真实博弈状态。
核心要点:失衡计算的关键不是「算得准」,而是「算得对」。不同品种、不同周期,权重参数需要单独调优。
8.2 订单流压力指标
光有失衡值还不够。我习惯再构建几个压力指标,用来衡量「失衡的持续性」和「失衡的爆发力」。
常用的几个指标:
| 指标名称 | 计算方式 | 用途 |
|---|---|---|
| 累积失衡 | 连续N笔的Imbalance累加 | 判断趋势强度 |
| 失衡比率 | BidVolume / (BidVolume + AskVolume) | 衡量买卖占比 |
| 压力指数 | Imbalance / 总成交量 | 标准化后的失衡强度 |
| Delta加速 | 当前Delta - 前N笔Delta均值 | 捕捉失衡突变 |
我个人最常用的是「压力指数」。为什么呢?因为它把失衡值和成交量做了归一化处理。举个例子:
- 场景A:失衡值1000,总成交量5000 → 压力指数0.2
- 场景B:失衡值1000,总成交量20000 → 压力指数0.05
同样是1000的失衡,场景A的压力明显更大。你想想看,如果不用压力指数,很容易被绝对数值误导。
我的经验:压力指数超过0.3时,我会开始关注反转信号。超过0.5时,基本可以确认短期方向。
8.3 失衡阈值设定
阈值怎么设?这是很多新手头疼的地方。我曾经也踩过坑——直接用固定阈值,结果在波动率不同的品种上反复打脸。
后来我总结了一套方法:
- 基于历史分位数:取过去N根K线的失衡值,计算80%、90%、95%分位数作为阈值
- 动态调整:根据近期波动率(比如ATR)缩放阈值
- 品种自适应:不同品种单独计算,不共用参数
代码实现大概是这样的:
def calc_threshold(imbalance_series, quantile=0.9):
return np.percentile(imbalance_series, quantile * 100)
def dynamic_threshold(base_threshold, atr, atr_ma):
# 波动率越大,阈值越宽松
return base_threshold * (atr / atr_ma)
嗯,这里要注意:阈值不是越大越好。阈值设太高,信号太少;设太低,假信号太多。我一般先用90%分位数做初始值,然后根据回测结果微调。
避坑指南:我曾经在股指期货上用了商品期货的阈值参数,结果连续三天信号全错。不同品种的订单流特征差异很大,千万别偷懒共用参数。
8.4 失衡与反转信号
失衡最大的价值,在于捕捉反转信号。我总结了几种典型的反转模式:
模式一:极端失衡后的衰竭
当失衡值连续放大到历史极值区域,但价格却不再创新高/新低。这说明什么?说明买卖双方的力量已经用尽了。我记得有一次在螺纹钢上,失衡值冲到95%分位数,价格却只涨了0.3%,随后半小时内暴跌2%。
模式二:失衡背离
价格创了新高,但失衡值却比前一波低。这就是典型的「量价背离」。我习惯用这个信号做左侧交易,胜率大概在65%左右。
模式三:失衡突变
前一秒还是买方失衡,下一秒突然变成卖方失衡,而且幅度很大。这种突变往往意味着主力资金在转向。我一般会等第二根K线确认后再入场。
下面是我画的一张失衡反转逻辑图:
这张图展示了我处理失衡反转的完整流程。从原始数据开始,经过计算、指标、阈值三层过滤,最后落到三种反转模式上。每个环节都可能有噪声,所以我会在最终决策前再加一道确认——比如看第二根K线是否验证了信号。
总结一下:订单流失衡不是简单的「买多就涨、卖多就跌」。真正的价值在于识别「失衡的极限」和「失衡的变化」。阈值要动态调,信号要交叉验证,别指望一个指标吃遍天。
好了,这一章的内容就到这里。失衡这块东西比较多,建议你边看边写代码跑跑数据。纸上得来终觉浅,绝知此事要躬行。