halo 的技术博客

返回

美国有 VIX,欧洲有 VSTOXX——EURO STOXX 50 指数的 30 日隐含波动率,常被叫做「欧洲恐慌指数」。机制和 VIX 完全同构:都是用一篮子期权隐含波动反推的「恐慌温度计」。但因为它更小众、流动性更薄、和美国市场高度联动又偶尔背离,反而藏着几条美国玩家容易忽略的交易线索。

本文用一套自洽的合成模型把 VSTOXX 造出来,讲清三件事:

  1. VSTOXX 期货期限结构如何在 contango(升水)与 backwardation(贴水) 间切换;
  2. 「卖近月买远月」的曲线 carry 怎么稳赚、又在哪天一把吐回去;
  3. VIX 与 VSTOXX 的背离窗口——两洲恐慌的联动里,藏着跨大西洋配对相对价值。

一、VSTOXX 期限结构:两副面孔#

VSTOXX 本身衡量 EURO STOXX 50 未来 30 天隐含波动,而 VSTOXX 期货在不同期限上定价「未来那个时点的预期 VSTOXX」。把各期限期货 IV 按到期排开,就是期限结构。

我们用和 VIX 篇同构的模型生成 VSTOXX 近端路径 V0tV0_t(带危机跳的均值回复),再叠加上期限衰减的 VRP 项:

IV(M,t)=LV+(V0tLV)eM/τ+VRP0eM/τvrp\text{IV}(M,t) = LV + (V0_t - LV)\,e^{-M/\tau} + \text{VRP}_0\,e^{-M/\tau_{\text{vrp}}}

  • Contango(升水):近月 IV < 远月 IV,曲线向上。这是常态——欧洲投资者也为近端「保险」付更多,且近端波动均值回复到长端中枢。
  • Backwardation(贴水):近月 IV > 远月 IV,曲线倒挂。只在危机时出现——近端 V0 暴冲,远月相对平静。

VSTOXX 期货期限结构:两种面孔

左图平静期 contango:近月 IV 约 14、远月约 21,斜率 +0.18;右图危机 snapshot:近端 V0 飙到 80+,近月 IV 跳到 57、远月仍 23,曲线整体倒挂(斜率 −0.30)。同一条曲线,两种相反形态。

二、Python:合成 VSTOXX 期限结构#

下面这段代码与生成图表的是同一套逻辑。VSTOXX 的 V0 均值低于长端中枢(所以平时是 contango),危机时向上跳。

跑出:contango 占比 83%,backwardation 占比 17%——contango 是常态,backwardation 是稀有的危机片段,与真实 VSTOXX 经验一致。

VSTOXX 期限结构斜率:绿色 contango 为常态、红色 backwardation 为危机片段

三、曲线 carry:卖近买远,稳赚但有牙#

既然平时 contango(近低远高),经典 carry 就是卖出近月、买入远月。盈利来自 roll-down:近月合约临近到期,价格沿向上的曲线往下滑,空头获利;远月基本不动,微亏。只在 contango 持有,backwardation 立刻平仓。

用「次日期限下滑一个档」重新估值,收益写为:

PnLt=[IV21(t)IV20(t+1)]+[IV125(t+1)IV126(t)]\text{PnL}_t = \big[\text{IV}_{21}(t)-\text{IV}_{20}(t+1)\big] + \big[\text{IV}_{125}(t+1)-\text{IV}_{126}(t)\big]

第一项(短近月)在 contango 里稳定为正,第二项(长远月)轻微为负,净额即 carry。

# ---- 3) 做多曲线 carry: sell near / buy far,仅 contango 持有 ----
daily = np.zeros(len(V0))
for t in range(1, len(V0) - 1):
    if contango[t]:
        short_leg = IV_at(21, t) - IV_at(20, t + 1)   # 卖近月:随到期下滑赚价差
        long_leg  = IV_at(125, t + 1) - IV_at(126, t)  # 买远月:微损
        daily[t]  = short_leg + long_leg
eq = np.cumsum(daily)
peak = np.maximum.accumulate(eq)
mdd = (eq - peak).min()
print("carry 累计=%.1f vol点  最大回撤=%.1f" % (eq[-1], mdd))
python

跑出:累计 +61.5 vol 点,最大回撤 −42.4

VSTOXX 曲线 carry:sell near / buy far,仅 contango 持有

