halo 的技术博客

返回

大多数人把”相关性”当成一个统计描述量:算个协方差矩阵,塞进组合优化器,然后就忘了它。但在期权市场里,相关性是有价格的——而且这个价格系统性地偏离它的真实值。这个偏离,就是相关性风险溢价(Correlation Risk Premium, CRP),一个可以被做成因子、被收割、也可能把你抬走的东西。

核心事实只有一句话:指数期权的隐含波动率,隐含了一个比历史已实现相关性更高的相关性水平。 换句话说,市场愿意为”未来大家一起跌”这件事付保险费。谁卖这个保险,谁就在收割 CRP;谁买,谁在对冲尾部。本文用一个可控合成实验,把隐含相关性怎么算、溢价从哪来、分散度交易怎么做空它、以及它的左尾风险有多致命,一次讲清楚。

一、指数方差恒等式:相关性怎么进入价格#

一个由 N 只成分股、权重 wᵢ 构成的指数,其方差有个精确恒等式:

σI2=iwi2σi2+ijwiwjσiσjρij\sigma_I^2 = \sum_i w_i^2 \sigma_i^2 + \sum_{i \neq j} w_i w_j \sigma_i \sigma_j \rho_{ij}

第一项是成分股各自的方差贡献,第二项是两两协方差贡献。如果我们做一个”等相关”近似——假设所有 ρᵢⱼ ≈ ρ——就能把这个 ρ 单独解出来:

ρimpl=σI2iwi2σi2ijwiwjσiσj\rho_{\text{impl}} = \frac{\sigma_I^2 - \sum_i w_i^2 \sigma_i^2}{\sum_{i \neq j} w_i w_j \sigma_i \sigma_j}

关键一步:把上式里的 σ 全部换成期权市场的隐含波动率。指数的 σ_I 来自指数期权 IV,成分股的 σᵢ 来自个股期权 IV。这样解出来的 ρ_impl 就是隐含相关性指数(CBOE 的 COR3M/ICJ 就是这个思路)。而如果用历史收益算 σ 和 ρ,得到的是已实现相关性

两者之差就是相关性风险溢价:

CRPt=ρimpl,tρreal,t\text{CRP}_t = \rho_{\text{impl},t} - \rho_{\text{real},t}

注意一个反直觉的点:指数波动率往往低于成分股平均波动率(分散化的结果),但正是这个差距编码了相关性。指数越”抗跌”,说明市场预期的相关性越低。

二、溢价为什么长期为正#

下图是合成的隐含相关性与已实现相关性三年走势。红线(隐含)在绝大多数时间高于蓝线(已实现),中间的绿色区域就是可收割的正溢价;而在两次危机爆发的瞬间(虚线),已实现相关性瞬间飙升、追上甚至反超隐含,溢价倒挂(红色区域)。

隐含相关性长期高于已实现相关性,危机中倒挂

为什么隐含长期偏高?三个结构性原因:

  1. 尾部保险需求:机构买指数看跌期权对冲组合,推高指数 IV,进而推高隐含相关性。他们买的本质是”大家一起跌”的保险。
  2. 供需不平衡:卖指数波动率的对手方(做市商、波动率基金)要求补偿承担相关性飙升风险,于是报价里嵌入了溢价。
  3. 相关性的不对称性:股票在下跌时相关性会系统性上升(correlation breakdown / 一起崩),上涨时反而分散。市场为这个”下行相关性”额外定价。

这三点共同决定了 CRP 的典型形态:平时为正、稳定收租;危机时刻为负、剧烈亏损。这也是它作为因子最本质的画像。

三、分散度交易:如何把相关性做空#

知道隐含相关性偏高,怎么赚?答案是分散度交易(dispersion trade)

  • 卖出指数波动率(卖指数跨式/宽跨式,或卖指数方差互换)
  • 同时买入成分股波动率(买个股跨式,按权重配比)

由指数方差恒等式,这个组合的净暴露几乎只剩下相关性——它是一个做空相关性的纯头寸。当已实现相关性低于隐含(正常情况),指数实际波动小于期权隐含,卖方赚钱;成分股各自波动照旧,买方对冲掉了个股 vega。

下图直观展示了收益来源:指数波动率随相关性单调上升(紫线),而成分股加权波动率与相关性无关(橙虚线)。两条线之间的价差,就是分散度交易在收割的东西。你在 ρ≈0.50(隐含)卖出,期望它回落到 ρ≈0.35(已实现)。

分散度交易:指数波动率随相关性上升,成分波动不变

def dispersion_pnl(rho_entry, rho_exit, weights, sigma_components):
    """做空相关性的简化 PnL:卖指数方差 + 买成分方差,收益 ∝ 隐含-已实现相关性之差。"""
    w, s = np.asarray(weights), np.asarray(sigma_components)
    own_var = np.sum(w**2 * s**2)
    cross = np.sum(np.outer(w, w) * np.outer(s, s)) - own_var
    # 指数方差在两个相关性水平下的差 = 分散度价差
    var_entry = own_var + cross * rho_entry   # 卖出时隐含的指数方差
    var_exit  = own_var + cross * rho_exit    # 到期时已实现的指数方差
    return var_entry - var_exit               # >0 表示做空相关性盈利

pnl = dispersion_pnl(0.50, 0.35, w, sig_i)
print(f"分散度价差(方差单位)≈ {pnl:.4f}")   # 正数 = 相关性回落,卖方盈利
python

