摘要: OBV指标通过成交量与价格关系判断资金流向。庄家吸筹时OBV上升而股价滞涨,出货时OBV下降而股价上涨。结合背离、突破和均线可提高准确性,但需多指标验证。它只能辅助判断,无法单独确认庄家行为。

什么是OBV指标

OBV全称能量潮指标,由美国分析师乔·格兰维尔提出。它的计算逻辑很直白:今天收盘价比昨天高,就把今天的成交量加到昨天的OBV值上;今天收盘价比昨天低,就把今天的成交量从昨天的OBV值里减掉;收盘价持平,OBV值保持不变。

用大白话说,OBV就是一根累计成交量线,它把上涨日的成交量当成买入力量,下跌日的成交量当成卖出力量。这根线往上走,说明买盘在持续涌进来;往下走,说明卖盘在持续往外倒。

如何使用OBV指标跟踪庄家是否进出货

为什么OBV能跟踪庄家

庄家资金量大,进出货不可能像散户那样一笔单子就完成。他们建仓需要几周甚至几个月,出货同样需要反复拉锯。在这个过程中,成交量一定会留下痕迹,OBV就是捕捉这些痕迹的工具之一。

股价可以被资金短期拉抬或打压,但成交量是真金白银堆出来的。庄家吸筹时,会尽量压低价格慢慢买,股价涨幅不大,但OBV线会悄悄抬高。庄家出货时,会拉高股价吸引跟风盘,然后边拉边卖,股价看着还在涨,OBV线却开始走平甚至下降。

用OBV识别庄家吸筹

吸筹阶段最典型的特征是OBV上升而股价滞涨。庄家每天买一点,买的时候不急着拉高,甚至故意砸盘制造恐慌,让散户交出手里的筹码。股价在一个区间里反复震荡,但OBV线却像台阶一样逐步走高。

看下面这段模拟数据,股价来回波动,但OBV持续上升:


import pandas as pd

import numpy as np

def calculate_obv(close, volume):

    obv = [0]

    for i in range(1, len(close)):

        if close[i] > close[i-1]:

            obv.append(obv[-1] + volume[i])

        elif close[i] < close[i-1]:

            obv.append(obv[-1] - volume[i])

        else:

            obv.append(obv[-1])

    return pd.Series(obv, index=close.index)

# 模拟股价横盘但OBV上升

close = pd.Series([10.0, 9.8, 10.1, 9.9, 10.0, 10.2, 10.1, 10.3, 10.2, 10.4])

volume = pd.Series([1000, 1200, 1500, 1100, 1300, 1600, 1400, 1700, 1500, 1800])

obv = calculate_obv(close, volume)

print(obv)

这段数据里股价从10.0到10.4只涨了4%,但OBV从0涨到了接近8000。成交量在上涨日明显大于下跌日,说明有资金在持续收集筹码。

用OBV识别庄家出货

出货阶段反过来,OBV下降而股价上涨。庄家手里筹码多,直接砸盘卖不掉,会先拉高股价,让散户觉得还要涨,然后在高位挂大卖单,散户买多少他卖多少。股价看着还在创新高,但OBV线已经掉头向下。


# 模拟股价上涨但OBV下降

close = pd.Series([10.0, 10.5, 11.0, 11.5, 12.0, 12.3, 12.5, 12.6, 12.7, 12.8])

volume = pd.Series([1000, 900, 850, 800, 750, 700, 650, 600, 550, 500])

obv = calculate_obv(close, volume)

print(obv)

股价从10.0涨到12.8,涨幅28%,但OBV从0一路下降到接近-2000。上涨日的成交量越来越小,说明拉高用的资金在减少,庄家已经不再大量买入,反而在悄悄派发。

关键信号:OBV与股价背离

背离是OBV最有价值的信号。

股价创新高,OBV没有创新高,这叫顶背离,说明上涨动能衰竭,庄家可能在出货。股价创新低,OBV没有创新低,这叫底背离,说明下跌动能减弱,庄家可能在吸筹。

顶背离出现时,通常伴随成交量萎缩。庄家拉高股价用的资金越来越少,跟风盘也在减少,这种上涨很难持续。底背离出现时,成交量往往温和放大,说明有资金在低位承接。

OBV突破与均线配合

OBV线本身也可以画趋势线和均线。当OBV突破前期高点时,意味着买入力量超过了之前的峰值,可以视为庄家加大吸筹力度的信号。当OBV跌破前期低点时,说明卖出力量超过了之前的低谷,庄家可能在加速出货。

给OBV加一条30日均线,效果更直观。OBV在均线上方运行,且均线向上,说明资金持续流入。OBV跌破均线,且均线走平或向下,说明资金开始流出。


def obv_signals(close, volume, ma_period=30):

    obv = calculate_obv(close, volume)

    obv_ma = obv.rolling(ma_period).mean()

    signals = pd.DataFrame({'OBV': obv, 'OBV_MA': obv_ma})

    signals['金叉'] = (obv > obv_ma) & (obv.shift(1) <= obv_ma.shift(1))

    signals['死叉'] = (obv < obv_ma) & (obv.shift(1) >= obv_ma.shift(1))

    return signals

用OBV跟踪庄家的局限性

OBV不是万能钥匙。它只看收盘价涨跌和成交量,不考虑成交量具体发生在什么价位。庄家可以用对倒手法制造虚假成交量,让OBV失真。

大盘股和指数基金里,OBV的信号相对可靠,因为参与者众多,单一庄家很难完全操控。小盘股和流动性差的品种,OBV容易被少量资金扭曲。

OBV需要结合价格形态、筹码分布、资金流向一起看。单独用OBV判断庄家进出货,胜率有限。多指标共振时,信号才更可信。

实战中的注意事项

第一,OBV更适合周线级别判断庄家行为。日线级别噪音太多,庄家可以用几笔大单改变OBV方向。周线OBV的趋势更稳定,反映的是中期资金动向。

第二,OBV突破需要成交量确认。如果OBV突破时成交量没有同步放大,这个突破可能是假的。真正的庄家吸筹,OBV上升一定会伴随成交量温和放大。

第三,OBV和股价的背离可以持续很久。顶背离出现后,股价可能还会涨一段,因为庄家出货需要时间。看到背离就立刻做空,容易被逼空。等OBV跌破均线,或者股价跌破关键支撑,再行动更稳妥。

第四,不同软件计算的OBV起始值不同,但趋势方向一致。看OBV重点看方向和形态,不要纠结具体数值。

OBV是一把有用的工具,但它只是工具。庄家也在进化,他们会研究散户常用的指标,故意制造反向信号。用OBV跟踪庄家,本质是用成交量验证价格的真实性。价格会说谎,成交量很难长期说谎。把OBV放在一个完整的交易系统里,它才能发挥应有的作用。