如果你买过指数期权,会发现一个反直觉的事实:指数期权的隐含波动率(IV),通常比它成分股 IV 的加权平均值要高。中间多出来的那一块,不是某个股票的特性,而是「成分股之间会一起动」的价格——学术界把它翻译成一个数字:隐含相关性(implied correlation)。指数 IV ≈ 成分股 IV 按权重 + 隐含相关性合成的结果。当市场恐慌或泡沫时,投资者抢买指数保护,指数 IV 被推得更高、隐含相关性被超额定价;但成分股真正实现的联动(实现相关性)没那么高。这两者之间的背离,就是 离散度交易(dispersion trading) 的猎场:做空被高估的相关性,即 long dispersion。
结论先放这:用 OU 过程模拟实现相关性 ρ_real(中枢 0.45、均值回复),并让隐含相关性 ρ_impl 在高相关 regime 被指数期权市场额外溢价 0.18·(ρ_real−0.40);在 ρ_impl 超过 70 分位的 60 个月里,仅 20 个月触发入场(做空相关性),择时策略净值从 1 涨到 1.669、年化 10.8%,明显跑赢『一直做空相关性、无择时』的 1.365 / 年化 6.4%——因为择时把『低隐含却硬做空』的亏损期过滤掉了。每期收益与『入场隐含 − 持有期实现相关性』近乎线性正相关(斜率≈0.20),背离越大赚越多。附完整 Python 与六类真实陷阱(高阶)。

图上蓝线是成分股真实联动 ρ_real,红线是指数期权推算的 ρ_impl。注意危机/泡沫段(ρ_real 冲高时)红线系统性地浮在蓝线之上——这就是指数期权对相关性的溢价。灰色虚线是 70 分位入场阈值,越过它才动手。
一、离散度交易的理论骨架#
设指数 ,在 Black-Scholes 假设下指数方差近似为
把「各成分股 IV 的加权平均」记为 ,其中 是用某个平均相关性替换逐对 。把指数 IV 的平方记为 (由指数期权反解),解出隐含相关性:
而实现相关性 是用历史收益率算出的实际联动。离散度交易的核心命题:
若 ,说明指数期权「替相关性付了溢价」——等价于市场预期成分股会比实际更同步地暴涨暴跌。此时应做空相关性:买入一篮子个股期权(多头个股 IV) + 卖出指数期权(空头指数 IV),净敞口是「赌相关性回落」。
直觉上:分散化在相关性高时「失效」(个股齐涨齐跌、组合不分散),指数保护变贵;当相关性回归正常,个股 IV 相对指数 IV 变得便宜,头寸盈利。这就是「离散度」——把指数这个「打包品」拆回成分股后的相对价值。
二、相关性序列的模拟(OU 过程)#
相关性不是常数,它在危机时飙升、平静时回落。用带均值回复的 OU 过程模拟实现相关性,并构造被超额定价的隐含相关性:
import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
rng = np.random.default_rng(20260715)
T = 750
theta, kappa, sig = 0.45, 0.05, 0.06 # 中枢 / 回复速度 / 波动
rho_real = np.zeros(T); rho_real[0] = theta
for t in range(1, T):
rho_real[t] = (rho_real[t-1]
+ kappa * (theta - rho_real[t-1])
+ sig * rng.standard_normal())
rho_real[t] = min(max(rho_real[t], 0.05), 0.95) # 截断到 [0.05, 0.95]
# 隐含相关性:高相关 regime 被指数期权市场溢价(危机/泡沫期抢买指数保护)
premium = 0.18 * (rho_real - 0.40) + 0.02 * np.sin(np.arange(T) / 25.0)
rho_impl = np.clip(rho_real + premium + rng.normal(0, 0.02, T), 0.05, 0.95)
months = 60
idx_month = np.linspace(0, T - 1, months + 1).astype(int)
thr = float(np.quantile(rho_impl, 0.70)) # 70 分位作入场阈值
scale = 0.20 # 背离→收益的缩放(月收益百分比量级)python三、入场信号与收益映射#
策略逻辑:每月初看 ρ_impl,若高于阈值则「做空相关性」(long dispersion),持有到月末,收益正比于「入场隐含 − 持有期实现相关性」的背离幅度;否则空仓。
pnl = np.zeros(months)
pnl_always = np.zeros(months)
signal = np.zeros(months, dtype=bool)
for j in range(months):
t0 = idx_month[j]; t1 = max(idx_month[j + 1], t0 + 1)
entry_impl = rho_impl[t0]
held_real = rho_real[t0:t1].mean()
diff = entry_impl - held_real # 背离:隐含被高估的幅度
pnl_always[j] = diff * scale # 一直做空(无择时)
if entry_impl > thr: # 择时:仅高隐含时入场
signal[j] = True
pnl[j] = diff * scale
eq = np.cumprod(1 + pnl)
eq_always = np.cumprod(1 + pnl_always)
print(f"threshold={thr:.3f} trades={signal.sum()}/{months}")
print(f"择时策略 终值={eq[-1]:.3f} 年化={100*(eq[-1]**(12/months)-1):.1f}%")
print(f"一直做空 终值={eq_always[-1]:.3f} 年化={100*(eq_always[-1]**(12/months)-1):.1f}%")
# threshold=0.605 trades=20/60
# 择时策略 终值=1.669 年化=10.8%
# 一直做空 终值=1.365 年化=6.4%python
散点图把「收益从哪来」说透了:横轴是入场隐含减持有期实现相关性,纵轴是该期收益。绿点(已入场) 几乎落在一条正斜率线上(拟合斜率≈0.20)——背离越大,赚得越多;灰叉是空仓期,钉在 0。策略赚的不是方向,是「相关性被高估后回归」的结构性价差。
四、择时为什么重要:权益曲线对比#

