📊 VWMA 指标详解:成交量加权移动平均线(Volume Weighted Moving Average)
一、VWMA 是什么?
VWMA(Volume Weighted Moving Average)是一种考虑成交量的移动平均线。
它通过将每一日的收盘价按成交量加权,得到更加真实反映“资金推动方向”的均线。相比于普通均线(如 SMA),VWMA 能更精准地表示“大资金推动的价格趋势”。
公式:
$$ \text{VWMA}t = \frac{\sum{i=0}^{n-1} (C{t-i} \times V{t-i})}{\sum{i=0}^{n-1} V{t-i}} $$
其中:
- $C_t$:第 t 天的收盘价
- $V_t$:第 t 天的成交量
- $n$:设定的周期(如 10 日)
二、pandas_ta 中的 VWMA 函数说明
import pandas_ta as ta
vwma = ta.vwma(close=df["close"], volume=df["volume"], length=10)
参数说明:
参数名 | 类型 | 说明 | 默认值 |
---|---|---|---|
close |
Series | 收盘价序列 | 必填 |
volume |
Series | 成交量序列 | 必填 |
length |
int | 移动平均周期长度 | 10 |
offset |
int | 平移量(正右移,负左移) | 0 |
三、返回结果:
返回一个 Series
,列名格式为:
VWMA_10
你也可以通过不同 length
设置多条 VWMA 曲线,构建量价双重视角的趋势线系统。
四、VWMA 应用场景
✅ 更能反映“真实趋势”的均线
- 普通均线可能被低成交量的价格波动“干扰”;
- VWMA 在高成交量下的价格变化“更有权重”,代表大资金动向;
- 当 VWMA 向上/向下拐头,往往意味着大资金方向开始转变。
✅ 判断动能强弱(与 SMA 对比)
- 若 VWMA > SMA,同期内大资金主要集中在高价位,多头趋势更强;
- 若 VWMA < SMA,说明高价成交量较小,市场偏弱或分歧大。
✅ 与价格位置关系判断支撑阻力
- 收盘价 上穿 VWMA:可能是放量突破;
- 收盘价 下破 VWMA:可能是放量杀跌;
- VWMA 也可作为动态支撑或压力位。
五、可视化示例(VWMA vs SMA)
import matplotlib.pyplot as plt
df["VWMA_10"] = ta.vwma(df["close"], df["volume"], length=10)
df["SMA_10"] = ta.sma(df["close"], length=10)
plt.plot(df["close"], label="收盘价", alpha=0.5)
plt.plot(df["VWMA_10"], label="VWMA(10)", color="orange")
plt.plot(df["SMA_10"], label="SMA(10)", linestyle="--", color="green")
plt.title("VWMA vs SMA")
plt.legend()
plt.grid(True)
plt.show()
六、VWMA 策略实战建议
场景 | 策略启发 |
---|---|
VWMA 上穿 SMA 且量能放大 | 看多信号,可能是主力进场 |
VWMA 下穿 SMA 且价格走弱 | 看空信号,或趋势反转开始 |
VWMA 持续上行并支撑收盘价 | 牛市通道确认,可做多持仓跟随 |
VWMA 与布林带或 KDJ 指标共振 | 多指标融合判断进出场点 |
七、总结:VWMA 适合关注“量能支持的趋势”
VWMA 是在价格基础上引入“量”的信息,从而更加准确地识别市场趋势。它适用于:
- 高频交易与日内趋势判断;
- 中短线交易中的突破确认;
- 与 SMA/EMA 等指标搭配增强信号过滤能力。