价格创了新高,但这次突破是真的吗?K 线给不出这个问题的答案。1963 年,美国市场分析师 Joseph Granville 在《Granville’s New Key to Stock Market Profits》里提出了 OBV(On-Balance Volume,能量潮),初衷只有一个:把每天的成交量按涨跌方向折叠进一条曲线,让”量能有没有跟上价格”变得一眼可辨。
Granville 当时注意到一个现象:机构投资者建仓时,往往会在价格温和上涨的日子里放量买入,在回调日缩量持有——这种节奏在 K 线上几乎不可见,但如果把每日成交量按方向累加,这条累计曲线就会比价格先行抬头。他把这个洞察浓缩成一句话:”成交量先于价格(Volume precedes price)”,OBV 正是这句话的算法化表达。
六十余年后,OBV 被 TA-Lib、TradingView Pine Script 等几乎所有量化与图表平台内置。它成为经典靠的不是预测精度,而是极简设计:没有窗口期、没有平滑系数、没有超买超卖阈值,只有一个按方向累加成交量的分段函数。对量价关系感兴趣的策略,几乎都把 OBV 作为一层可选的确认层来参考。
成交量如何被”折叠”进一条曲线
OBV 的计算规则只有三行:
$$ OBV_t = \begin{cases} OBV_{t-1} + V_t & \text{若 } C_t > C_{t-1} \\ OBV_{t-1} – V_t & \text{若 } C_t < C_{t-1} \\ OBV_{t-1} & \text{若 } C_t = C_{t-1} \end{cases} $$
$C_t$ 是当日收盘价,$V_t$ 是当日成交量,$OBV_{t-1}$ 是前一日的累计值。每天的成交量都是”投票总数”——价格收涨,这批票投给多头;收跌,投给空头;持平则弃权。从数据起始点往后,OBV 持续累加这个净差值,形成一条无上下界的累计曲线。
起点数值毫无意义,设 0 或设第一日成交量,曲线形态完全相同,只是纵轴刻度不同。有意义的只有 OBV 相对自身近期高低点的位置,绝对数值不能用于跨品种或跨时间窗口的比较。
实战中常在 OBV 之上叠加一条移动均线,用来过滤曲线的短期噪声:
$$ OBV\_MA_t = \frac{1}{N} \sum_{i=t-N+1}^{t} OBV_i $$
日线图取 $N = 20$ 或 $N = 30$,大约对应一个月的量能节奏;周线图可取 $N = 10$。也有用 EMA 替代 SMA 的版本,以减少均线对近期变化的滞后。参数没有通用最优值,选取标准取决于所跟踪的交易周期。
在图上找什么
把价格 K 线和 OBV 曲线放在同一时间轴的上下两个面板,读图只做一件事:找两者各自的近期高低点,看它们有没有同步创新高或新低。
同步确认
价格突破前高,OBV 同时突破自身前高,说明这次上涨背后有持续积累的买入成交量在支撑。这是 OBV 最核心的用法——量能为价格的方向选择”投票”。反向同理:价格跌破前低且 OBV 同步跌破前低,空头方向有成交量背书。
背离形态
价格创新高,但 OBV 不跟——顶背离。它说明推动价格上行的成交量在萎缩,这次新高是在较低市场参与度下完成的,趋势动能在减弱。底背离则相反:价格再创新低,OBV 的对应谷底却比上一个谷底更高,显示空头推力在消退。

上图展示黄金期货日线的量价同步确认案例。K 线主图(上半)与 OBV 曲线(下半)共用同一时间轴。标注处:价格突破震荡区间上沿时,OBV 同步突破其在震荡期内形成的阶段高点,量价方向一致,突破有成交量背书。与之对比,震荡期内虽然价格多次触及区间上沿,OBV 却始终未能创出新高,提示彼时的触高缺乏量能支持。

