量价指标:OBV 与「资金流向」
成交量告诉你「要动了」,但不告诉你「往哪动」
先说一个容易被忽略的事实:
每一笔成交都同时有一个买方和一个卖方。成交量本身没有方向。
所以"今天资金流入 3 个亿"这句话,严格说是不成立的——有人买必有人卖,钱是从一个人的账户转到另一个人的账户,没有"流进"这只股票。所谓"资金流向",是把成交量按当日涨跌人为贴上正负号之后的定义。
那 OBV 这类指标到底有没有信息?这一节给出一个相当干净的答案:
成交量对未来「波动」有显著预测力,对未来「方向」几乎没有。它告诉你要动了,但不告诉你往哪动。
机场安检口排起长队,你能推断"接下来会很挤"。
但你推断不出"航班会延误还是提前"——队伍长度里没有这个信息。
成交量就是那条队伍。它反映的是关注度与分歧程度,不是方向。
一、OBV 顶背离:教科书说该跌
OBV(能量潮)的定义:收涨记 +成交量,收跌记 -成交量,累加。注意方向完全来自价格,不来自成交量本身。
最流行的用法是"顶背离":价格创 60 日新高,而 OBV 没有创新高 → 教科书说这是量能跟不上,应当下跌。
实测(3099 次信号):
| 持有期 | 信号后均值 | 基准均值 | 差值 | t 值 | p 值 |
|---|---|---|---|---|---|
| 1 日 | +0.282% | +0.055% | +0.227pp | 4.36 | 0.0000 * |
| 5 日 | +0.670% | +0.280% | +0.389pp | 3.14 | 0.0017 * |
| 10 日 | +1.333% | +0.558% | +0.776pp | 4.45 | 0.0000 * |
| 20 日 | +2.005% | +1.128% | +0.876pp | 3.45 | 0.0006 * |
又反了。教科书说该跌,数据说显著上涨,四个持有期全部显著。
原因其实不难理解:"价格创 60 日新高"这个条件本身就是一个强动量信号。而"OBV 未创新高"这个附加条件,并没有抵消掉它——背离筛掉的是量能,留下的还是强势股。
二、「量价齐升」:放量上涨 vs 缩量上涨
口诀说:上涨要有量配合,缩量上涨是"虚涨"。实测:
放量上涨(涨幅>1% 且 量能>1.5 倍均量,15074 次):
| 持有期 | 差值 | t 值 | p 值 |
|---|---|---|---|
| 1 日 | +0.101pp | 4.05 | 0.0001 * |
| 5 日 | +0.253pp | 4.52 | 0.0000 * |
| 10 日 | +0.448pp | 5.73 | 0.0000 * |
| 20 日 | +0.690pp | 5.94 | 0.0000 * |
缩量上涨(涨幅>1% 且 量能<0.8 倍均量,10561 次):
| 持有期 | 差值 | t 值 | p 值 |
|---|---|---|---|
| 1 日 | +0.143pp | 5.41 | 0.0000 * |
| 5 日 | +0.142pp | 2.22 | 0.0267 * |
| 10 日 | +0.013pp | 0.14 | 0.8873 |
| 20 日 | -0.064pp | -0.49 | 0.6215 |
这一条口诀方向是对的:
- 短期(1 日)两者都有效,缩量甚至略强
- 但随着持有期拉长,放量上涨的优势持续扩大(20 日 +0.690pp),而缩量上涨衰减到零甚至转负
所以"缩量上涨不持久"这个说法,在中长期上得到了数据支持。这是本章目前为止,少数几条被验证为对的口诀之一。
🔧 动手做:成交量能告诉你"往哪动"吗?(5 分钟)
跑 python volume_indicators.py,看 OBV 顶背离(价格创新高但 OBV 没创)之后的收益。
你会看到(实测):3099 次顶背离信号后,未来 1/5/10/20 日的差值是 +0.227/+0.389/+0.776/+0.876pp——注意是正的。也就是说,这个"看跌背离"之后,价格平均反而继续涨。
想明白:成交量告诉你"要动了"(波动要放大),但不告诉你往哪动。人们把"量价背离"当方向信号用,方向却常常反着来。量价指标的真本事在预测波动、不在预测方向——把它当择时信号,大概率被反向收割。
三、本节真正的结论:方向 vs 波动
前面都是在问"能不能预测涨跌"。换个问法:成交量到底预测了什么?
用相对成交量(当日量 / 20 日均量)与三个目标做秩相关,193927 个观测:
| 相对成交量 vs | 秩相关 | p 值 |
|---|---|---|
| 未来 5 日方向(带符号收益) | +0.0001 | 0.958 |
| 未来 5 日幅度(收益绝对值) | +0.0376 | 8.95e-62 |
| 未来 5 日波动率 | +0.0709 | 1.31e-214 |
对波动的相关系数是对方向的 700 倍。
分组看更直观(按相对成交量五等分):
| 分组 | 未来 5 日方向 | 未来 5 日幅度 | 未来 5 日波动 |
|---|---|---|---|
| 最低 20% | 0.230% | 3.671% | 1.908% |
| 20–40% | 0.190% | 3.698% | 1.919% |
| 40–60% | 0.228% | 3.759% | 1.966% |
| 60–80% | 0.314% | 3.882% | 2.046% |
| 最高 20% | 0.483% | 4.224% | 2.234% |
这张表里有一个需要诚实处理的矛盾。
分组均值显示方向从 0.230% 单调上升到 0.483%——看起来成交量对方向也有预测力。但秩相关只有 +0.0001,p 值 0.958,等于完全无关。
两者都对,不矛盾:
- 秩相关衡量的是逐点的单调一致性——在 19 万个观测上,高换手日的收益并不系统性地高于低换手日
- 分组均值容易被尾部驱动——最高 20% 那组里,少数暴涨样本把均值拉了上去
诚实的结论是:方向上的信息即使存在,也远弱于波动上的信息(相关系数差 700 倍),且极不稳定。
这类"分组看有效、相关系数看无效"的情况非常常见。遇到时不要挑对自己有利的那个报,要两个都报,然后老实说"这个效应主要由尾部驱动"。
所以
成交量能告诉你「要动了」,但不告诉你「往哪动」。
这也解释了一个长期存在的困惑:为什么"放量"既能出现在见顶,也能出现在启动?
因为它本来就没有方向信息。它只是告诉你分歧变大了、关注度上来了——接下来幅度会更大,至于往哪边,量能不知道。
这个结论有直接的实用价值:成交量应该进入你的风险模型(仓位、止损宽度),而不是你的方向模型(买卖信号)。这与上一节 ATR 的定位完全一致——它们都是尺子,不是指南针。
📌 免责:本课为技术教学,所有统计为历史模拟,不构成投资建议;标的为沪深300 成分股按代码序取样,非精选。
四个结论:
- 成交量本身没有方向——每笔成交都有买卖双方,"资金流入"是贴符号后的人为定义
- OBV 顶背离又反了:教科书说该跌,实测 4/4 显著上涨(10 日 +0.776pp)。因为"创 60 日新高"本身就是强动量信号,背离筛掉的是量能、留下的还是强势股
- "缩量上涨不持久"是对的:放量 20 日 +0.690pp 且持续扩大,缩量衰减到 -0.064pp。这是本章少数被验证为对的口诀
- 方向 vs 波动:相关系数差 700 倍——成交量该进风险模型,不该进方向模型
外加一条方法论:遇到"分组有效、相关无效"的矛盾,两个都报,并说明是不是尾部驱动。
下一节是这一章的收束,也是对方完全没有的一节:把这四节讲过的所有指标放进同一个相关矩阵和 PCA 里,回答一个问题——你以为的"多指标共振",到底是几条独立证据?
🔎 来源与核验· 4 条,点开核对
