跳转至

结构化风险模型

定义

把收益写成暴露乘因子收益,再加上特质残差。组合方差分成因子一块和特质一块。

公式

\[ r=Xf+e,\qquad \sigma_p^{2}=w'XFX'w+w'\Delta w \]

同一行业两只股票收益 0.01 和 0.03、特质方差 0.04 和 0.01 时,等权因子收益 0.020000,加权最小二乘是 0.026000。国家列等于行业哑变量之和,不能和行业一起自由估计。

直觉

一起涨的部分放进因子。各走各的部分放进对角的特质方差。优化器若把很小的特征值当成便宜的分散,会去持有那个方向。

实务要点 / 常见误区

  • 教学特征值 0.0400 和 0.0100 收到均值后是 0.0325 和 0.0175,条件数从 4 到 1.8571。这不是种子 7 的矩阵,也不是 USE4 的偏差函数。
  • 波动率调整 \((0.27/0.18)^2=2.25\) 只乘因子一块。特质平方和留在 0.022825,新的波动是 30.47%。
  • 只有一只股票的行业,残差被回归收成 0,不是特质风险为零。

相关概念

代码

def wls_factor_return(returns: list[float], specific_var: list[float]) -> float:
    # 特质波动低的股票权重大。权重是方差的倒数。
    weights = [1.0 / v for v in specific_var]
    return sum(w * r for w, r in zip(weights, returns)) / sum(weights)

教材:M11 风险模型