随机矩阵理论去噪:用 Marchenko-Pastur 边界剪掉协方差里的噪声特征值
N=100 只资产、T=252 天,样本相关矩阵的特征值里只有 3 个尖峰是真信号,噪声体占了迹的 59%。Marchenko-Pastur 定律给出纯噪声特征值的精确活动范围 [λ⁻, λ⁺],越界的才配叫信号——把界内的噪声特征值压平成均值,尖峰原样保留,就是 RMT 去噪。实测最小方差组合:T=126 时样本协方差 OOS 波动率 24.1%,MP 裁剪直接砍到 12.6%,比 Ledoit-Wolf(14.5%)更狠,理论最优 11.1%。与 LW 收缩的本分工:数据极端稀缺时 MP 裁剪的谱手术更精准,数据充裕时两者殊途同归。附完整 Python 与裁剪保迹、相关口径、q>1 等工程细节(中阶)。
上一篇 Ledoit-Wolf 的药方是”整体往结构化目标拉”:一个标量收缩强度 δ,全矩阵统一剂量。这一篇换一种更外科手术式的思路:协方差矩阵的病灶不是均匀分布的,它集中在特征值谱的特定区域——先用随机矩阵理论(RMT)画出”纯噪声特征值能活动的范围”,凡是待在范围里的特征值全部按噪声处理压平,越界的尖峰才当信号保留。
先把结论放上来。N=100 只资产的因子结构市场、模拟最小方差组合的真实(样本外)年化波动率:
| 估计窗 T | 样本协方差 | MP 裁剪 | Ledoit-Wolf | 理论最优 |
|---|---|---|---|---|
| 126 天 | 24.1% | 12.6% | 14.5% | 11.1% |
| 252 天 | 14.2% | 12.0% | 13.2% | 11.1% |
| 504 天 | 12.4% | 11.8% | 12.2% | 11.1% |
| 1008 天 | 11.7% | 11.7% | 11.7% | 11.1% |
数据越稀缺,谱手术的优势越大:T=126(q=N/T=0.79)时 MP 裁剪比 LW 低了近 2 个百分点,比裸样本协方差低了 11.5 个百分点;T=1008 时三者已无差别。原因值得讲清楚。
Marchenko-Pastur 定律:纯噪声的特征值长什么样#
设 T 天、N 只资产的收益全部是独立标准正态(纯噪声、零相关),样本相关矩阵 的特征值会怎么分布?直觉答案是”都挤在 1 附近”——毕竟真实相关矩阵是单位阵,所有真实特征值都等于 1。
直觉错了。当 N 和 T 同阶时( 不趋于零),样本特征值会扩散成一个有确定形状的分布。Marchenko-Pastur(1967)定律给出精确刻画:特征值密度收敛到
关键是那两个边界:纯噪声的特征值几乎全部落在 里。q=0.25(N=100, T=400)时 ——真实特征值明明全是 1,最大的样本特征值却能冲到 2.25,纯粹是估计噪声吹出来的。
import numpy as np
N, T = 100, 400
q = N / T
X = np.random.default_rng(42).standard_normal((T, N))
S = X.T @ X / T
ev = np.linalg.eigvalsh(S)
lam_minus, lam_plus = (1 - q**0.5)**2, (1 + q**0.5)**2
print(f"MP 边界 [{lam_minus:.3f}, {lam_plus:.3f}]") # [0.250, 2.250]
print(f"样本特征值范围 [{ev.min():.3f}, {ev.max():.3f}]") # [0.292, 2.217]python模拟结果:100 个样本特征值全部落在 [0.292, 2.217],与理论边界 [0.25, 2.25] 严丝合缝。

这条定律给了我们一台噪声检测仪:如果市场数据的某个特征值超过 ,它不可能由纯噪声产生——那是真实相关结构(信号);如果待在边界之内,它和纯噪声在统计上不可区分——按噪声处理不冤枉它。
真实结构下的谱:3 个尖峰 + 59% 的噪声体#
给市场装上因子结构(1 个市场因子 + 3 个板块因子 + 特质波动),N=100、T=252(q=0.40,),样本相关矩阵的特征值谱立刻分成两个世界:

