波动率风险溢价 (Volatility Risk Premium, VRP) 指期权的隐含波动率(IV)系统性高于标的资产已实现波动率(RV),做空虚值期权可以获取这一溢价的收益。
其中 为期权市场隐含的标准差(通常从 Black-Scholes 公式反推), 为标的资产历史已实现波动率。
VRP 并非”免费午餐”,而是对投资者承担的尾部风险的补偿。其经济学解释包括:
恐慌溢价假说:市场恐慌时,投资者疯狂买入 Put 对冲尾部风险,推高 IV。做卖方收取了超额保费但承担了真正的黑天鹅损失。
波动率聚类效应:GARCH 过程中,IV 是 RV 的无偏预测值,但包含了正向的波动率风险溢价。
投资者非理性行为:对近期波动的过度反应(overreaction)导致 IV 持续偏高。
从风险中性定价框架看,VIX 指数(即 )满足:
而在物理测度 下:
当 (无风险溢价)时,VRP = 0。实证发现 VRP > 0 且统计显著。
核心逻辑:每日/每周卖出虚值程度一致的 Put,持有至到期平仓。
参数选择:
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 |
| 隐含波动率 IV | ATM IV、IV Term Structure | — | BS 反推或 VIX 直接获取 |
| 无风险利率 | Treasury yield / SHIBOR | 日频 | FRED、央行网站 |
| VIX 指数 | 30 日 ATM IV 近似 | 日频 | CBOE、Yahoo Finance |
实证研究发现,单纯的 VRP 策略在极端市场(如 2008、2020)会遭遇严重回撤。通过在 VRP 框架上叠加方向性信号,可以有效改善风险收益比:
| 版本 | 总收益 | 年化 | 夏普 | 最大回撤 |
|---|---|---|---|---|
| 基础 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)
VRP 最核心的风险:一次剧烈的市场下跌可以抹平数月甚至数年的收益。2008 年金融危机期间,VIX 从 ~15 飙升至 >80,做空 Put 的策略遭受毁灭性打击。2020 年 3 月新冠疫情爆发,VIX 单日暴涨 168%。
缓解措施:
远月合约和深度虚值期权可能存在较大的买卖价差(bid-ask spread),实际成交成本显著高于理论价格。在极端市场期间,流动性枯竭可能使止损无法执行。
IV 通过 Black-Scholes 公式反推,假设了 Black-Scholes 的隐含假设(对数正态分布、连续对冲等),这些假设在现实中均不成立。不同 BS 模型变体(Heston、SABR)可能给出不同的 IV 值。
| 版本 | 描述 | 夏普比 | 适用场景 |
|---|---|---|---|
| 基础 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 VRP | Bull/Range/Bear 三状态切换策略 | 待验证 | 高级应用 |