8. 波动率期限结构:期货升水与贴水,Contango与Backwardation

聊到波动率指数交易,有个概念你绕不开——期限结构

说白了,就是不同到期日的VIX期货合约,它们的价格是怎么排列的。是近月便宜、远月贵?还是反过来?这两种形态,在圈里分别叫Contango和Backwardation。嗯,这两个词听起来挺唬人,但背后的逻辑其实很朴素。

8.1 什么是Contango和Backwardation?

先给个直观的定义:

  • Contango(期货升水):远月合约价格 > 近月合约价格。曲线向上倾斜。
  • Backwardation(期货贴水):远月合约价格 < 近月合约价格。曲线向下倾斜。

你想想看,VIX本身不能直接交易,我们交易的是VIX期货。这些期货的价格,反映的是市场对未来30天波动率的预期。如果市场觉得未来波动会变大,远月自然就贵;如果觉得眼下很恐慌,近月就会飙升。

核心记忆点:

  • Contango = 正常状态,市场平静,远期溢价
  • Backwardation = 恐慌状态,短期风险飙升

8.2 为什么VIX期货长期处于Contango?

我个人习惯把VIX期货看成一种“保险”。

你买一份未来三个月的波动率保险,保险公司(市场)会收你一个溢价。因为未来不确定性更大,远月自然要贵一些。历史上,VIX期货大约80%的时间都处在Contango状态。

我在项目中遇到过不少新手,一看到Contango就想着做空。其实没那么简单。Contango的幅度和衰减速度,才是赚钱的关键。

8.3 Backwardation:恐慌的信号

Backwardation就很少见了。一旦出现,往往意味着市场正在经历剧烈震荡。

我记得2018年2月那次“Volmageddon”,VIX现货一天飙到50,近月期货直接被打到天上,远月反而没怎么动。曲线瞬间从Contango翻成了Backwardation。那场面,做空波动率的人一夜爆仓。

避坑指南:

我曾经在Backwardation初期尝试做多远期合约,以为能抄底。结果近月继续飙升,远月反而下跌,曲线变得更陡。后来我才明白:Backwardation时,近月是情绪,远月是理性。别用远月去赌近月的恐慌。

8.4 期限结构的量化刻画

光定性不够,我们得量化。我常用的指标有两个:

  1. 斜率(Slope):远月价格 - 近月价格。正数表示Contango,负数表示Backwardation。
  2. 曲率(Curvature):中间月份相对于两端的位置。用来判断曲线是凸的还是凹的。

下面是一张典型的VIX期货期限结构数据表(示例):

合约月份 价格 距到期天数 Contango幅度
M1(近月) 15.2 7 -
M2 16.8 35 +1.6
M3 17.5 63 +0.7
M4 17.9 91 +0.4

你看,M1到M2的Contango幅度最大(1.6个点),越往后越平缓。这就是典型的“近端陡峭、远端平坦”结构。

8.5 核心知识体系:一张图看懂

下面我用一张SVG图,把本章的核心逻辑串起来。你一看就明白。

波动率期限结构核心逻辑 Contango(期货升水) 远月 > 近月,曲线向上 Backwardation(期货贴水) 远月 < 近月,曲线向下 特征 • 市场平静期常见(约80%时间) • 远期不确定性溢价 • 做空波动率的“顺风”环境 特征 • 市场恐慌时出现 • 短期风险急剧升高 • 做多波动率的“天堂” 交易策略启示 • Contango时:滚动做空近月期货,赚取时间衰减(Roll Yield) • Backwardation时:做多近月或买入看涨期权,捕捉恐慌溢价 • 关键指标:斜率变化率 & 曲率拐点,比绝对价格更重要

8.6 实战中的期限结构交易

光知道定义没用,得能赚钱。我分享两个实战思路。

思路一:Contango下的滚动收益

这是最经典的玩法。VIX期货在Contango时,近月合约每天会向现货价格收敛。你卖出近月,买入远月,等近月到期后滚动到下个月。只要Contango结构不变,你就能赚到“时间衰减”的钱。

但要注意:一旦市场突然转向Backwardation,这个策略会亏得很惨。我见过有人连续赚了半年,一周就全吐回去。

思路二:Backwardation的均值回归

Backwardation通常不会持续太久。市场恐慌过后,曲线会迅速恢复Contango。这时候,你可以做空近月、做多远月,赌曲线变陡。

我的小技巧:

不要只看价格,要看期限结构的斜率变化率。如果斜率从+2.0快速收窄到+0.5,即使还是Contango,也说明市场在变恐慌。这时候就该减仓了。

8.7 量化监控:一个简单的Python片段

下面是我以前写的一个小工具,用来实时监控VIX期货的期限结构。代码不长,但很实用。

import pandas as pd
import numpy as np

# 假设你从数据源拿到了VIX期货价格
data = {
    'contract': ['M1', 'M2', 'M3', 'M4'],
    'price': [15.2, 16.8, 17.5, 17.9],
    'dte': [7, 35, 63, 91]  # days to expiry
}
df = pd.DataFrame(data)

# 计算Contango幅度
df['contango'] = df['price'].diff()
df['contango_pct'] = df['price'].pct_change() * 100

# 判断结构状态
if df['contango'].iloc[1] > 0:
    structure = 'Contango'
else:
    structure = 'Backwardation'

print(f"当前期限结构: {structure}")
print(df[['contract', 'price', 'contango', 'contango_pct']])

这段代码会输出每个合约相对于前一个合约的升水幅度。我习惯把斜率变化画成曲线,一旦斜率连续三天收窄,就提醒自己注意风险。

8.8 最后说两句

期限结构是VIX交易的地基。地基不稳,楼盖得再高也得塌。

我个人习惯每天开盘前先看一眼VIX期货的曲线形态。是Contango还是Backwardation?斜率在变陡还是变平?这些信息比VIX的绝对数值重要得多。

嗯,今天就聊到这儿。记住一句话:Contango是你的朋友,Backwardation是你的敌人——但朋友也可能翻脸,敌人也可能给你机会。


公众号:蓝海资料掘金营,微信deep3321