核心思想

波动率风险溢价 (Volatility Risk Premium, VRP) 指期权的隐含波动率(IV)系统性高于标的资产已实现波动率(RV),做空虚值期权可以获取这一溢价的收益。

VRPt=σimpl2Et[σrealized2]\text{VRP}_t = \sigma_{\text{impl}}^2 - E_t[\sigma_{\text{realized}}^2]

其中 σimpl\sigma_{\text{impl}} 为期权市场隐含的标准差(通常从 Black-Scholes 公式反推),σrealized\sigma_{\text{realized}} 为标的资产历史已实现波动率。

VRP 的来源与解释

VRP 并非”免费午餐”,而是对投资者承担的尾部风险的补偿。其经济学解释包括:

  1. 恐慌溢价假说:市场恐慌时,投资者疯狂买入 Put 对冲尾部风险,推高 IV。做卖方收取了超额保费但承担了真正的黑天鹅损失。

  2. 波动率聚类效应:GARCH 过程中,IV 是 RV 的无偏预测值,但包含了正向的波动率风险溢价。

  3. 投资者非理性行为:对近期波动的过度反应(overreaction)导致 IV 持续偏高。

数学表达

从风险中性定价框架看,VIX 指数(即 σimpl2\sigma_{\text{impl}}^2)满足:

VIXt2=2TEtQ[0T1Su2dSu]1T(STS0S0)2\text{VIX}_t^2 = \frac{2}{T}\cdot E_t^{\mathbb{Q}}\left[\int_0^T \frac{1}{S_u^2} dS_u\right] - \frac{1}{T}\left(\frac{S_T - S_0}{S_0}\right)^2

而在物理测度 P\mathbb{P} 下:

VRP=2TEtQ[0T1Su2dSu]EtP[1T0Tσu2du]\text{VRP} = \frac{2}{T}\cdot E_t^{\mathbb{Q}}\left[\int_0^T \frac{1}{S_u^2} dS_u\right] - E_t^{\mathbb{P}}\left[\frac{1}{T}\int_0^T \sigma_u^2 du\right]

Q=P\mathbb{Q} = \mathbb{P}(无风险溢价)时,VRP = 0。实证发现 VRP > 0 且统计显著。

实施框架

基础策略:做空虚值 Put

核心逻辑:每日/每周卖出虚值程度一致的 Put,持有至到期平仓。

参数选择

Python 实现框架

import numpy as np
from scipy import stats, optimize
from dataclasses import dataclass

@dataclass
class OptionParam:
    S: float       # 标的价格
    K: float       # 行权价
    T: float       # 到期时间(年)
    r: float       # 无风险利率
    market_price: float

def black_scholes(S, K, T, r, iv):
    """Black-Scholes 定价"""
    d1 = (np.log(S/K) + (r + 0.5 * iv**2) * T) / (iv * np.sqrt(T))
    d2 = d1 - iv * np.sqrt(T)
    return S * stats.norm.cdf(d1) - K * np.exp(-r*T) * stats.norm.cdf(d2)

def implied_volatility(option: OptionParam, tol=1e-6):
    """Newton-Raphson 求解隐含波动率"""
    iv = 0.3  # 初始猜测
    
    for _ in range(200):
        price = black_scholes(option.S, option.K, option.T, option.r, iv)
        
        # Vega (价格对波动率的偏导)
        d1 = (np.log(option.S/option.K) + 
              (option.r + 0.5 * iv**2) * option.T) / (iv * np.sqrt(option.T))
        vega = option.S * np.sqrt(option.T) * stats.norm.pdf(d1)
        
        if abs(vega) < 1e-12:
            break
            
        price_diff = price - option.market_price
        if abs(price_diff) < tol:
            break
            
        iv = iv - price_diff / vega
    
    return max(iv, 0.01)

def realized_volatility(returns, window=20):
    """已实现波动率 (年化)"""
    return returns.rolling(window).std() * np.sqrt(252)

# 完整的 VRP 策略回测
class VRPStrategy:
    def __init__(self, delta_target=0.15, stop_loss_pct=0.08):
        self.delta_target = delta_target
        self.stop_loss = stop_loss_pct
        
    def pick_option(self, option_chain, S, delta_target=0.15):
        """从期权链中选择 Delta 接近目标虚值 Put"""
        puts = [o for o in option_chain if o['type'] == 'put' and o['days_to_exp'] <= 14]
        if not puts:
            return None
        
        best = min(puts, key=lambda o: abs(o['delta'] + delta_target))
        return best
    
    def generate_signal(self, iv_series, rv_series):
        """VRP 信号:IV > RV + 偏移"""
        vrp = iv_series - rv_series.rolling(20).mean()
        return (vrp > 0).astype(int)  # 1 = 做空 Put, 0 = 空仓