曲线大部分时间斜向上爬——contango carry 的「免费午餐」。但那次深坑(回撤 −42.4)是危机翻转日:近端 V0 一天从平静跳到 80,近月 IV 跟着从十几跳到五十多,而你正空头近月——近端跳涨,空头单日巨亏。carry 的甜,全靠「危机别让我在场」;而危机恰恰在你最放松(长期 contango)时降临。

四、跨大西洋配对:VIX 与 VSTOXX 的背离窗口#

VIX(美国)和 VSTOXX(欧洲)高度联动——它们都度量「发达市场股票恐慌」,且美股与欧股相关系数很高。但二者并非完美同步:有时美国先恐慌、欧洲滞后,有时欧洲独自动荡(如欧债危机、英国脱欧)。这种背离就是配对相对价值的来源。

我们生成一条与 VSTOXX 同步但带独立跳的 VIX 路径,算两者价差 z=(VIXVSTOXXμˉ)/σz = (VIX - VSTOXX - \bar\mu)/\sigma,当 z>1|z|>1 时做均值回复:z 高(VIX 相对 VSTOXX 过贵)→ 空 VIX / 多 VSTOXX;反向同理。

跑出:配对 Sharpe ≈ 1.82,两序列相关性仅 0.47(因为我们特意注入了独立跳)。背离窗口给了稳定的均值回复收益。

VIX vs VSTOXX:两洲恐慌联动,背离窗口可做配对相对价值

图上 VIX(紫)与 VSTOXX(蓝)大趋势同步,但 z-分数(灰)经常突破 ±1 阈值——每一次突破都是一次配对入场信号。注意:真实世界里二者相关性远高于 0.47(常达 0.8+),配对空间更小,但欧债、英国脱欧、瑞郎黑天鹅等欧洲特有事件仍会制造可观背离。

五、真实陷阱(别把欧洲当美国的简单复制)#

1. VSTOXX 流动性远薄于 VIX。 VIX 期货是全球最活跃的波动率衍生品,VSTOXX 期货日均成交量小一个数量级。本文合成模型没计买卖价差与冲击成本,实盘 carry 会比 +61.5 vol 点薄得多,翻转日还可能平不掉。

2. Contango 常态 ≠ 无风险。 本文 contango 占 83%,但那 17% 的 backwardation 片段(及翻转当天)制造了 −42.4 的回撤。「卖 VSTOXX」长期正收益,是用「偶尔巨亏」换的——它是卖保险,不是套利。

3. 跨市场配对有「共同因子」风险。 VIX 与 VSTOXX 共享全球股票风险,真正可交易的是差值里的 idiosyncratic 部分。当两洲同步暴跌(如 2020 新冠),背离会先扩大再一起跳,配对两头都亏——背离策略在系统性危机里失效。

4. 时区与定价错位。 欧洲市场比美国早收盘,VSTOXX 在美盘时段靠 VIX 拉动定价,套利窗口可能是伪信号(只是时区导致的瞬时错位),实盘无法无风险捕获。

5. 期限结构会翻转,别假设永远 contango。 用「斜率>0 才持有」是对翻转的保护,但翻转当天你仍在场(本例当天吃跳空),因为真实近端是上去的,平不掉在最高点。

6. 这是合成模型,不是实盘数据。 真实 VSTOXX 要拉 VSTOXX 期货实盘序列(或按各期限期权隐含波动反推),并做股息/持有成本/到期效应调整。本文用自洽模型只为可复现地演示机制——机制是真的,数字量级需以实盘校准。

六、小结#

  • VSTOXX 是「欧洲 VIX」,与 VIX 同构却更小众:期限结构平时 contango(本文 83%)、危机时 backwardation(17%);
  • 曲线 carry(卖近买远)在 contango 稳赚(累计 +61.5 vol 点),但翻转日近端跳涨让空头单日巨亏(回撤 −42.4)——它是卖保险,不是无风险;
  • VIX-VSTOXX 背离窗口可做跨大西洋配对相对价值(本文配对 Sharpe ≈ 1.82),但真实相关性更高、系统性危机里失效;
  • 实盘记住六条陷阱:欧洲流动性薄、contango 非无风险、共同因子风险、时区伪信号、曲线会翻转、本文是合成演示需实盘校准。

附:本文所有图表与数值均来自上方可运行 Python(带危机跳 AR(1) 的 VSTOXX 路径 + 三组件期限结构 + 滚动下滑 carry + VIX 配对),参数与结果一致,可直接复现。

VSTOXX 策略:欧洲恐慌指数的期限结构与交易
https://blog.halo26812.eu.org/blog/vstoxx-strategy
Author halo
Published at 2026年7月16日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