halo 的技术博客

返回

大多数人看 VIX,看的是「恐慌的一阶矩」——标普 500 未来 30 天的预期波动率。但期权市场里还藏着一个更深的量:VVIX,CBOE 推出的「VIX 的波动率」,它衡量的是市场对 VIX 本身波动的预期。如果说 VIX 是「恐慌」,VVIX 就是「恐慌的恐慌」——恐慌的二阶矩

一个自然的问题:当 VVIX 异常高时,是不是意味着市场不仅恐慌,而且对恐慌本身感到不确定?这种二阶不确定性,能不能用来预测 VIX 接下来的走向?本文用一套自洽的合成模型把 VVIX 造出来,回答三件事:

  1. VVIX 到底在度量什么,为什么它比 VIX 更「平方化」;
  2. VVIX 是否真的领先 VIX 的均值回复(信息系数 IC 检验);
  3. 直接拿 VVIX 做波动率择时,能不能赚钱——以及为什么朴素做法会让你亏钱

一、从一阶矩到二阶矩:VVIX 在量什么#

VIX 是 S&P 500 期权隐含的 30 日波动率,单位年化 %。它的水平高,说明市场当前恐慌。

VVIX 则是 VIX 期权的隐含波动率——换句话说,是市场上交易 VIX 的人,对「未来 VIX 会波动多大」的预期。数学上:

  • 一阶矩:E[VIX]\mathbb E[VIX],对应 VIX 的水平(恐慌的程度)
  • 二阶矩:E[(VIXE[VIX])2]\mathbb E[(VIX-\mathbb E[VIX])^2],对应 VVIX 的水平(恐慌变化的剧烈程度)

这就是为什么 VVIX 常被称为「恐慌的平方」:它不直接说「你现在多怕」,而是说「你对你怕不怕这件事本身有多不确定」。

我们用一个自洽的合成模型来生成 VIX 路径,再用它的滚动已实现波动率(年化)作为 VVIX 的可观测代理:

dVIXt=κ(θVIXt)dt+ξdWt+JumptdVIX_t = \kappa(\theta - VIX_t)\,dt + \xi\,dW_t + \text{Jump}_t

其中 κ(θVIXt)\kappa(\theta - VIX_t) 是向中枢 θ\theta 均值回复的拉力,ξdW\xi\,dW 是连续噪声,Jumpt\text{Jump}_t 是 Poisson 危机跳(波动率危机时 VIX 一天暴冲 20 多个点)。这是一个最朴素的随机波动率设定,没有用真实数据——只为可复现地演示机制。

VIX 与 VVIX:恐慌的一阶矩与二阶矩

图上 VIX(蓝)在危机时尖峰突起;VVIX(红)把它放大——VIX 跳得越猛,VVIX 冲得越高。这正是二阶矩的性质:它对手动冲击的平方敏感。

二、VVIX / VIX 比值:恐慌被「平方放大」的强度#

单看 VVIX 绝对值意义不大(它的量级约 80~120,和 VIX 不可比),更有信息量的是比值

Ratiot=VVIXtVIXt\text{Ratio}_t = \frac{VVIX_t}{VIX_t}

这个比值衡量「二阶不确定性相对一阶恐慌的强度」。比值高 = 恐慌被平方放大的程度高 = 市场不仅怕,而且对「怕」本身极度不确定。

VVIX/VIX 比值:恐慌被平方放大的强度

在我们的合成样本里,比值均值 9.40、标准差 4.47。它围绕均值上下波动,危机时比值飙升(VIX 跳、VVIX 跳得更凶),平静时比值回落。

三、核心检验:VVIX 能预测 VIX 吗?#

直觉是这样的:VIX 有强烈的均值回复属性——它不会永远在 80,也不会永远在 12。那么当 VVIX 异常高(市场极度不确定恐慌会不会继续升级)时,是不是往往意味着 VIX 已经冲到一个不可持续的高位,接下来应该回落?

我们把检验写成一个简单的截面相关性:用今天的 VVIX 偏离度,对未来 21 日 VIX 的相对变动做回归,看信息系数(IC = 相关系数)。

跑出结果:

  • IC = −0.195(负号 = VVIX 越高,未来 VIX 越倾向回落,符合均值回复直觉)
  • 低 VVIX 桶:未来 21 日 VIX 平均 +4.71%
  • 高 VVIX 桶:未来 21 日 VIX 平均 −5.68%

单调性完美:VVIX 低 → VIX 倾向上行,VVIX 高 → VIX 倾向回落。

VVIX 越高,未来 VIX 越倾向回落(均值回复)

结论先放这:VVIX 确实能预测 VIX 的均值回复,IC=−0.195、分桶单调反转——机制是真的,不是噪声。 但别急着下注,下一节给你一个反直觉的清醒。

四、陷阱:为什么「用 VVIX 选时」反而不如买入持有#

