波动率套利与期限结构交易

Read in English

2018 年 2 月 5 日:做空波动率的 ETN 产品 XIV 在 24 小时内从 99 美元跌到 5 美元,次日归零。20 亿美元灰飞烟灭。"波动率末日"并不是黑天鹅——考虑到 VIX 期货的运作方式,它在 数学上是必然的 。下面讲波动率期限结构交易如何在正常市场中带来 15% 至 20% 的年回报、它在波动率飙升时如何炸裂,以及捕捉波动率风险溢价而不至于最终爆仓的仅有几种方法。

🚨 极端风险警告

波动率交易可能导致账户全部归零:

  • XIV(2018 年): 20 亿美元规模的 ETN 在 24 小时内归零(亏损 100%)
  • SVXY(2018 年): 两天内亏损 96%(140 美元 → 5.50 美元)
  • VXX 的衰减(2009-2024): 因期货升水的持续放血而亏损 99.9%
  • LJM Preservation 基金(2018 年): 11 亿美元 → 两天内被清算

绝不要把组合的 5% 以上配置到波动率策略上。 本文仅供教育用途。没有恰当风险管理的波动率交易,最终一定会让你血本无归。

📚 预备知识

在交易波动率之前,你必须理解:

波动率风险溢价:它为何存在

核心概念: 隐含波动率(期权所预测的) 几乎总是高于 已实现波动率(实际发生的)。这个差额就是 波动率风险溢价——它是金融领域最可靠的优势之一。

时期 VIX 均值(隐含波动率) 已实现波动率均值 波动率风险溢价
1990-2024(34 年) 19.4% 15.2% +4.2%(持续存在)
2010-2019(低波动的十年) 14.8% 10.9% +3.9%
2020-2024(新冠及复苏期) 21.2% 17.8% +3.4%
VIX > 30 的日子(危机期) 38.6% 42.1% -3.5%(反转了!)

这个溢价为何存在:

  • 保险需求: 投资者为对冲下行风险付费(买看跌期权),把隐含波动率推高至已实现波动率之上
  • 损失厌恶: 人们对亏损的恐惧是对盈利渴望的 2.5 倍 → 为保护付出过高代价
  • 崩盘风险: 市场跌得比涨得快 → 尾部风险溢价被嵌入期权价格
  • 供需失衡: 买保护的人多于卖保护的人 → 隐含波动率居高不下

问题在于: 波动率风险溢价在 85% 至 90% 的时间里是正的,但在 转为负值 危机期间(VIX > 30)会转为负值。正是这种负偏度杀死了波动率卖方。

VIX 期货曲线:升水与贴水

关键洞察: VIX 是一个指数,你无法直接交易它。你交易的是 VIX 期货,它具有期限结构(不同到期月份对应不同价格)。

升水(正常状态——占 85% 的时间)

定义: 远月合约相对现货 VIX 和近月合约存在 溢价 。

升水曲线示例(正常市场):

VIX 指数:14.5

VX1(1 个月):15.8(较现货高 9%)

VX2(2 个月):17.2(较现货高 19%)

VX3(3 个月):18.4(较现货高 27%)

VX6(6 个月):21.0(较现货高 45%)

会发生什么: 随着时间推移,近月合约会 向下收敛 至现货 VIX。这对做多波动率的仓位(比如 VXX)形成持续的拖累。

交易做法: 做空 VIX 期货 (或做多 XIV、SVXY 这类反向 ETP),以捕捉升水衰减。

  • 每日展期收益: 陡峭升水时每月 2% 至 5%(年化 24% 至 60%)
  • 历史胜率: 80% 至 85% 的交易日录得正收益
  • 年化回报(2009-2017): 做空波动率策略为 15% 至 20%

贴水(危机状态——占 10% 至 15% 的时间)

定义: 近月合约相对远月合约存在 溢价 (曲线倒挂)。

贴水曲线示例(恐慌/危机):

VIX 指数:38.2

VX1(1 个月):36.5(较现货低 4.5%)

VX2(2 个月):32.8(较现货低 14%)

VX3(3 个月):29.4(较现货低 23%)

VX6(6 个月):24.2(较现货低 37%)

会发生什么: 市场预期波动率将从当前的高位 回落 。近月合约会向上展期至更高的 up 次月价格。

交易做法: 做多 VIX 期货 (或 VXX),以捕捉贴水的展期收益。

  • 每日展期收益: 陡峭贴水时每月 3% 至 10%(年化 40% 至 120%)
  • 问题: 贴水平均只持续 2 至 10 天(窗口很短)
  • 切换风险: 曲线会迅速翻回升水——错过离场时点,就会输光

