5. 波动率曲面套利策略:日历价差、对角价差在曲面上的应用

聊到波动率曲面套利,很多人第一反应是「这东西太复杂,不是我们散户玩的」。其实不然。我做了这么多年衍生品交易,最深的体会是:曲面上的套利机会,往往比平值期权更直观、更稳定

今天咱们就聚焦两个最经典的曲面套利工具——日历价差对角价差。说白了,它们都是在利用曲面不同位置的「定价偏差」来赚钱。

5.1 日历价差:赌的是「时间结构」的扭曲

日历价差,也叫时间价差。它的逻辑很简单:买入远月期权,卖出近月期权,行权价相同。

你可能会问:「两个期权行权价一样,那不就是赌波动率期限结构吗?」没错,就是这个意思。

我记得刚入行时,有个老交易员跟我说:「日历价差赚的是时间,不是方向。」当时我不太理解,后来自己跑了几次回测才明白——只要近月IV高于远月IV,这个组合天然就有正收益

5.1.1 曲面上的日历价差信号

怎么判断该不该做日历价差?我一般看三个指标:

  • 期限结构斜率:近月IV - 远月IV,差值越大,机会越好
  • 曲面局部凸度:同一行权价上,近月IV是否异常凸起
  • 事件日历效应:比如财报、FOMC会议前后,近月IV往往被高估

举个例子。假设VIX期货的曲面数据如下:

期限 平值IV 25D Put IV 25D Call IV
近月(7天) 22.5% 24.1% 21.3%
次月(30天) 19.8% 20.5% 19.2%
远月(60天) 18.2% 18.9% 17.8%

你看,近月平值IV是22.5%,远月只有18.2%。差了4.3个点。这在VIX市场上不算极端,但已经足够引起注意了。

核心逻辑:如果近月IV被高估,卖出近月期权、买入远月期权,等待近月IV回归均值,同时远月IV保持稳定,就能赚取价差收益。

5.1.2 实战中的避坑指南

我曾经犯过一个低级错误:做日历价差时没考虑股息和利率。结果呢?近月期权到期时,因为利率变化,组合亏了钱。

嗯,这里要注意:日历价差对利率和股息非常敏感。尤其是VIX期权,它本身没有股息,但标的指数(SPX)有。如果你做的是SPX期权的日历价差,一定要把股息成本算进去。

我个人的习惯是:先算盈亏平衡点,再决定是否入场。具体公式:

盈亏平衡点 = 远月期权价格 - 近月期权价格 + 行权价差调整

说白了,就是确保你的入场成本足够低,低到即使近月IV不回归,你也能扛得住。

5.2 对角价差:曲面上的「双维度」套利

对角价差是日历价差的升级版。它不光赌时间结构,还赌偏度结构。什么意思呢?就是买入远月某个行权价的期权,卖出近月另一个行权价的期权

你想想看,这样做的自由度就大多了。你可以:

  • 赌曲面「微笑」的形状变化
  • 赌偏度(Skew)的回归
  • 赌期限结构与偏度的联合扭曲

5.2.1 典型的对角价差策略

我常用的一个策略叫「反向对角价差」:

  • 买入:远月虚值Put(比如25D Put)
  • 卖出:近月平值Put(比如ATM Put)

这个组合的逻辑是:近月平值Put的IV往往被高估(因为市场恐慌时大家抢着买保护),而远月虚值Put的IV相对合理。一旦恐慌情绪消退,近月IV暴跌,远月IV变化不大,你就赚了。

小技巧:我一般用「曲面曲率」指标来筛选机会。具体做法是:计算每个行权价上近月与远月的IV差值,然后找差值最大的那个行权价。那个点,往往就是最佳入场点。

5.2.2 代码实现:曲面上的价差信号

下面是我自己用的一个Python片段,用来扫描曲面上的日历价差和对角价差机会:

import numpy as np
import pandas as pd

def scan_calendar_spread(surface_df, threshold=2.0):
    """
    surface_df: DataFrame, columns=['strike', 'near_iv', 'far_iv']
    threshold: IV差值阈值(百分比)
    """
    surface_df['iv_diff'] = surface_df['near_iv'] - surface_df['far_iv']
    signals = surface_df[surface_df['iv_diff'] > threshold]
    
    return signals

def scan_diagonal_spread(surface_df, skew_threshold=1.5):
    """
    扫描对角价差机会
    skew_threshold: 偏度差异阈值
    """
    # 计算近月偏度
    surface_df['near_skew'] = surface_df['near_iv'] - surface_df['atm_iv']
    # 计算远月偏度
    surface_df['far_skew'] = surface_df['far_iv'] - surface_df['atm_iv']
    # 找偏度差异最大的行权价
    surface_df['skew_diff'] = surface_df['near_skew'] - surface_df['far_skew']
    
    best_strike = surface_df.loc[surface_df['skew_diff'].idxmax()]
    return best_strike

这段代码不复杂,但很实用。我每天开盘前都会跑一遍,看看有没有明显的信号。

5.3 曲面套利的核心框架

说了这么多,咱们来总结一下。下面这张图是我自己画的,把日历价差和对角价差的逻辑串起来了:

波动率曲面套利策略框架 波动率曲面输入 日历价差策略 对角价差策略 核心逻辑 赌期限结构扭曲回归 近月IV高估 → 卖出近月,买入远月 核心逻辑 赌期限+偏度联合扭曲回归 不同行权价,不同期限的IV差异 风险控制:Gamma风险、Vega风险、利率/股息敏感性 图:波动率曲面套利策略决策流程

从图上你能看到,整个框架分四层:

  1. 曲面输入:获取完整的IV曲面数据
  2. 策略选择:根据信号类型选择日历价差或对角价差
  3. 核心逻辑:赌期限结构或偏度结构的扭曲回归
  4. 风险控制:管理Gamma、Vega、利率等风险因子

重要提醒:曲面套利不是无风险套利。它赚的是「均值回归」的钱,但均值不一定回归。我见过最惨的一次,近月IV连续高估了两个月,做日历价差的账户直接爆仓。所以,仓位管理比信号本身更重要

5.4 我的个人经验总结

做了这么多年,我总结了几条铁律:

  • 别贪:曲面套利的单笔收益率通常不高,但胜率高。我一般设定年化15%-20%的目标,超过就收手。
  • 别扛:如果曲面结构持续扭曲超过3天,说明市场逻辑变了,不是套利机会,是趋势。
  • 别忘:每次交易前,算清楚你的最大亏损。我习惯用「最坏情景分析」——假设近月IV不回归,远月IV反而上升,你会亏多少?

嗯,今天就聊到这儿。曲面套利是个慢功夫,需要耐心和纪律。但一旦你掌握了,你会发现它比单纯赌方向要舒服得多。


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