核心思想

波动率曲面 (Volatility Surface) 将隐含波动率映射为行权价 K 和到期日 T 的函数 σ(K,T)\sigma(K, T)。利用曲面的偏斜(Skew)和期限结构(Term Structure)异常进行套利。

Skew=σ(K20%)σ(K+20%)0.4\text{Skew} = \frac{\sigma(K_{-20\%}) - \sigma(K_{+20\%})}{0.4}

Term Spread=σ(K,Tnear)σ(K,Tfar)\text{Term Spread} = \sigma(K, T_{\text{near}}) - \sigma(K, T_{\text{far}})

曲面异常信号

信号含义策略方向
偏斜异常陡峭Put 被过度定价做空 Put / 买入 Call
偏斜异常平坦恐慌消退过度做空 Call / 买入 Put
近月溢价过高短期波动率偏高做空近月 / 做多远月 (Calendar Spread)
期限倒挂罕见但真实存在做多近月 / 做空远月

Python 实现框架

import numpy as np
from scipy import interpolate

def build_vol_surface(iv_grid, strikes, expiries):
    """从离散 IV 网格构建平滑波动率曲面"""
    X, Y = np.meshgrid(expiries, strikes)
    interp = interpolate.Rbf(iv_grid, X.ravel(), Y.ravel(), function='thin_plate')
    return interp

def detect_skew_anomaly(skew_series, z_threshold=2.0):
    """检测偏斜异常"""
    z_scores = (skew_series - skew_series.mean()) / skew_series.std()
    return {
        'current_z': z_scores.iloc[-1],
        'signal': 'STEEPEN' if z_scores.iloc[-1] > z_threshold 
                  else 'FLATTEN' if z_scores.iloc[-1] < -z_threshold
                  else 'NORMAL',
    }

局限

参考文献

  1. Rosenberg, J., 2004. “Implied Arbitrage.”
  2. Bensason, A., 2018. “Trading the Volatility Surface.”