2018 年 2 月 5 日:波动率末日

发生了什么: 史上最大的单日 VIX 飙升,摧毁了 50 亿美元的做空波动率产品。

崩塌的时间线

时间(美东) 事件 VIX 水平 XIV 价格
2 月 5 日上午 9:30 开盘,标普 500 下跌 1% 13.5 $109.00
2 月 5 日下午 2:00 标普 500 加速下跌(-2.5%) 19.8 $85.00
2 月 5 日下午 3:30 算法抛售的连锁反应开始 28.4 $60.00
2 月 5 日下午 4:00(收盘) 标普 500 下跌 4.1%(2011 年以来最差的一天) 37.3(单日 +115%) $18.00 (-83%)
2 月 5 日下午 5:00 瑞士信贷触发终止条款 — 5.00 美元(累计 -95%)
2 月 6 日(次日) XIV 被清算,最终每股赔付 4.22 美元 — 归零(退市)

伤亡名单:

  • XIV(VelocityShares 每日反向 VIX): 20 亿美元 → 0(亏损 100%,终止)
  • SVXY(ProShares 做空 VIX): 140 美元 → 5.50 美元(亏损 96%),随后进行了缩股
  • ZIV(VelocityShares 中期反向): 140 美元 → 55 美元(亏损 61%)
  • LJM Preservation 基金: 11 亿美元管理规模 → 全部清算
  • 散户投资者: 估计亏损 30 亿至 50 亿美元

为何会发生(机制)

1. 做空波动率的仓位过于庞大: 40 亿至 50 亿美元的 VIX 期货空头敞口(XIV、SVXY、ZIV 以及对冲基金)

2. 强制买入的连锁反应:

  • VIX 飙升 → 做空波动率的产品迅速亏损
  • ETP 必须每日再平衡 → 被迫 买入 VIX 期货 以降低敞口
  • 买入 VIX 期货 → 把 VIX 推得更高
  • VIX 更高 → 需要更多再平衡 → 买入更多 → VIX 爆炸
  • 自我强化的反馈循环 (波动率世界里的 gamma 挤压)

3. 终止条款被触发: XIV 的招募说明书写着"若单日净值下跌超过 80%,即行清算"。它跌了 95% → 被终止。

教训: 做空波动率的策略具有 负 gamma——随着 VIX 上升,亏损呈指数级加速。VIX 上涨 100%(13 → 26)造成 50% 亏损;上涨 200%(13 → 39)造成 80% 至 95% 亏损。

如何交易波动率而不爆仓

策略一:带硬止损的做空波动率(保守)

方法: 卖出 VIX 期货(或使用 SVXY),但在 VIX 越过危险阈值时 立即离场 。

规则:

  • 入场: VIX < 16,升水 > 5%(近月合约较现货高 5% 以上)
  • 仓位规模: 最多占组合的 5%(建议 3%)
  • 止损: 若 VIX 收在 20 以上,全部离场(赶在它飙到 30 至 40 之前)
  • 重新入场: 等 VIX < 16 且升水恢复

回测(2010-2023):

  • 年化: 12.8%(占组合 5% 时,为整体贡献 +0.64%)
  • 最大回撤: -18.2%(在 VIX 22 时离场,躲过了波动率末日)
  • 胜率: 78%(22% 的时间被止损,但保住了本金)
  • 平均持仓: 42 天(吃到升水衰减,在飙升前离场)

优点: 简单,能避开灾难性亏损

缺点: 在震荡市中会被反复打脸(VIX 常在 16 至 22 之间来回),会少赚一些

策略二:日历价差(押注曲线陡峭度)

方法: 交易的是 VIX 曲线的 陡峭程度 ,而不是方向性下注。

条件:

  • 做空 VX1(近月): 价格高,在升水中向下滚落得快
  • 做多 VX2 或 VX3(次月至第三月): 更便宜,VIX 飙升时可作对冲
  • 目标: 曲线变陡时(升水扩大)获利

示例 trade (Dec 2023):

入场(VIX = 13.2):

做空 1 手 VX1(1 月合约)@14.5

做多 1 手 VX2(2 月合约)@15.8

价差: -1.3 点(支付升水)

15 天后离场(VIX = 12.8):

VX1 已展期至 2 月 → 现为 13.2(下跌 1.3 点)

VX2(2 月合约)→ 14.6(下跌 1.2 点)

盈亏: +1.3(空头)-1.2(多头)= 每组价差 +100 美元(+7.7%)

它为何有效: 升水结构中,近月合约衰减得比远月快。你做多的是升水衰减(空近月),同时对冲了波动率飙升(多远月)。

