3. 协方差矩阵估计:历史法、指数加权法、收缩估计法——实战中的选择与陷阱
协方差矩阵,说白了就是资产之间“联动关系”的数学快照。你用它算风险预算、做再平衡,如果矩阵本身是歪的,那后面所有漂亮公式都是白搭。
我见过太多人一上来就调优化器,结果组合波动率失控。回头一查,协方差矩阵里全是噪声。嗯,今天咱们就把三种主流方法掰开揉碎,看看它们各自在什么场景下靠谱,又在什么地方容易翻车。
3.1 历史法:最直观,也最危险
历史法就是直接拿过去 T 期的收益率数据,算样本协方差矩阵。公式很简单:
Σ_ij = (1/(T-1)) * Σ_t (r_it - μ_i)(r_jt - μ_j)
你想想看,这背后有个很强的假设——过去 N 天的数据,能代表未来的协方差结构。但市场会这么听话吗?
我个人的习惯是,只有在以下三个条件同时满足时,才敢用纯历史法:
- 样本量足够大:T > 5N 是最低门槛,T > 10N 才算安全。如果你有 50 只股票,至少需要 250 个交易日(一年以上)。
- 市场环境稳定:没有结构性突变,比如 2008 年、2020 年那种极端行情。
- 资产同质性高:比如全是大型蓝筹股,而不是股票+债券+商品的大杂烩。
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 给出的波动率直接翻倍,但实际市场并没有那么恐慌。
3.3 收缩估计法:小样本下的救星
收缩估计法的思路很巧妙——既然样本协方差矩阵噪声太大,那我就把它往一个“更稳定”的目标矩阵拉一拉。最经典的是 Ledoit-Wolf 收缩:
Σ_shrink = δ * F + (1-δ) * S
其中 S 是样本协方差矩阵,F 是目标矩阵(比如常数相关系数模型),δ 是收缩强度,由数据自动决定。
为什么说它是救星? 你想想看,当你只有 60 个交易日却要估计 100 只股票的协方差矩阵时,样本矩阵几乎是奇异的。收缩估计法通过引入先验结构,让矩阵变得可逆且稳定。
我个人在以下场景几乎必用收缩法:
- 高维组合:资产数量接近或超过样本天数。
- 多资产配置:股票+债券+商品+另类投资,相关性结构复杂。
- 风险平价策略:对协方差矩阵的稳定性要求极高。
| 方法 | 优点 | 缺点 | 最佳场景 |
|---|---|---|---|
| 历史法 | 无偏、计算简单、可解释性强 | 噪声大、对异常值敏感、需要大样本 | 长历史、低维、稳定市场 |
| EWMA | 捕捉时变波动、适应性强 | 对初始值敏感、λ 选择主观 | 高频、波动率聚集、风险监控 |
| 收缩法 | 稳定、可逆、小样本下表现好 | 有偏、依赖目标矩阵选择 | 高维、短历史、组合优化 |
3.4 实战中的选择框架
说了这么多,到底怎么选?我一般按这个流程走:
- 先看维度:如果 N > T/3,直接上收缩法,别犹豫。
- 再看频率:如果是日频或更高频调仓,用 EWMA;如果是月频或季度调仓,历史法或收缩法更合适。
- 最后看稳定性:如果市场有明显 regime switching(比如牛熊转换),考虑用滚动窗口的收缩法,或者混合模型。
3.5 避坑指南:我踩过的三个大坑
坑一:忽视非平稳性。 协方差矩阵假设数据是平稳的,但资产收益率的波动和相关性都在变。我曾经用 5 年日数据算历史协方差,结果 2018 年贸易战一来,矩阵里的相关系数全部失效。后来我改用 1 年滚动窗口 + 收缩法,才稳住。
坑二:过度依赖 EWMA 的 λ=0.94。 RiskMetrics 推荐 λ=0.94 是针对日频数据的,但如果你用的是周频或月频数据,这个值就不合适了。我记得有一次做月频再平衡,用了 λ=0.94,结果矩阵几乎不衰减,跟历史法没区别。
坑三:收缩目标选错。 收缩法的目标矩阵 F 如果选得太简单(比如单位矩阵),会过度压缩真实信号。我建议用“常数相关系数模型”或“单因子模型”作为目标,既稳定又不失合理性。