真实执行还要处理很多细节:成分股太多时只选流动性最好的一篮子代理、vega 中性化配比、gamma/theta 的日间管理。但核心逻辑不变——你在赌”隐含相关性 > 未来已实现相关性”。

四、左尾风险:捡钢镚 vs 压路机#

分散度交易最经典的比喻是”在压路机前捡钢镚”。平时溢价稳定为正,净值缓慢向上;一旦系统性风险事件爆发,所有股票同时暴跌,已实现相关性瞬间冲到 0.8+、反超隐含,做空相关性的头寸会在几天内被撕裂。

下图是合成策略的净值与回撤。上半部分:策略平日稳步收租(末值约 1.11,即三年 +11%),但在两次危机中净值断崖式下跌;下半部分:最大回撤达到 −25.1%,几乎都集中在那两个爆发点。

做空相关性策略:平日薄利、危机中被相关性飙升重创

def strategy_equity(crp_series, carry_scale=0.010, drift=-0.00015):
    """由 CRP 序列驱动的做空相关性净值:正 carry + 危机左尾。"""
    daily = crp_series * carry_scale + drift
    equity = np.cumprod(1 + daily)
    peak = np.maximum.accumulate(equity)
    drawdown = equity / peak - 1
    return equity, drawdown

# crp_series 由前文隐含-已实现相关性之差得到(含危机倒挂)
# equity, dd = strategy_equity(crp_series)
# print(f"末值 {equity[-1]:.3f}  最大回撤 {dd.min()*100:.1f}%")
python

这个收益分布的形状——高胜率、正偏度的日收益,但极端负偏的尾部——决定了它的两个致命特征:

  • 夏普比率会撒谎:平静期算出的 Sharpe 可能很漂亮,但它完全没捕捉到那个还没发生的左尾。用 Sharpe 评估卖波动率/卖相关性策略是经典的自欺。
  • 杠杆是毒药:因为平日收益薄,很多人加杠杆放大 carry,结果危机来临时杠杆把 −25% 放大成爆仓。2018 年 2 月的 “Volmageddon” 就是活教材。

五、把它当因子用#

如果不想直接做期权,CRP 还能作为一个择时/风险信号融入股票组合:

  • 隐含相关性极高:市场恐慌、对冲需求爆棚,往往对应阶段性底部区域,可作为逆向加仓的辅助信号。
  • 隐含相关性极低且持续走低:市场过度自满、分散化幻觉,尾部保险便宜,是加对冲而非加仓的时机。
  • CRP 快速收窄乃至倒挂:相关性正在实现,是降杠杆、降风险敞口的强预警。
def correlation_regime_signal(rho_impl, rho_real, lookback=252):
    """把隐含相关性与 CRP 转成简单的风险体制信号。"""
    crp = rho_impl - rho_real
    if crp < 0:
        return "RISK_OFF"      # 溢价倒挂:相关性正在实现,降杠杆
    if rho_impl > np.quantile(rho_impl[-lookback:], 0.9):
        return "PANIC_HIGH"    # 隐含极高:恐慌,逆向关注
    if rho_impl < np.quantile(rho_impl[-lookback:], 0.1):
        return "COMPLACENCY"   # 隐含极低:自满,加对冲
    return "NEUTRAL"
python

六、六个真实陷阱#

  1. 等相关近似的偏差:ρ_impl 假设所有配对相关性相等,实际相关性结构差异很大,尤其在板块集中的指数里会系统性偏差。
  2. IV 面选取:用哪个到期、哪个行权价的 IV 决定了隐含相关性的口径。ATM、方差互换公允波动、还是整条 skew 加权,结果差很多。
  3. 成分股覆盖不全:真实指数几百只成分,个股期权流动性参差,实际只能用一篮子代理,代理误差直接进入相关性估计。
  4. 借空与做市成本:分散度交易涉及大量个股期权,买卖价差、保证金占用、gamma 对冲的交易成本会吃掉很大一块 carry。
  5. 已实现相关性的估计窗口:用 20 日还是 60 日算已实现相关性,会显著改变 CRP 的符号与幅度,回测里极易埋下 look-ahead。
  6. 左尾不可回测:历史危机样本极少(几年一次),任何基于历史的风险度量都会系统性低估尾部。这不是模型能修好的,是数据本身的稀缺。

结语#

相关性风险溢价是一个真实存在、经济逻辑清晰的溢价:市场为”大家一起跌”付保险费,卖保险的人长期收租。但它的收益分布是典型的”正 carry + 负尾部”,任何忽视左尾、盲目加杠杆的做法都会在下一次危机里被清算。

把它当因子,最健康的用法不是无脑做空相关性,而是读懂隐含相关性传递的市场情绪:极高时逆向、极低时对冲、倒挂时撤退。相关,确实可以成为因子——前提是你先敬畏它的尾巴。

本文所有图表与数据均由合成实验生成,用于演示方法论。真实落地需接入指数与个股期权的隐含波动率面(如 CBOE COR 指数、OptionMetrics IvyDB)与已实现相关性的高频估计,并严格控制交易成本与保证金约束。

隐含相关性:从指数期权反推市场对未来相关结构的预期
https://blog.halo26812.eu.org/blog/implied-correlation-options
Author halo
Published at 2026年7月19日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