表现:

  • 胜率: 68%
  • 平均盈利: 每笔 +8%
  • 平均亏损: -12%(贴水出现时)
  • 最大亏损: -35%(2018 年 2 月的波动率末日,但没有爆仓)
  • 年回报: 15% 至 18%,每年 10 至 15 笔

优点: 有对冲,比裸空更能扛住波动率飙升

缺点: 需要期货账户、保证金,执行也复杂

策略三:带尾部对冲的卖出波动率

方法: 卖出波动率以赚取升水溢价,同时用廉价的 VIX 看涨期权对冲尾部风险。

条件:

  • 核心仓位: 做空 SVXY 或卖出 VIX 期货(占资金 80%)
  • 尾部对冲: 买入行权价 30 至 40、1 至 3 个月到期的 VIX 看涨期权(占资金 20%)
  • 对冲成本: 每年 3% 至 5%(拉低回报,但封住亏损)

示例 (Jan 2024):

组合:100,000 美元

配置:

4,000 美元做空 SVXY(占组合 4%)

1,000 美元买入 3 月到期、行权价 35 的 VIX 看涨期权@0.50(2,000 张,delta 为 20)

情景一:平常月份(VIX 维持在 12 至 16)

SVXY:升水收益 +5% = +200 美元

VIX 看涨期权到期作废 = -1,000 美元

净额:-800 美元(占 10 万美元组合的 -0.8%)

情景二:波动率飙升(VIX → 38,如 2018 年 2 月)

SVXY:亏损 70% = -2,800 美元

VIX 看涨期权:行权价 35,VIX 在 38 = 内在价值 3.00 美元(+600%)

看涨期权盈亏:(3.00 - 0.50)× 2,000 = +$5,000

净额:+2,200 美元(在波动率末日中反而赚了 2.2%!)

关键洞察: 尾部对冲具有 凸性——VIX 爆炸时它们呈指数级获利,而 SVXY 的亏损是线性的。对冲带来的收益绰绰有余。

历史表现(2012-2023):

  • 年化: 10.2%(低于裸空波动率,但能熬过危机)
  • 最大回撤: -8.4%(对比 2018 年未对冲的 SVXY 为 -96%)
  • 夏普: 1.1(风险调整后极佳)
  • 与 SPY 的相关性: -0.2(带来分散化收益)

优点: 能挺过波动率末日式的事件,回报平滑

缺点: 对冲每年成本 3% 至 5%,执行复杂,且需要期权交易权限

数据对比:VXX 与 SVXY(2010-2023)

VXX(做多波动率): 设计上追踪 VIX 指数

指标 VXX(做多波动率) SVXY(做空波动率)
13 年回报(2010-2023) -99.7% ($10,000 → $30) +180% ($10,000 → $28,000)
CAGR -29.4% +8.2%(2018 年之前)、-3.1%(2018 年之后)
盈利天数占比 12%(88% 的日子在亏钱) 63%(63% 的日子在赚钱)
最大回撤 -99.9%(持续衰减) -96%(2018 年 2 月波动率末日)
单日最佳 +47.8%(2018 年 2 月 5 日) +23.4%(2020 年 4 月 2 日新冠反弹)
单日最差 -27.4%(2018 年 2 月 8 日) -83%(2018 年 2 月 5 日)

教训: VXX 会缓慢地流血至归零(升水衰减)。SVXY 缓慢获利,然后迅速炸成零(尾部风险)。两者都极不适合长期持有。

Python 工具:VIX 期限结构分析器

import yfinance as yf
import pandas as pd
import numpy as np

