12、订单流指标计算:累积Delta、订单流动量、买卖压力比、订单流强度指数、资金流量指标
好,咱们今天来啃订单流指标这块硬骨头。说实话,这五个指标是订单流交易系统的核心引擎。你前面搭好了数据管道,接入了逐笔成交和挂单数据,接下来就得靠这些指标把原始数据翻译成交易信号。
我个人习惯把这五个指标分成两类:基础型和复合型。累积Delta和订单流动量是基础,买卖压力比、订单流强度指数、资金流量指标是在它们基础上加工出来的。咱们一个一个来拆。
12.1 累积Delta(Cumulative Delta)
累积Delta,说白了就是「主动性买盘减去主动性卖盘」的累计值。每一笔成交,系统都会判断它是买方主动吃单还是卖方主动砸盘。如果是买方主动,Delta加1;卖方主动,Delta减1。
嗯,这里要注意:判断主动方向的关键是看成交价和买卖盘口的匹配关系。成交价等于卖一价,那就是买方主动;等于买一价,那就是卖方主动。
核心公式:
Delta = 主动买量 - 主动卖量
CumulativeDelta(t) = Σ(Delta_i),i从1到t
我在项目中遇到过一个问题:有些交易所的逐笔成交数据里没有标记主动方向,需要自己算。这时候就得拿成交价和当时的买卖盘口做对比。但盘口数据更新很快,如果时间戳对不齐,很容易算错。我的解决方案是——用毫秒级时间戳做关联,宁可丢掉几笔对不上的数据,也不能用错方向。
// 伪代码示例:计算单笔Delta
function calcDelta(trade, orderBook):
if trade.price >= orderBook.askPrice:
return trade.volume // 买方主动
else if trade.price <= orderBook.bidPrice:
return -trade.volume // 卖方主动
else:
return 0 // 无法判断,丢弃
12.2 订单流动量(Order Flow Volume)
订单流动量,我更喜欢叫它「真实成交量」。为什么?因为普通成交量只告诉你成交了多少,但订单流动量告诉你这些成交是怎么发生的——是买方在追涨,还是卖方在杀跌。
它的计算方式其实很简单:把累积Delta按时间窗口切分。比如1分钟窗口,就把这1分钟内的所有Delta加起来。正值表示买方主导,负值表示卖方主导。
我的经验:订单流动量比累积Delta更适合做短线交易。累积Delta是累计值,趋势性太强,容易产生路径依赖。而订单流动量按窗口重置,能更灵敏地捕捉到资金态度的变化。
12.3 买卖压力比(Buy/Sell Pressure Ratio)
这个指标,你想想看,它解决了一个什么问题?光看Delta的绝对值,你不知道这个数值在当前市场环境下算大还是算小。比如Delta是1000,在比特币市场可能只是毛毛雨,但在小币种市场可能就是巨量。
买卖压力比 = 主动买量 / (主动买量 + 主动卖量)
取值范围在0到1之间。大于0.5说明买方压力大,小于0.5说明卖方压力大。0.5是分水岭。
我曾经犯过一个错误:直接用原始Delta值做策略信号,结果在波动率不同的品种上表现天差地别。后来改成用买卖压力比,归一化之后,策略的泛化能力明显提升。
| 买卖压力比 | 市场含义 | 我的建议 |
|---|---|---|
| 0.7 - 1.0 | 强烈买方主导 | 谨慎追多,小心衰竭 |
| 0.55 - 0.7 | 温和买方主导 | 顺势做多信号 |
| 0.45 - 0.55 | 多空均衡 | 观望或轻仓 |
| 0.3 - 0.45 | 温和卖方主导 | 顺势做空信号 |
| 0.0 - 0.3 | 强烈卖方主导 | 谨慎追空,小心反弹 |
12.4 订单流强度指数(Order Flow Intensity Index)
这个指标是我个人比较偏爱的。它把订单流动量和价格变动结合起来了。为什么?因为有时候订单流动量很大,但价格没怎么动,说明多空在激烈博弈,方向不明。有时候订单流动量不大,但价格却大幅波动,说明市场深度很薄,一点点资金就能推动价格。
订单流强度指数 = 订单流动量 / 价格变动幅度
数值越大,说明推动单位价格变动所需的订单流越大,市场越「厚重」。数值越小,说明市场越「轻薄」,容易被操纵。
避坑指南:我曾经在计算这个指标时,直接用价格变动百分比做分母。结果遇到价格横盘时,分母接近0,指标直接爆炸。后来我改成用价格变动的绝对值加上一个极小值做分母,才解决了这个问题。
12.5 资金流量指标(Money Flow Index)
资金流量指标,说白了就是带成交量的RSI。它把价格和成交量结合起来,判断资金是在流入还是流出。
计算步骤:
- 计算典型价格 = (最高价 + 最低价 + 收盘价) / 3
- 计算资金流量 = 典型价格 × 成交量
- 如果典型价格高于前值,归入正资金流;否则归入负资金流
- MFI = 100 - (100 / (1 + 正资金流 / 负资金流))
MFI超过80属于超买,低于20属于超卖。但我在实战中发现,在趋势行情中,MFI会长时间停留在超买或超卖区域,这时候盲目反向操作会死得很惨。我的做法是:结合订单流强度指数一起看,如果MFI超买但订单流强度指数也在上升,说明资金还在涌入,不要轻易摸顶。
12.6 指标体系总览
下面这张图是我自己梳理的指标关系图,你看一眼就能明白这些指标是怎么串联起来的。
你看这个结构,从原始数据到基础指标,再到复合指标,最后到应用层,是一层一层往上构建的。每一层都依赖下一层的质量。我见过太多人一上来就搞复杂的复合指标,结果基础数据都没洗干净,最后策略一跑就崩。
好了,这五个指标的核心逻辑和计算方式就讲到这里。记住一句话:指标是工具,不是圣杯。同样的指标,在不同品种、不同周期、不同市场环境下,表现可能天差地别。多测试,多复盘,慢慢你就能找到适合自己的组合。