第八章 订单流失衡(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 失衡阈值设定

阈值怎么设?这是很多新手头疼的地方。我曾经也踩过坑——直接用固定阈值,结果在波动率不同的品种上反复打脸。

后来我总结了一套方法:

  1. 基于历史分位数:取过去N根K线的失衡值,计算80%、90%、95%分位数作为阈值
  2. 动态调整:根据近期波动率(比如ATR)缩放阈值
  3. 品种自适应:不同品种单独计算,不共用参数

代码实现大概是这样的:

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线是否验证了信号。

总结一下:订单流失衡不是简单的「买多就涨、卖多就跌」。真正的价值在于识别「失衡的极限」和「失衡的变化」。阈值要动态调,信号要交叉验证,别指望一个指标吃遍天。

好了,这一章的内容就到这里。失衡这块东西比较多,建议你边看边写代码跑跑数据。纸上得来终觉浅,绝知此事要躬行。