Ledoit–Wolf 协方差收缩:公式、目标矩阵与组合风险
了解 Ledoit–Wolf 线性协方差收缩如何将样本矩阵与结构化目标矩阵结合,常相关目标如何构造,以及该估计能否说明组合模型的风险。
本指南内容为什么组合模型要收缩样本协方差
简短摘要
Ledoit–Wolf 线性收缩将样本协方差矩阵与选定的结构化目标矩阵结合,并用估计权重在样本噪声和目标假设之间进行权衡。目标矩阵本身就是方法的一部分:单因子、比例单位矩阵和常相关目标对应不同的估计量。在假设适用时,收缩可以稳定协方差输入,但不能保证实现风险更低、收益更好或组合能够盈利。
为什么组合模型要收缩样本协方差
给定 \(N\) 项资产的 \(T\) 个收益观测值,样本协方差矩阵 \(S\) 使用同一段有限历史数据估计每项资产的方差以及每对资产之间的协方差。不同矩阵元素的数量大致随 \(N^2\) 增长。如果资产数量相对于观测数量并不小,许多单独的协方差估计就可能包含显著的抽样噪声。
当组合流程要对矩阵求逆时,这种噪声尤其值得关注。求逆可能放大估计误差:估计相关性稍有变化,优化权重就可能大幅变动。对去均值后的常规样本协方差而言,中心化数据矩阵的秩最多为 \(T-1\),因此当 \(N\geq T\) 时 \(S\) 会成为奇异矩阵。在奇异之前,矩阵也可能已经病态。Ledoit 和 Wolf 在关于良态协方差估计的研究中讨论了这一高维难题(200400096-4))。
收缩为含噪的样本估计加入结构。这是对协方差输入进行正则化的一种选择,并不证明资产真的服从目标模型,也不是估计预期收益的方法。样本协方差特征值如何影响组合风险这一更广泛的问题,可参阅[特征值与金融风险指南](/zh-CN/learn/eigenvalues-eigenvectors-financial-risk-explained)。
线性收缩公式包含两个要素
一种常见的线性形式为
\[ \widehat{\Sigma}_{\mathrm{lin}}=(1-\widehat{\delta})S+\widehat{\delta}F,\qquad 0\leq\widehat{\delta}\leq1, \]
其中 \(S\) 是样本协方差,\(F\) 是结构化目标矩阵,\(\widehat{\delta}\) 是估计出的收缩强度。强度为零时,结果就是样本矩阵;强度为一时,结果就是目标矩阵;中间取值则构成凸组合。
选择 \(F\) 就是在说明估计器认为哪些模式足够稳定、值得保留。收缩强度则表示相对于样本信息,应赋予该结构多少权重。对给定目标和损失函数,Ledoit–Wolf 程序会从数据中估计强度,而不是要求手动任意指定混合比例。具体的 plug-in 公式随目标矩阵和假设而异;并不存在一个与目标无关、能定义所有“Ledoit–Wolf”方法的 \(\widehat{\delta}\)。
最初针对高维单位矩阵目标的结果,是在指定二次损失和渐近条件下渐近最优的凸组合,并非适用于每个样本或每种目标的普遍保证(Ledoit 和 Wolf,200400096-4))。因此,描述估计器时应同时说明损失函数和目标矩阵。
目标矩阵会改变估计器的假设
几种相关估计器采用相同的混合思路,却编码了不同的协方差结构。
- 单因子目标: 市场因子解释共同变动,其余结构由模型处理。Ledoit 和 Wolf 提出对样本协方差与单因子协方差作最优加权组合,以估计股票收益的协方差(200300007-0))。
- 比例单位矩阵目标: 对角线上是统一的方差水平,非对角线上为零。它将特征值拉向共同中心,可能改善条件性;与常相关目标相比,它施加了更强的等方差、零协方差结构假设。
- 常相关目标: 保留每项资产的样本方差,同时用一个平均相关系数替代成对相关系数。这样可以保留各资产不同的波动率,同时简化依赖结构。2004 年的实务文章介绍了向该目标收缩的方法(Ledoit 和 Wolf,2004)。
不应把这些版本概括成“Ledoit–Wolf 会把所有相关性收缩到零”。根据 \(F\) 的不同,目标矩阵可能保留共同因子协方差、把特征值拉向均值,或把成对相关性推向横截面平均值。在[异步协方差流程](/zh-CN/learn/hayashi-yoshida-asynchronous-covariance-estimator-explained)中汇总成对估计后再进行协方差正则化,也是另一项独立的建模选择。
常相关收缩保留样本方差
令 \(S_{ii}\) 表示资产 \(i\) 的样本方差,\(s_i=\sqrt{S_{ii}}\)。对于 \(N\) 项资产,先计算样本相关系数 \(\widehat{\rho}_{ij}=S_{ij}/(s_is_j)\),再对不重复的非对角相关系数取平均:
\[ \bar{\rho}=\frac{2}{N(N-1)}\sum_{i<j}\widehat{\rho}_{ij}. \]
常相关目标矩阵定义为
\[ F_{ii}=S_{ii},\qquad F_{ij}=\bar{\rho}\,s_is_j\quad(i\ne j). \]
因此,目标矩阵保留对角线上的样本方差,并为每一对资产赋予同一个相关系数 \(\bar{\rho}\)。最终协方差估计将该目标与原样本矩阵混合;它不会把所有波动率改成同一个数。该目标的构造和相应强度不同于单位矩阵目标估计器;作者的实现将其描述为保留样本方差并赋予共同相关性(参考实现)。
<!-- learn:illustration --> <!-- 无文字概念图:三个对称的 3×3 协方差矩阵保留相同的对角单元,同时让不同的样本非对角关系逐渐趋向一个共同的常相关目标;不是数据或估计结果。 -->