绿线(择时) 明显跑赢红线(一直做空)。关键不在「做空相关性」本身能赚多少,而在择时把错误的入场过滤掉了:当 ρ_impl 并不高、却硬做空,往往撞上相关性继续走高(危机深化) 而亏损;阈值只在「隐含被显著超额定价」时才放行,把这类时期挡在门外。
五、信号区高亮:收益集中来自哪里#

把 60 个月逐期收益画成柱状、并把入场期(绿色) 背景高亮,能直观看到:正收益几乎全部来自高亮信号区。空仓期收益恒为 0(不是负),说明不入场就不会亏——这正是指散度交易的「负凸性可控」特性:最大风险发生在持仓期内相关性不降反升,而择时把这种暴露限制在少数高确信窗口。
实务上,long dispersion 并不真的去买卖 500 只个股期权。最干净的代理是方差掉期(variance swap) 组合:做多一篮子成分股方差掉期、做空一份指数方差掉期,净敞口恰好等于「成分股间相关性的多头」——因为指数方差减成分股方差加权和,剩下的正是协方差项。若市场没有个股方差掉期流动性,退而用 ETF 抽样 + 指数期权 近似:挑 20~50 只流动性最好的成分股买期权构建篮子,再卖对应市值的指数期权对冲方向,使组合对指数水平近似中性、只留相关性暴露。无论哪种路径,关键都在于把「方向 delta」对冲掉,让盈亏只由相关性漂移驱动,否则你做的就不是离散度、而是又一笔方向赌注。
六、六类真实陷阱(高阶)#
- 负凸性 / 危机亏损:long dispersion 在相关性飙升时亏损(危机里个股齐跌、指数 IV 暴涨)。它是「卖保险」类头寸,尾部是负凸的。必须用阈值 + 严格止损约束持仓,不能裸做空相关性。
- 个股 IV 不可交易 / 流动性:合成用「成分股 IV 平均」代表可交易头寸,但真实里单只个股期权常流动性差、买卖价差宽,篮子构建成本吃掉大部分 alpha。标普 500 这类宽基做篮子几乎不可行,实务多改用ETF 成分抽样或方差互换而非直接个股期权。
- 权重与对冲再平衡:指数权重 每月变,组合需持续再平衡;忽略再平衡会引入跟踪误差,让「做空相关性」变成「赌权重漂移」。
- 隐含相关性计算依赖模型:文中 闭式近似假设 BS 与等额 。真实要用特定strike 的 IV 曲面并逐对反解,近似误差会扭曲阈值。
- 阈值用分位数的未来泄露:
np.quantile(rho_impl, 0.70)若用全样本分位,是偷看未来。实务必须用滚动窗口分位或固定历史分位作阈值。 - 相关性均值回复假设的脆弱:OU 假设相关性围绕中枢波动。但结构断点(2015 股灾、2020 新冠、注册制改革)会让相关性中枢永久上移,旧阈值失效。需监控相关性 regime 切换,必要时重估 θ。
七、落地建议#
离散度交易是波动率套利里最接近「纯相关性观点」的策略:它不赌指数涨跌,只赌「市场对未来关联度的恐慌定价」相对「真实关联度」偏高。对量化研究者,最有价值的部分不是那 10.8% 的年化(合成参数下),而是它提供了一块可交易、可归因的「相关性风险溢价」——你可以把它和 VRP(波动率风险溢价)叠加,用相关性维度给波动率择时增加一层信息。但记住:它是负凸的、需要择时、需要真实的篮子构建成本模型。没有成本与流动性约束的离散度回测,数字再漂亮也是空中楼阁。
把相关性当成一种「能被期权定价的资产」去看待,你会发现波动率套利的世界比「买低卖高 IV」宽阔得多。