3. 风险模型概述

风险模型概述 学习卡片

在组合管理中,风险模型不是用来预测收益的“水晶球”,而是用来回答一个更基础的问题:组合的波动和回撤究竟从哪里来?只有把收益的不确定性拆解成可解释、可估计、可管理的部分,组合优化才有稳定的输入。本节从风险的分解讲起,逐步过渡到因子模型、协方差矩阵估计,并梳理业界常见的风险模型类型。

一、核心原理:把风险拆成系统性风险与特异性风险

任何一只股票的收益都可以写成市场共同因素与个股自身因素之和。系统性风险(systematic risk)来自宏观经济、利率、行业景气、市场情绪等共同驱动,无法通过分散化消除;特异性风险(specific risk,也称残差风险、idiosyncratic risk)来自公司经营、管理层变动、突发事件等个体因素,理论上可以通过持有足够多的股票分散掉。

用公式表达,单只股票的收益分解为:

r_i = α_i + Σ_k (β_ik · f_k) + ε_i

其中:
  r_i   : 股票 i 的收益率
  f_k   : 第 k 个共同因子的收益
  β_ik  : 股票 i 对因子 k 的暴露(载荷)
  ε_i   : 股票 i 的特异性收益(残差)

组合层面的风险同样可以分解。若组合权重为 w,因子暴露为 X,因子协方差矩阵为 F,特异性风险对角矩阵为 Δ,则组合总方差为:

σ²_p = wᵀ · (X F Xᵀ + Δ) · w
     = wᵀ X F Xᵀ w   +   wᵀ Δ w
       └── 系统性风险 ──┘   └─ 特异性风险 ─┘

这个分解是风险模型的核心价值:它让优化器知道,哪些风险是“值得承担的”(因子暴露带来的预期补偿),哪些风险是“应该被约束或分散掉的”(特异性风险)。

关键结论:系统性风险决定组合的“方向性”和“风格暴露”,特异性风险决定组合的“集中度”和“运气成分”。风险模型的作用,就是把这两类风险分别量化,并在优化中施加不同的约束。

二、因子模型:从单因子到多因子

因子模型是估计协方差矩阵的降维工具。直接估计 N 只股票的 N×N 协方差矩阵,在 N 很大时样本不足、噪声巨大,甚至不可逆。因子模型假设收益由少数 K 个因子驱动(K ≪ N),从而把估计问题从 N(N+1)/2 个参数降到 N·K + K(K+1)/2 个参数。

常见的因子模型演进路径如下:

  • 单因子模型(CAPM):只用市场因子解释收益,β 衡量市场暴露。简单但解释力有限。
  • 宏观因子模型:用 GDP、利率、通胀、信用利差等宏观变量作为因子,经济含义清晰,但频率低、估计滞后。
  • 基本面因子模型:用估值、成长、质量、动量等风格因子,如 Barra 系列,业界应用最广。
  • 统计因子模型:用主成分分析(PCA)从收益数据中提取因子,无需先验假设,但因子含义不直观。
  • 机器学习因子模型:用自编码器、树模型等提取非线性因子,灵活但可解释性和稳定性面临挑战。

在 Qlib 中,因子暴露通常以 DataFrame 形式组织,行是交易日,列是股票,值是对应因子暴露。风险模型训练时,先通过横截面回归估计因子收益,再计算因子协方差和特异性风险。

# 伪代码:因子收益的横截面估计
for each date t:
    r_t = X_t · f_t + ε_t
    f_t = (X_tᵀ W X_t)⁻¹ X_tᵀ W r_t   # WLS 估计
    ε_t = r_t - X_t · f_t

三、协方差矩阵估计:从样本协方差到稳健估计

因子模型给出结构,但因子协方差矩阵 F 和特异性风险 Δ 仍需估计。直接使用历史样本协方差会遇到三个问题:噪声大、维度高、非平稳。因此业界发展出一系列稳健估计方法。

方法 核心思想 适用场景 主要缺点
样本协方差 直接用历史收益计算 样本充足、维度低 高维下噪声大、易不可逆
指数加权(EWMA) 近期数据权重更高 波动率时变明显 衰减因子需调参
收缩估计(Ledoit-Wolf) 向结构化目标矩阵收缩 高维、样本不足 收缩强度依赖假设
因子模型协方差 X F Xᵀ + Δ 结构化分解 股票池大、风格驱动强 因子选择影响大
Newey-West 调整 修正自相关与异方差 因子收益序列相关 滞后阶数需选择

实际工程中,通常组合使用:先用因子模型降维,再对因子协方差做 EWMA 或收缩估计,最后对特异性风险做波动率加权和 Newey-West 调整。Qlib 的风险模型模块提供了这些估计器的接口,便于在配置中切换。

实践建议:协方差矩阵估计的稳定性比“精确性”更重要。一个略微有偏但稳定的估计,往往比一个无偏但噪声巨大的估计带来更好的组合表现。优化器对协方差矩阵的微小扰动非常敏感,尤其是当矩阵接近奇异时。

四、常见风险模型类型与选型对比

不同风险模型适用于不同目标和数据条件。选型时需权衡解释力、稳定性、计算成本和可获取性。

  • Barra 类基本面风险模型:因子含义清晰,覆盖国家、行业、风格三层,适合机构组合归因与风险预算,但因子数据获取成本高。
  • 统计风险模型:纯数据驱动,适合量化选股和快速迭代,但因子不稳定、换手高,需定期重新估计。
  • 宏观风险模型:适合自上而下的资产配置和压力测试,但对个股组合的解释力较弱。
  • 混合风险模型:结合基本面因子与统计因子,兼顾解释力和拟合度,是当前较为主流的方向。
常见误区:很多初学者把风险模型当成收益预测模型,试图用因子暴露直接选股。风险模型的输出是协方差结构,不是预期收益。把它用于收益预测,会导致组合在因子暴露上过度集中,反而放大系统性风险。正确用法是:收益预测由 alpha 模型负责,风险模型负责约束和优化。

五、案例复盘:一次因子暴露失控的教训

假设某组合优化时只约束了总波动率,未对行业和风格暴露设限。优化器发现“低估值+高动量”因子近期表现好,于是把组合大量集中到少数几个行业。结果市场风格切换,这些行业集体回撤,组合波动远超预期。复盘发现:总波动率约束虽然生效,但风险被错误地集中在了系统性因子上,特异性风险反而被压缩到很低——这正是风险模型分解要解决的问题。

改进方案是在优化中加入因子暴露约束和特异性风险约束:

# 组合优化中的风险约束示例
约束1:组合总波动率 ≤ 目标波动率
约束2:每个风格因子暴露 |β_p,k| ≤ 上限
约束3:行业暴露偏离基准 ≤ 阈值
约束4:特异性风险占比 ≥ 最低比例
目标:最大化预期收益 - 风险惩罚

通过这样的约束,优化器不会把风险全部押注在少数因子上,组合的稳健性显著提升。这也说明,风险模型的价值不仅在于估计协方差,更在于为组合优化提供可解释、可约束的风险维度。

本节从系统性风险与特异性风险的分解出发,介绍了因子模型的结构、协方差矩阵的稳健估计方法,以及常见风险模型的类型与选型逻辑。理解这些内容,是后续在 Qlib 中实际构建风险模型、进行组合优化的必要基础。