上图展示顶背离和底背离的标准形态。左侧标注区:价格连续形成两个更高的峰值,但 OBV 对应的两个峰逐次走低,顶背离成立;随后价格回落。右侧标注区:价格跌至新低,OBV 的对应谷底却高于前一谷底,底背离出现;随后价格反弹,OBV 率先抬升。
收盘前不下结论
OBV 按当日收盘价计算,盘中数值随价格实时变动,并不稳定。同一根日线 K 线,盘中看似突破上方阻力,但若收盘价回落至突破位下方,OBV 当日净值为负,台阶向下而非向上。这一特性决定了 OBV 只能做事后确认,不适合在收盘前用于方向判断。
五个常见误读
把 OBV 方向当作直接操作信号
OBV 上行不等于该开多,OBV 下行不等于该开空。OBV 回答的是”当前价格方向有没有成交量配合”,不回答”接下来应该怎么操作”。把它当信号发生器使用,会在趋势末期、背离形成但尚未反转时持续产生误导。
用绝对数值做横向比较
不同品种之间的 OBV 数值没有可比性,即使同一品种换了时间段起点,数值也完全不同。有效的比较只在同一时间轴、同一品种的内部高低点之间进行。
忽略成交量口径突变
期货主连换月时成交量会在短时间内大幅跳升,ETF 调整份额、股票拆送股、加密货币交易所数据切换时,成交量基准同样会突变。这些事件在 OBV 上留下人工台阶,可能把正常的背离形态扭曲成虚假信号。碰到 OBV 出现异常陡峭的台阶,先去核查该品种在对应日期附近是否有公告事件。
在单一周期上下结论
15 分钟、1 小时等短周期的 OBV 受随机噪声影响极大,背离信号出现频率远高于有效次数。日线 OBV 背离需要参照周线 OBV 的方向来过滤,两个周期方向一致时才更具参考价值。反过来,周线及月线 OBV 对战术级别的时间节点判断几乎没有帮助,适合趋势方向判断,不适合具体入场时机。
把量价完全同步视为正常健康状态
强势行情的经典特征是 OBV 略微领先价格——机构在价格尚未明显上行之前持续买入,OBV 先于价格创新高,价格随后跟进。量价完全同步反而说明量能没有富余的积累,两者之间缺少”提前量”,趋势延续的基础并不牢固。
与其他工具搭配
OBV + ATR
OBV 提供量能方向背书,ATR 提供价格波动幅度。两者结合的用途是:在 OBV 确认突破方向之后,用当前 ATR 值设定止损距离,避免因市场正常波幅被过早出局。
OBV + RSI
RSI 衡量价格动量的相对强弱,OBV 衡量成交量累计方向。两者背离方向相同时(例如 RSI 顶背离叠加 OBV 顶背离),信号质量显著高于单一指标;两者背离方向相反时则互相消解,不适合独立依赖其中任何一个。
OBV + 布林带
布林带在市场窄幅震荡时带宽收窄,形成 Squeeze 状态。此时观察 OBV:若价格原地踏步但 OBV 在震荡期内悄然上行,”价格蓄势 + 量能先行积累”的组合往往出现在方向性扩张之前。带宽扩张时若方向与 OBV 一致,则为同步确认;若反向则需警惕。
品种适用性差异
OBV 在成交量数据口径稳定的品种上效果最好:主流股指期货、流动性好的个股、现货加密货币头部品种。外汇市场没有集中清算所,行情软件显示的”成交量”实为报价跳动次数,与真实成交量口径完全不同,OBV 在外汇品种上通常不被推荐使用。使用期货 OBV 时需注意选用主连续合约的拼接成交量,单月合约换月会带来量级跳变,干扰判断。
参考来源
- TA-Lib OBV Indicator — TA-Lib 官方函数参考,含参数说明
- TradingView Pine Script 参考:ta.obv — TradingView 内置 OBV 函数的官方文档,含语法与示例
- Investopedia:On-Balance Volume (OBV) — 含 Granville 原始理论背景、计算逻辑与局限性说明
本文为指标教学内容,不构成投资建议。
