跳转到内容

风险平价与等风险贡献

风险平价回避了均值估计这个最大的误差源(见均值—方差与其失败):不预测收益,只分配风险。等风险贡献(ERC)要求每个资产对组合方差的贡献相等:

RCi=wi(Σw)iw⊤Σw,RC1=RC2=⋯=RCN.\mathrm{RC}_i = w_i \frac{(\Sigma w)_i}{\sqrt{w^\top \Sigma w}}, \qquad \mathrm{RC}_1 = \mathrm{RC}_2 = \dots = \mathrm{RC}_N.

波动大的资产权重低、波动小的权重高——组合的风险不再被单一资产主导。桥水全天候基金把它推向了行业标配。

ERC 约束本身非凸(含 wi/w⊤Σww_i / \sqrt{w^\top\Sigma w}),但存在等价的凸形式:最小化 12w⊤Σw−∑i1Nln⁡wi\tfrac{1}{2}w^\top\Sigma w - \sum_i \tfrac{1}{N}\ln w_i 的解恰好满足等风险贡献(Spinu 2013)。因此可以放心交给凸优化求解器:

erc.py
import cvxpy as cp
import numpy as np
def erc_weights(Sigma: np.ndarray) -> np.ndarray:
"""等风险贡献权重的凸等价形式:−Σ ln(w) 正则化的最小方差"""
N = Sigma.shape[0]
w = cp.Variable(N, pos=True)
obj = cp.Minimize(0.5 * cp.quad_form(w, cp.psd_wrap(Sigma))
- (1.0 / N) * cp.sum(cp.log(w)))
cp.Problem(obj).solve(solver=cp.CLARABEL)
return np.asarray(w.value / w.value.sum())
方案依赖特点
等权 1/N无DeMiguel (2009):难以战胜的基准
最小方差Σ\Sigma总波动最低,但集中在低波动资产
风险平价 / ERCΣ\Sigma风险贡献均衡,需杠杆才有目标收益

1/N 与 ERC 的共同点:都只用协方差(或干脆不用),不碰均值。

  1. 需要杠杆:等风险贡献天然偏向低波动资产(债券权重极大),要达到目标收益必须加杠杆——杠杆成本与融资能力成为约束,见Kelly 准则与仓位大小;
  2. 对相关性结构敏感:ERC 只在协方差稳定时才稳定;危机中相关性集体上升(分散失效),等风险贡献瞬间变成"等风险暴露"——所有资产一起跌;
  3. 协方差估计:Σ\Sigma 用收缩估计(见均值与协方差的估计误差),滚动更新。
  • ERC 用凸等价形式求解,协方差用收缩估计;
  • 杠杆上限与融资成本进入回测,不能只回测无杠杆版本;
  • 报告相关性矩阵的时变性,评估危机中分散失效的程度。
  • 等权在很多情况下是难以战胜的基准(DeMiguel 2009)
  • 风险平价对相关性结构的变化敏感:危机中分散失效
  • 杠杆约束下的风险平价才是可实盘的版本