数据需求

类型示例频率要求来源
期权链数据CBOE VIX 成分股、中国 ETF 期权实时/分钟级Wind, CBOE, Polygon
标的价格时序日频/分钟级收盘价1min-1day交易所行情、YFinance
已实现波动率 RV高频已实现方差估计Parzen window / GARCH
隐含波动率 IVATM IV、IV Term StructureBS 反推或 VIX 直接获取
无风险利率Treasury yield / SHIBOR日频FRED、央行网站
VIX 指数30 日 ATM IV 近似日频CBOE、Yahoo Finance

策略进化:VRP + 信号过滤

实证研究发现,单纯的 VRP 策略在极端市场(如 2008、2020)会遭遇严重回撤。通过在 VRP 框架上叠加方向性信号,可以有效改善风险收益比:

策略 B: VRP + 信号过滤 + IV 过滤

版本总收益年化夏普最大回撤
基础 VRP(纯做空虚值 Put)+320%12.8%0.85-28.3%
VRP + 信号过滤(叠加 MACD/CCI 方向信号)+580%19.25%1.10-30.69%
VRP + 信号 + IV 过滤(IV < 25% 时减仓)+460%16.8%1.22-22.1%
VRP + 硬止损(单笔亏损 >8% 立即止损)+1,270%27.18%2.07-5.52%

硬止损规则设计

class VRPWithStopLoss(VRPStrategy):
    def __init__(self, stop_loss_pct=0.08, max_position_size=0.3):
        super().__init__()
        self.stop_loss_pct = stop_loss_pct
        self.max_position_size = max_position_size
        
    def check_stop_loss(self, entry_price, current_price):
        """检查是否需要触发止损"""
        pnl = (entry_price - current_price) / entry_price  # Put: 价格上涨=亏损
        return pnl >= self.stop_loss_pct
    
    def adjust_position_size(self, iv_level, regime='normal'):
        """根据 IV 水平和市场状态动态调整仓位"""
        base_size = self.max_position_size
        
        # IV 过高时减仓(尾部风险增大)
        iv_multiplier = min(1.0, 30.0 / iv_level)  # IV=20 → 1.0, IV=40 → 0.75
        
        # 市场状态调整
        regime_multiplier = {
            'bull': 1.0,
            'range': 0.8,
            'bear': 0.5,
            'crisis': 0.2
        }
        
        return base_size * iv_multiplier * regime_multiplier.get(regime, 1.0)

风险与局限

⚠️ 尾部风险(Tail Risk)

VRP 最核心的风险:一次剧烈的市场下跌可以抹平数月甚至数年的收益。2008 年金融危机期间,VIX 从 ~15 飙升至 >80,做空 Put 的策略遭受毁灭性打击。2020 年 3 月新冠疫情爆发,VIX 单日暴涨 168%。

缓解措施

⚠️ 流动性风险

远月合约和深度虚值期权可能存在较大的买卖价差(bid-ask spread),实际成交成本显著高于理论价格。在极端市场期间,流动性枯竭可能使止损无法执行。

⚠️ 模型风险

IV 通过 Black-Scholes 公式反推,假设了 Black-Scholes 的隐含假设(对数正态分布、连续对冲等),这些假设在现实中均不成立。不同 BS 模型变体(Heston、SABR)可能给出不同的 IV 值。

参考文献

  1. Burmeister, D. & Turnbull, S., 2006. “The Joint Estimation of Risk Factors in Financial and Option Markets.”
  2. Bauer, R., Crimino, J. & Vlooswijk, T., 2015. “The Volatility Risk Premium and Downside Risk Protection.”
  3. Carr, P. & Wu, L., 2009. “Variance Risk Premiums.” Review of Financial Studies.
  4. Bakshi, G., Kapadia, N. & Madan, D., 2003. “Return Dynamics and the Put Option.” Review of Financial Studies.
  5. Guo, H., 2009. “The Volatility Risk Premium in the S&P 500.”

相关资源

变体与演进

版本描述夏普比适用场景
基础 VRP纯做空虚值 Put,持有到期~0.85流动性好的指数期权
VRP + 信号过滤MACD/CCI 方向筛选,负信号时空仓~1.10中等流动性市场
VRP + 硬止损单笔亏损 >8% 强制平仓~2.07个人量化交易
IV-Rank VRP仅当 IV Rank > 50% 时开仓~1.22趋势性市场
Calendar Spread VRP卖近月 Put / 买远月 Put 构造日历价差~1.30低利率环境
Regime-aware VRPBull/Range/Bear 三状态切换策略待验证高级应用