三项资产的假设示例展示混合过程
假设一个以百分点平方为单位的样本协方差矩阵如下。该矩阵仅为假设数据:
\[ S=\begin{bmatrix} 4&3&-2\\ 3&9&6\\ -2&6&16 \end{bmatrix}\%^{2}. \]
样本标准差分别为 \(2\%\)、\(3\%\) 和 \(4\%\)。成对相关系数为 \(3/(2\cdot3)=0.50\)、\(-2/(2\cdot4)=-0.25\) 和 \(6/(3\cdot4)=0.50\)。其平均值为
\[ \bar{\rho}=(0.50-0.25+0.50)/3=0.25. \]
由此得到的目标矩阵为
\[ F=\begin{bmatrix} 4&1.5&2\\ 1.5&9&3\\ 2&3&16 \end{bmatrix}\%^{2}. \]
仅为演示运算,取 \(\delta=0.40\)。这是教学用数值,并非从这些虚构观测中估计出的 Ledoit–Wolf 强度:
\[ \widehat{\Sigma}=0.60S+0.40F= \begin{bmatrix} 4&2.4&-0.4\\ 2.4&9&4.8\\ -0.4&4.8&16 \end{bmatrix}\%^{2}. \]
对角线仍为 \(4,9,16\)。位置 \((1,3)\) 的协方差从 \(-2\) 向目标值 \(2\) 移动,因此收缩并不意味着每个协方差都向零靠拢。这里展示的两个矩阵均为半正定矩阵,所以它们的凸组合也为半正定矩阵。这个假设示例只说明计算过程,不是推荐的目标矩阵,也不代表观测到的市场关系。
矩阵变化会改变模型中的组合风险
对于等权重 \(w=(1/3,1/3,1/3)^\top\),模型方差为 \(w^\top\Sigma w\)。上方样本矩阵的九个元素之和为 \(43\),因此
\[ w^\top S w=43/9\approx4.7778\ \%^{2}。 \]
示例收缩矩阵的元素之和为 \(42.6\),所以
\[ w^\top\widehat{\Sigma}w=42.6/9\approx4.7333\ \%^{2}。 \]
这点差异只是更改协方差输入后的机械计算结果,不能证明收缩估计能更好地预测实现方差。最小方差优化器也可能给出不同权重,因为它不仅使用协方差数值,通常还会使用其逆矩阵。在适用情形下,收缩可能降低输入对抽样噪声的敏感度,但仍会改变风险敞口和换手率。
对于风险平价组合,协方差不仅影响总方差,也影响每项资产对整体风险的贡献;参见[等风险贡献指南](/zh-CN/learn/risk-parity-equal-risk-contribution-portfolio-explained)。如果之后像[波动率目标仓位管理](/zh-CN/learn/volatility-targeting-position-sizing-quant-trading-explained)那样用风险估计调整仓位,还需单独处理目标期限,并区分实现值与预测值。
非线性收缩以不同方式调整特征值
线性收缩用一个标量强度把整个样本矩阵与选定的目标矩阵混合。在单位矩阵目标下,可以从特征值角度理解:它将样本特征值拉向共同中心,同时保留样本特征向量。这有助于稳定含噪频谱,但所有特征值可移动的幅度受同一个混合权重约束。
非线性收缩会逐一变换样本特征值;在旋转等变估计器中,通常保留样本特征向量。Ledoit 和 Wolf 的 2012 年论文提出了用于大维协方差估计的非线性特征值变换(2012)。他们 2017 年的组合选择研究则讨论了针对该目标调整的估计器(2017)。这些方法不是上面展示的标量线性混合,不应将两者混为一谈。
在假设适用时,更灵活的估计器可以更细致地拟合协方差结构,但这不代表它对每个资产范围或样本窗口都自动更合适。应比较具体估计器、假设、计算量和样本外表现。特征值变换也不是对未来相关性状态的预测。
目标设定错误和数据处理仍然重要
收缩通过加入结构降低方差,但加入的结构可能不正确。单因子目标可能遗漏行业或风格关系;常相关目标可能忽略相关性簇;比例单位矩阵可能压制真实协方差。市场状态或因子敞口改变、观测不同步,都可能使基于某个历史窗口的目标无法准确描述下一阶段。该方法不会让收益观测自动变得独立或平稳。
半正定性结论有其条件。如果 \(S\) 和 \(F\) 都是半正定矩阵,且 \(0\leq\delta\leq1\),那么它们的凸组合也是半正定矩阵。但这本身不能保证严格正定:目标矩阵可能有零特征值,或者目标权重为零。若对每一对资产使用不同日期、按资产对删除缺失值,样本矩阵 \(S\) 本身也可能不是半正定矩阵;除非修复或替换该输入,否则凸性论证不再适用。
应说明收益定义、采样频率、观测窗口、缺失数据规则、均值处理方式、目标矩阵和强度估计程序。适用时,让所有资产采用共同的观测方案。不要因为某个目标在用于评估的同一批数据上产生最吸引人的回测结果,就据此选择它;目标选择和组合设计本身都是研究决策。
在样本外比较风险估计,并纳入实施因素
一种有用的评估方式是先固定资产范围、收益期限、再平衡规则和信息截止时间,然后在相同训练窗口上比较样本矩阵、选定的收缩估计器和适当的基准。可以用之后实现的度量评估协方差预测,也可以在留出期间评估组合预测。应报告损失函数,以及它如何处理方差误差与协方差误差。某个损失下样本内矩阵误差更小,并不意味着按另一目标评估时未来组合风险估计也会更好。
若用于组合,还应报告它对权重、集中度、换手率、约束和估算交易成本的影响。协方差矩阵只是决策输入之一:预期收益、融资、风险限制和执行假设也会改变最终组合。条件数更低只是矩阵属性,不代表实现收益或风险得到保证。
矩阵估计损失与组合决策损失不可互换。对矩阵各元素平方误差求和的损失会广泛地衡量资产对;而 \(w^\top\Sigma w\) 会根据指定组合的敞口,对方差和协方差项赋予不同权重。应明确研究评估的是矩阵本身的重构,还是针对特定敞口的风险预测,再选择并披露相匹配的标准。针对一个目标选出的收缩强度,不会自动成为另一个目标的最优值。
评估还必须遵守时间顺序。每个预测日期都只能使用截至该日已知的信息,来估计收缩强度、选择资产范围和调整其他参数。若用完整样本估计强度,再回头给早期期间评分,就把未来信息泄漏进了选择过程。在滚动评估中,应在每个起点只用当时已有的收益重新计算估计器,记录窗口长度和再平衡间隔,并说明用作基准的实现协方差代理是否与预测期限重叠或重复使用了收益数据。
最稳妥的解释有明确边界:Ledoit–Wolf 方法提供了基于数据的途径,将含噪样本协方差与选定的目标矩阵或变换结合。结果是否有用,取决于目标、抽样假设和评估方式是否符合预期的风险问题。这是对协方差结构的估计,不是独立的交易信号,也不承诺超额表现。
常见问题
Q1Ledoit–Wolf 估计器是否始终使用同一个公式?
不是。这个名称用于一系列相关程序,它们采用不同的目标矩阵和强度估计方法。与其把它当作一种通用矩阵,不如明确目标、抽样假设、损失函数或优化目标。
Q2常相关收缩会把所有协方差变成同一个数吗?
不会。它将目标矩阵中的成对相关性设为平均值,同时保留每项资产的样本方差。资产 \(i\) 与 \(j\) 之间的目标协方差是 \(\bar{\rho}\sqrt{S_{ii}S_{jj}}\),所以资产波动率不同,协方差也可能不同。
Q3\(\delta=0.40\) 是推荐的 Ledoit–Wolf 设置吗?
不是。这只是为假设计算示例选取的值。实际程序会针对具体目标和假设估计强度;换用其他目标或样本时,结果可能不同。
Q4收缩能保证组合风险更低吗?
不能。它会改变估计协方差矩阵,并可能改善条件性或特定假设下的估计质量。实现风险和组合表现还取决于未来收益、估计选择、约束、交易成本和市场变化。
资料来源与延伸阅读
报告问题
我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈
快速检查
读完指南后,用 3 道题检查一下
问题 01
在线性收缩公式中,是什么决定样本协方差被拉向哪种结构?
选择答案即可查看解释