既然 VVIX 能预测 VIX 回落,那「高 VVIX 做空波动、低 VVIX 做多波动」岂不是稳赚?我直接把这套规则跑成策略净值,和「一直做多波动」的基准对比:

# ---- 4) 用 VVIX 给波动率头寸择时 ----
mu, sd = np.nanmean(VVIX), np.nanstd(VVIX)
sig = np.zeros(len(VIX))
for t in range(1, len(VIX)):
    if VVIX[t] > mu + 0.5*sd:
        sig[t] = -1.0     # 高 VVIX → 预期 VIX 回落 → 做空波动
    elif VVIX[t] < mu - 0.5*sd:
        sig[t] = +1.0     # 低 VVIX → 预期 VIX 抬升 → 做多波动

eq = np.zeros(len(VIX))
for t in range(1, len(VIX)):
    eq[t] = eq[t-1] + sig[t-1] * (-vix_ret[t-1]) * 5.0   # 做多波动 = 赚 VIX 涨
bh = np.concatenate([[0.0], np.cumsum(-vix_ret * 5.0)])  # 一直做多波动
python

结果:

  • VVIX 择时 Sharpe ≈ −0.43
  • 一直做多波动 Sharpe ≈ 0.01

择时跑输了基准。为什么一个「统计上显著」的信号,做出来反而亏?三个原因:

  1. 均值回复太慢、跳变太猛:VIX 从高位回落要几个月,但危机跳是一天 20 点。你在高位做空,第一周就被跳变打爆,等不到回落兑现。
  2. 信号有延迟:VVIX 用 21 日滚动窗口,等你确认「VVIX 高」时,VIX 可能已经回落了一半。
  3. 高频噪声抹平低频信号:日频择时把 IC=−0.195 这种月度级信号,放在每天重新下注里,换手成本 + 噪声让信号完全被稀释。

用 VVIX 给波动率头寸择时:高 VVIX 做空、低 VVIX 做多

这恰好是量化里最经典的教训:一个在截面/月度上显著的预测变量,不等于一个在日频上能赚钱的交易信号。VVIX 的价值在于「告诉你现在处在恐慌周期的哪个阶段」,而不是「给你一个明天开仓的扳机」。

五、真实陷阱(别把 VVIX 当提款机)#

1. 合成模型 ≠ 实盘数据。 本文 VIX 用带跳的 AR(1) 合成,VVIX 用滚动已实现波动代理。真实 VVIX 是 VIX 期权的隐含波动率(由 VIX 期货期权链反推),量级、期限结构、与 VIX 的联动都更复杂。机制可参考,数字需实盘校准。

2. VVIX 是期权隐含量,有「波动率微笑」污染。 真实 VVIX 从不同行权价期权反推时会受偏度/曲率影响,并非纯粹的 VIX 方差。直接把交易所报的 VVIX 当「VIX 的已实现方差」会系统性偏差。

3. 均值回复的时标很长。 VVIX→VIX 的 IC 是月度级的,别拿它做日内或周频择时。时标错配是本文第四节「显著却亏钱」的根因。

4. 危机跳会让任何逆向头寸爆仓。 高 VVIX 时做空波动,逻辑上等回落,但真实危机里 VIX 可以连续跳三天。你的保证金在回落前就归零了。这是卖保险策略的通病。

5. 幸存者偏差 / 样本选择。 本文合成样本里危机跳频率是我设的(1.2%/日),真实市场的跳变频率和幅度随 regime 变化。换个跳变设定,IC 和分桶单调性会漂移。

6. 别混淆 VVIX 与 VIX 的「预测方向」。 高 VIX 本身也预示未来回报更高(恐慌溢价),但高 VVIX 预示的是 VIX 回落。两者方向不同、用途不同,混用会设计出自相矛盾的对冲。

六、小结#

  • VVIX 是 VIX 的波动率——恐慌的二阶矩,对 VIX 的冲击平方敏感,比 VIX 更「尖」;
  • 它确实领先 VIX 的均值回复:IC = −0.195,低 VVIX 桶未来 VIX +4.71% vs 高 VVIX 桶 −5.68%,单调反转;
  • 朴素日频择时会跑输买入持有(Sharpe −0.43 vs 0.01)——月度级信号被日频噪声和危机跳抹平,这是真陷阱不是 bug;
  • 正确用法是把 VVIX 当「恐慌周期定位器」(现在在恐慌的哪个阶段),而不是「明天开仓扳机」;
  • 实盘记住六条陷阱:合成≠实盘、微笑污染、时标错配、危机跳爆仓、跳变频率漂移、别混淆 VVIX 与 VIX 方向。

附:本文所有图表与数值均来自上方可运行 Python(带危机跳 AR(1) 的 VIX 路径 + 滚动已实现波动代理 VVIX + IC 检验 + 择时回测),参数与结果一致,可直接复现。

波动率之波动率(VVIX):恐慌的二阶矩能否预测
https://blog.halo26812.eu.org/blog/volatility-of-volatility
Author halo
Published at 2026年7月16日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