跳转至

风险平价与层次风险平价

定义

逆波动按波动的倒数分配。风险平价让每份资产的风险贡献相等。层次风险平价先按相关聚类,再在簇之间按方差倒数分配。

公式

\[ w_i\propto \frac{1}{\sigma_i} \]

波动 10%、20%、30% 的逆波动权重是 0.5455、0.2727、0.1818。相关为常数时,两资产的逆波动就是风险平价。两簇教学方差 0.04 和 0.01 给出权重 0.2000 和 0.8000。这不是上面那组三资产权重。

直觉

波动小的资产要拿得多,组合才不会被一只高波动的资产主导。聚类是为了不把高度相关的资产当成两次独立的分散。

实务要点 / 常见误区

  • 不加杠杆时,股债风险平价更接近多放债券。把 5.52% 的波动抬到 10% 需要约 1.81 倍,函数上限是 1,不执行。
  • 逆波动函数触顶后会摊回。sleeve_to_account 不摊回。
  • 两簇权重是教学方差的倒数,不是 López de Prado 的样本外结果。

相关概念

代码

def two_cluster_weights(var_a: float, var_b: float) -> tuple[float, float]:
    # 簇间只看方差倒数。簇内再分是同一步的重复,这里只有两簇。
    raw_a, raw_b = 1.0 / var_a, 1.0 / var_b
    total = raw_a + raw_b
    return raw_a / total, raw_b / total

教材:M12 组合构建与优化