def analyze_vix_curve():
    """
    Analyzes VIX term structure to identify contango/backwardation opportunities
    """
    # Download VIX futures (use VX futures symbols)
    vix_spot = yf.download('^VIX', period='5d')['Close'].iloc[-1]

    # Note: Futures symbols change monthly - update these
    vx1 = yf.download('VX=F', period='5d')['Close'].iloc[-1]  # Front month
    vx2 = yf.download('VXH24.CBE', period='5d')['Close'].iloc[-1]  # 2nd month
    vx3 = yf.download('VXJ24.CBE', period='5d')['Close'].iloc[-1]  # 3rd month

    # Calculate contango/backwardation
    m1_premium = (vx1 / vix_spot - 1) * 100
    m2_premium = (vx2 / vix_spot - 1) * 100
    curve_steepness = ((vx2 - vx1) / vx1) * 100

    print("="*60)
    print("VIX TERM STRUCTURE ANALYSIS")
    print("="*60)
    print(f"VIX Spot:       {vix_spot:.2f}")
    print(f"VX1 (M1):       {vx1:.2f} ({m1_premium:+.1f}% vs spot)")
    print(f"VX2 (M2):       {vx2:.2f} ({m2_premium:+.1f}% vs spot)")
    print(f"VX3 (M3):       {vx3:.2f}")
    print(f"Curve Steepness: {curve_steepness:+.2f}% (M2/M1)")
    print()

    # Regime detection
    if vix_spot < 16 and m1_premium > 3:
        regime = "CONTANGO - Short vol favorable"
        signal = "Consider: Short SVXY / Sell VX1 futures / Calendar spreads"
    elif vix_spot > 25 and m1_premium < -2:
        regime = "BACKWARDATION - Long vol favorable"
        signal = "Consider: Long VXX / Buy VX1 futures / Exit short vol"
    elif vix_spot > 20:
        regime = "ELEVATED VOL - DANGER ZONE"
        signal = "WARNING: Exit all short vol positions immediately"
    else:
        regime = "NEUTRAL - Wait for clear signal"
        signal = "No trade - curve not steep enough"

    print(f"Regime: {regime}")
    print(f"Action: {signal}")
    print()

    # Risk assessment
    if vix_spot < 14:
        risk_level = "LOW - Safe for vol selling"
    elif vix_spot < 18:
        risk_level = "MODERATE - Reduce position size"
    elif vix_spot < 22:
        risk_level = "ELEVATED - Consider exiting"
    else:
        risk_level = "HIGH - EXIT ALL SHORT VOL NOW"

    print(f"Risk Level: {risk_level}")
    print("="*60)

    return {
        'vix_spot': vix_spot,
        'vx1': vx1,
        'vx2': vx2,
        'm1_premium': m1_premium,
        'curve_steepness': curve_steepness,
        'regime': regime
    }

# Run analysis
if __name__ == "__main__":
    results = analyze_vix_curve()

用法: 每天开盘前运行。若 VIX > 20,立即清掉所有做空波动率的仓位(别等它冲到 30 至 40)。

要点回顾

  • 波动率风险溢价是真实存在的: 85% 的时间里隐含波动率高于已实现波动率(平均优势 +4.2%)
  • 升水是你的朋友: VIX 期货曲线有 80% 至 85% 的时间向上倾斜(每月 2% 至 5% 的展期收益)
  • 但尾部风险会要命: 2018 年 2 月波动率末日:XIV 归零、SVXY 24 小时内亏损 96%
  • 绝不要裸持做空波动率的仓位: VXX 在 13 年里亏损 99.7%,而 SVXY 一天就能爆掉
  • 使用硬止损: VIX > 20 时就离场(赶在它飙到 30 至 40 之前)
  • 日历价差有效: 空 VX1、多 VX2——对升水衰减的对冲式敞口(年化 15% 至 18%)
  • 尾部对冲效果更好: 买入 VIX 看涨期权(行权价 30 至 40)对冲空头——能挺过波动率末日(年化 10%,最大回撤 -8%)
  • 仓位规模:最多 5%: 波动率策略一天就能亏 80% 至 100%——据此确定仓位
  • VXX 就是个坑: 因升水放血,13 年亏损 99.7%(持有绝不要超过一周)
  • 机构的优势: 对冲基金使用方差互换、场外期权和 gamma 对冲——散户处于劣势

谁适合交易波动率

以下情况你才适合交易波动率:

  • 你有 10 万美元以上资金(小账户无法妥善控制仓位或对冲)
  • 你能每天盯盘(波动率可能隔夜爆炸)
  • 你对止损有纪律(不会抱着"它会回来的"侥幸)
  • 你理解期货与期权的运作机制
  • 你能承受所配置的那 5% 亏损 80% 至 100%(情绪上和财务上都能)

以下情况你**不该**交易波动率:

  • 你刚接触期权或期货(先把那些学透)
  • 你承受不起一天之内损失组合的 5%
  • 你没时间每天盯盘
  • 你在不理解风险的情况下追逐高回报
  • 你觉得"这次不一样"(波动率末日还会再来)

🚨 最后的警告:波动率不是免费的钱

每一个卖波动率的人最终都要面对这个选择:

  • 提早离场: 有 20% 至 30% 的时候会错过升水收益(被打脸)
  • 离场太晚: 有 2% 至 5% 的时候会把本金全部炸光(波动率末日)

没有完美的答案。卖出波动率是一种 负偏度策略——持续的小额盈利,加上罕见的灾难性亏损。确定仓位时,请假定 全部亏光是可能的.

相关文章