3. 协方差矩阵估计

协方差矩阵,说白了就是资产之间“联动关系”的数学快照。你用它算风险预算、做再平衡,如果矩阵本身是歪的,那后面所有漂亮公式都是白搭。

我见过太多人一上来就调优化器,结果组合波动率失控。回头一查,协方差矩阵里全是噪声。嗯,今天咱们就把三种主流方法掰开揉碎,看看它们各自在什么场景下靠谱,又在什么地方容易翻车。

核心观点: 没有绝对“正确”的协方差矩阵,只有“当前问题下最不坏”的估计。选择的关键在于——你的样本够不够长?信号够不够强?你愿意为稳定性牺牲多少精度?
协方差矩阵估计方法全景图 历史法(样本协方差) 指数加权法(EWMA) 收缩估计法(Shrinkage) 特征 • 无偏估计(大样本下) • 对异常值极度敏感 • 需要 T >> N 特征 • 近期数据权重更高 • 半衰期 λ 是关键 • 适合波动率聚集 特征 • 偏差-方差权衡 • 向结构化先验收缩 • 小样本下最稳健 适用:长历史、低维、 数据质量高 适用:高频、时变波动、 风险监控 适用:高维、短历史、 组合优化 实战选择:没有银弹,只有权衡

3.1 历史法:最直观,也最危险

历史法就是直接拿过去 T 期的收益率数据,算样本协方差矩阵。公式很简单:

Σ_ij = (1/(T-1)) * Σ_t (r_it - μ_i)(r_jt - μ_j)

你想想看,这背后有个很强的假设——过去 N 天的数据,能代表未来的协方差结构。但市场会这么听话吗?

我个人的习惯是,只有在以下三个条件同时满足时,才敢用纯历史法:

  • 样本量足够大:T > 5N 是最低门槛,T > 10N 才算安全。如果你有 50 只股票,至少需要 250 个交易日(一年以上)。
  • 市场环境稳定:没有结构性突变,比如 2008 年、2020 年那种极端行情。
  • 资产同质性高:比如全是大型蓝筹股,而不是股票+债券+商品的大杂烩。
我曾经踩过的坑: 2015 年做 A 股多因子组合,用过去 3 年的日数据算协方差矩阵。结果 2015 年 6 月股灾一来,矩阵里的相关系数全部飙升到 0.8 以上,风险预算完全失效。历史法对极端值“一视同仁”,但极端值恰恰是你最该警惕的。

3.2 指数加权法(EWMA):给近期数据更高权重

EWMA 的核心思想很简单——昨天的相关性比 100 天前的相关性更有参考价值。它用一个衰减因子 λ(通常取 0.94 或 0.97)来控制记忆长度:

Σ_t = λ * Σ_{t-1} + (1-λ) * r_t * r_t^T

λ 越大,历史数据衰减越慢。λ=0.94 时,半衰期约为 11 天;λ=0.97 时,半衰期约为 23 天。

我建议在以下场景优先考虑 EWMA:

  • 高频调仓策略:比如每周甚至每日再平衡,需要捕捉近期波动变化。
  • 波动率聚集明显的市场:比如股指期货、外汇市场,大波动后往往跟着大波动。
  • 风险监控系统:需要实时更新 VaR 或边际风险贡献。

但 EWMA 也有个致命问题——它对初始值敏感。如果你从一段平静期开始算,突然遇到一个极端收益,矩阵会被瞬间拉偏。我记得有一次做商品期货组合,原油一天跌了 8%,EWMA 给出的波动率直接翻倍,但实际市场并没有那么恐慌。

实战技巧: 用 EWMA 时,建议先跑一段“预热期”(比如 60 天),让矩阵稳定下来再投入实盘。另外,λ 不要拍脑袋选,可以用最大似然估计来校准。

3.3 收缩估计法:小样本下的救星

收缩估计法的思路很巧妙——既然样本协方差矩阵噪声太大,那我就把它往一个“更稳定”的目标矩阵拉一拉。最经典的是 Ledoit-Wolf 收缩:

Σ_shrink = δ * F + (1-δ) * S

其中 S 是样本协方差矩阵,F 是目标矩阵(比如常数相关系数模型),δ 是收缩强度,由数据自动决定。

为什么说它是救星? 你想想看,当你只有 60 个交易日却要估计 100 只股票的协方差矩阵时,样本矩阵几乎是奇异的。收缩估计法通过引入先验结构,让矩阵变得可逆且稳定。

我个人在以下场景几乎必用收缩法:

  • 高维组合:资产数量接近或超过样本天数。
  • 多资产配置:股票+债券+商品+另类投资,相关性结构复杂。
  • 风险平价策略:对协方差矩阵的稳定性要求极高。
方法 优点 缺点 最佳场景
历史法 无偏、计算简单、可解释性强 噪声大、对异常值敏感、需要大样本 长历史、低维、稳定市场
EWMA 捕捉时变波动、适应性强 对初始值敏感、λ 选择主观 高频、波动率聚集、风险监控
收缩法 稳定、可逆、小样本下表现好 有偏、依赖目标矩阵选择 高维、短历史、组合优化

3.4 实战中的选择框架

说了这么多,到底怎么选?我一般按这个流程走:

  1. 先看维度:如果 N > T/3,直接上收缩法,别犹豫。
  2. 再看频率:如果是日频或更高频调仓,用 EWMA;如果是月频或季度调仓,历史法或收缩法更合适。
  3. 最后看稳定性:如果市场有明显 regime switching(比如牛熊转换),考虑用滚动窗口的收缩法,或者混合模型。
一个实用的组合拳: 先用收缩法得到一个稳定的基准矩阵,然后用 EWMA 对近期波动做动态调整。我曾在多资产风险平价策略中这么干过,效果比单一方法好不少。

3.5 避坑指南:我踩过的三个大坑

坑一:忽视非平稳性。 协方差矩阵假设数据是平稳的,但资产收益率的波动和相关性都在变。我曾经用 5 年日数据算历史协方差,结果 2018 年贸易战一来,矩阵里的相关系数全部失效。后来我改用 1 年滚动窗口 + 收缩法,才稳住。

坑二:过度依赖 EWMA 的 λ=0.94。 RiskMetrics 推荐 λ=0.94 是针对日频数据的,但如果你用的是周频或月频数据,这个值就不合适了。我记得有一次做月频再平衡,用了 λ=0.94,结果矩阵几乎不衰减,跟历史法没区别。

坑三:收缩目标选错。 收缩法的目标矩阵 F 如果选得太简单(比如单位矩阵),会过度压缩真实信号。我建议用“常数相关系数模型”或“单因子模型”作为目标,既稳定又不失合理性。

最后提醒一句: 无论你用哪种方法,一定要做回测验证。把估计的协方差矩阵和实际实现的波动率做对比,看看偏差有多大。纸上谈兵谁都会,真金白银才是试金石。