金融, 波动

相对波动rvi

Relative Volatility Index

相对波动指数(RVI):衡量市场波动性情绪的进阶工具 在技术分析中,投资者广泛使用相对强弱指数(RSI)衡量市场超买超卖状态。但 RSI 的局限在于它仅反映价格变动方向,而对市场的波动强度缺乏捕捉。为了弥补这一空白,相对波动指数(Relative Volatility Index, RVI) 应运而生。 RVI 不看方向,而是用标准差波动性作为信号源,帮助交易者识别“情绪驱动型”市场环境,…

相对波动指数(RVI):衡量市场波动性情绪的进阶工具

在技术分析中,投资者广泛使用相对强弱指数(RSI)衡量市场超买超卖状态。但 RSI 的局限在于它仅反映价格变动方向,而对市场的波动强度缺乏捕捉。为了弥补这一空白,相对波动指数(Relative Volatility Index, RVI) 应运而生。

RVI 不看方向,而是用标准差波动性作为信号源,帮助交易者识别“情绪驱动型”市场环境,判断高波动下的潜在转折或突破。


一、什么是相对波动指数(RVI)?

相对波动指数(RVI) 是由 Donald Dorsey 提出的一种基于波动性强度的指标。与 RSI 类似,它的值在 0 到 100 之间,但不同之处在于:

RSI 衡量价格上涨与下跌的动量,而 RVI 衡量价格波动性的变化趋势。

它通过分析过去若干周期的标准差,来判断市场是否处于“波动增强”或“波动收敛”的阶段。


二、pandas_ta 中 RVI 的参数说明

使用 pandas_ta.rvi() 可快速计算相对波动指数,以下为参数列表:

参数名 类型 描述 默认值
close Series 收盘价序列,必需 必填
high Series 最高价序列(若启用 refined 模式需填) None
low Series 最低价序列(若启用 refined 模式需填) None
length int 计算周期,影响波动性测量的窗口大小 14
scalar float 输出缩放因子,默认 100(将结果标准化为百分比) 100
refined bool 若为 True,则返回 RVI(high) 与 RVI(low) 的平均值 False
thirds bool 若为 True,则返回 RVI(high)、RVI(low)、RVI(close) 三者平均 False
mamode str 移动平均方式,如 "sma"、"ema",默认为指数加权平均("ema") "ema"
offset int 向前或向后平移结果 0

返回值说明

  • 返回一个单列 DataFrame,列名如:

    RVI_14

三、RVI 的计算逻辑简析

RVI 的核心在于将波动性视为信号源,并将其标准差序列进行相对强弱转换

✅ 步骤 1:计算每根K线的标准差波动性

$$ SD_t = \text{StandardDeviation}(Price_t, \text{length}) $$

价格可以是收盘价,也可以是 high、low 或三者平均,取决于 refined 与 thirds 参数。

✅ 步骤 2:与前一周期的 SD_t 做差,计算“波动性涨跌”

  • 若当前 SD > 上一周期 SD,则记为“上涨波动”
  • 否则记为“下跌波动”

✅ 步骤 3:与 RSI 类似公式进行归一化处理

$$ \text{RVI}_t = \frac{\text{UpVol}_t}{\text{UpVol}_t + \text{DownVol}_t} \times \text{scalar} $$

这样就得到了一个位于 [0, scalar] 区间的指标,通常 scalar=100。


四、Python 实战:如何用 pandas_ta 快速调用 RVI?

import pandas as pd
import pandas_ta as ta
import matplotlib.pyplot as plt

# 加载行情数据
df = pd.read_csv("AAPL.csv", index_col="Date", parse_dates=True)

# 计算 RVI 指标(默认使用收盘价)
df["RVI_14"] = ta.rvi(close=df["Close"], length=14)

# 可视化
plt.figure(figsize=(14,6))
plt.plot(df["RVI_14"], label="RVI (相对波动指数)", color="purple")
plt.axhline(70, color='red', linestyle='--', label='高波动阈值')
plt.axhline(30, color='green', linestyle='--', label='低波动阈值')
plt.title("相对波动指数 RVI 指标")
plt.grid(True)
plt.legend()
plt.show()

五、RVI 的实战应用策略

✅ 1. 波动型突破策略

  • 当 RVI 突破 70,说明波动急剧增加;
  • 可与布林带、均线金叉等形态共振,判断是否为趋势启动点。

✅ 2. 趋势减弱信号

  • 若 RVI 跌破 30,说明波动正在收敛,行情可能进入盘整;
  • 可提前退出追趋势策略,等待方向确认。

✅ 3. 替代 RSI 的超买超卖系统

  • RVI 在高波动区间(如 80+)进行短空;
  • 在低波动区间(如 20-)寻找短多机会;
  • 效果在震荡市场中优于传统 RSI。

六、RVI 与 RSI 的对比

指标 参考源 反映内容 是否考虑波动性 是否标准化
RSI 价格变化 买方/卖方动量对比 ❌ 否 ✅ 是
RVI 波动变化 多头/空头波动强弱 ✅ 是 ✅ 是

RVI 适合用于捕捉**“恐慌性”上涨或下跌**背后的波动能量,是判断“市场情绪极端化”的重要工具。


七、总结:相对波动指数,连接波动性与情绪的桥梁

📌 RVI 把波动当作信号,而非噪音

📌 能够揭示传统动量指标看不到的市场能量变化

📌 适合波动策略、震荡区间判断、事件驱动行情的识别