- 3 个尖峰越过 :最大特征值 33.2(市场模式,一荣俱荣一损俱损),后面两个是板块模式。这些是信号。
- 其余 97 个特征值挤在 MP 边界内,构成”噪声体”(bulk)——它们合计占了矩阵迹的 59%。
这就是高维协方差估计的残酷现实:矩阵里一大半的”信息”其实是噪声,而组合优化器最爱的恰恰是噪声体里的小特征值——最小方差优化会往最小特征值方向重仓(那里”看起来”风险最低),而小特征值恰恰被噪声系统性压低,样本内的低风险是幻觉。
裁剪手术:噪声体压平,尖峰保留#
RMT 去噪(Laloux et al. 1999 起的标准做法)只有三步:
- 特征分解样本相关矩阵 ;
- 凡是 的特征值,全部替换成它们的平均值(保持迹不变,即总方差守恒);
- 用修剪后的谱重构矩阵,再把对角线归一回 1。
def mp_clip(S, T):
"""Marchenko-Pastur 裁剪去噪(相关矩阵口径)"""
N = S.shape[0]
d = np.sqrt(np.diag(S))
C = S / np.outer(d, d) # 转相关矩阵
w, V = np.linalg.eigh(C) # 特征分解(升序)
lam_plus = (1 + np.sqrt(N / T))**2
noise = w < lam_plus
w_clip = w.copy()
w_clip[noise] = w[noise].mean() # 噪声体压平,保迹
C_clip = V @ np.diag(w_clip) @ V.T
dd = np.sqrt(np.diag(C_clip))
C_clip = C_clip / np.outer(dd, dd) # 对角线归一
return C_clip * np.outer(d, d) # 转回协方差python
注意它和 Ledoit-Wolf 的本质区别:LW 把所有特征值都往中心拉(尖峰也被削),MP 裁剪只动噪声体、对尖峰一根手指都不碰。市场因子那个 λ=33 的大特征值是真实信号,LW 会把它往 1 的方向收缩一截(引入偏差),MP 裁剪原样保留。反过来,在噪声体内部 MP 下手比 LW 狠得多——直接全部压平,LW 只是按比例缩。
最小方差组合实测:谱手术在数据稀缺时更锋利#
30 次独立模拟取平均,四条曲线的故事线很清晰:

T=126(q=0.79,接近奇异):样本协方差的组合真实波动率 24.1%——是理论最优(11.1%)的两倍还多,优化器在噪声特征值上疯狂加杠杆。MP 裁剪 12.6%,LW 14.5%。裁剪赢在它对噪声体的处理是”格杀勿论”,而 LW 的统一收缩强度被尖峰方向拖累——为了不过度扭曲市场因子,它对噪声体下手不够重。
T=252~504:两者差距收窄到 1 个百分点上下,都显著优于裸样本。
T=1008(q=0.10):三者全部收敛到 11.7%。数据充裕时噪声本来就小,怎么处理都行。
这个对比给出清晰的选型准则:q > 0.3(资产数超过样本长度三分之一)时优先 MP 裁剪;q < 0.1 时随便选;中间地带两个都试,或者直接上非线性收缩(Ledoit-Wolf 2017 的 NLS 本质上是把 MP 思想做成了每个特征值一个收缩量的连续版本)。
工程细节与陷阱#
第一,裁剪要在相关矩阵口径做,不是协方差口径。MP 定律假设单位方差,直接对协方差矩阵套 公式是错的——高波动资产的方差会被当成”大特征值信号”。先标准化成相关矩阵,裁剪完再把波动率乘回去。
第二,λ⁺ 的口径其实可以更讲究。教科书公式假设噪声方差 σ²=1,但市场数据里尖峰吃掉了一部分迹,噪声体的有效方差 σ² < 1,严格做法是用 修正边界(λ⁺ 会变小,尖峰判定更宽松),或者直接对噪声体拟合 MP 分布求 σ²。本文用 σ²=1 的保守口径,代价是可能把弱信号误杀进噪声体——对最小方差组合影响不大,对追逐弱因子的策略要小心。
第三,压平不是唯一选择。把噪声特征值换成平均值(保迹)是最常用的,也有换成 0(激进降维)或线性插值的变体。保迹版本最稳,因为总方差是谱里最可靠的信息。
第四,q ≥ 1 时样本协方差奇异(T < N),有 N - T 个特征值精确为零。MP 裁剪依然可用(把零特征值也并进噪声体压平),这正是它比”求逆前先祈祷”的裸样本法体面的地方。
第五,边界不是铁幕。有限样本下最大的噪声特征值围绕 λ⁺ 有涨落(Tracy-Widom 分布刻画),紧贴边界的特征值属于灰色地带。实务上常把判定线抬高到 λ⁺ 的 1.05~1.1 倍,宁可错杀弱信号也不放进噪声。
诚实边界#
第一,模拟里因子结构是干净的,真实市场的尖峰没这么清晰。板块因子的特征值可能刚好骑在 λ⁺ 上,宏观 regime 切换会让”信号个数”随时间漂移。滚动窗口里今天判 3 个尖峰、明天判 5 个,组合权重会跳——生产系统需要对尖峰个数做平滑或滞后处理。
第二,MP 定律假设收益 iid。真实收益有波动聚集,GARCH 效应会让噪声体比理论 MP 分布更宽(有效样本量 < T),λ⁺ 被低估、部分噪声被误判为信号。补救是先对收益做波动率标准化(除以 EWMA 波动率)再进 RMT 流水线。
第三,裁剪只救协方差,不救期望收益。最小方差组合绕开了均值估计所以效果显著;均值-方差优化里期望收益的估计误差比协方差恶劣一个量级,那是另一味药——下一篇 Bayes-Stein 收缩的主场。
本文与 Ledoit-Wolf 收缩、早前的 RMT 去噪实践 构成协方差估计三部曲:LW 管”拉多少”,MP 管”剪哪里”,两者在非线性收缩里合流。