halo 的技术博客

返回

Ledoit-Wolf 收缩Marchenko-Pastur 去噪修理的都是协方差矩阵本身。这一篇把镜头转向它的逆——精度矩阵(precision matrix)Θ = Σ⁻¹。这个矩阵在组合优化里无处不在(GMV 权重 w ∝ Θ1),但它还有一层被忽略的语义:Θ 的零元素编码条件独立

Θij=0    控制其他所有资产后,i 与 j 条件独立\Theta_{ij} = 0 \iff \text{控制其他所有资产后,} i \text{ 与 } j \text{ 条件独立}

普通相关系数会说”招商银行和贵州茅台相关 0.4”,但这 0.4 里大部分是两者共同暴露于大盘的结果。精度矩阵问的是更尖锐的问题:刨掉所有其他资产的影响后,这两只股票还有没有直接联系? 把非零的 Θ_ij 画成边,你得到一张条件依赖网络——它比相关矩阵稀疏得多、也诚实得多。

问题是:样本协方差的逆永远不会给你这张干净的网络。

样本逆矩阵:永远的满图#

本文实验设定:40 资产、4 板块,真实精度矩阵按板块内链式结构构造——每个板块内部 10 只资产两两相邻条件相关,加少量跨板块桥接边,真实网络共 44 条边(满图 780 条的 5.6%)。由此反解出真实协方差,模拟日收益。

用 T=126 天数据(T/N ≈ 3,可逆但病态)直接求样本协方差的逆:

  • 估出 780 条边——满图,精确率 6%
  • 真实为零的 736 个位置上,样本逆矩阵全部给出非零值,很多还不小

这不是坏运气,是数学必然:矩阵求逆是全局运算,任何一个元素的采样噪声都会扩散到逆矩阵的所有位置。样本量有限时,逆矩阵的每个元素都是信号和噪声的混合物,精确的零在有限样本下测度为零

同一份126天数据:样本逆矩阵一片噪声,Graphical Lasso 还原出板块链

左图是真实部分相关矩阵——四个板块沿对角线整齐排列,链式结构清晰可见。中图是样本逆矩阵——板块结构淹没在噪声里。右图是 Graphical Lasso 的输出——板块链重新浮出水面。

Graphical Lasso:在似然上加 L1#

Friedman、Hastie、Tibshirani(2008)的方案直接把稀疏性写进目标函数:

Θ^=argmaxΘ0  logdetΘtr(SΘ)αΘ1\hat{\Theta} = \arg\max_{\Theta \succ 0} \; \log\det\Theta - \text{tr}(S\Theta) - \alpha\|\Theta\|_1

前两项是高斯对数似然(S 为样本协方差),第三项对 Θ 的元素绝对值求和加惩罚。和 Lasso 回归同款几何:L1 惩罚的角点让弱元素被压成精确的零,而不是缩小到接近零。α 控制稀疏度:α=0 退回样本逆矩阵,α→∞ 只剩对角线(所有资产条件独立)。

一个必须遵守的工程细节写在注释里了:在相关口径(标准化收益)上拟合。不同资产波动率差几倍,直接在协方差口径上加统一的 α,等于对低波动资产的边重罚、对高波动资产的边轻罚——惩罚就不公平了。这和 MP 去噪必须在相关口径裁剪是同一条纪律。

部分相关网络:样本逆矩阵即使卡阈值仍是毛线球

网络图更直观:左边真实网络 44 条边,四个板块各自成链。中间样本逆矩阵即使卡 |ρ|>0.05 的阈值仍有 531 条边——事后卡阈值救不了满图,因为噪声边和真实弱边的幅度混在同一个区间。右边 GLasso(α=0.08)241 条边,仍偏密但板块骨架已经浮现。

α 扫描:两个最优点不重合#

α 是 GLasso 的命门。16 次蒙特卡洛、9 档 α 的扫描给出这篇文章最重要的一张图:

α 控制稀疏度:结构恢复与组合表现的最优点不重合

左图看结构恢复:边数从 α=0.002 的 758 条单调降到 α=0.4 的 24 条,穿过真实值 44 条;F1 分数(精确率与召回的调和平均)在 α=0.25 达到峰值 0.86——此时估出的边数恰好在真实边数附近。

右图看组合表现:把 GLasso 估计的协方差喂给最小方差优化器,用真实协方差评估样本外波动率。U 形曲线在 α=0.15 触底 5.63%——好于样本协方差(6.48%)和 Ledoit-Wolf(5.87%),距理论最优(5.38%)一步之遥。

注意两个最优点不重合:组合表现最优的 α=0.15 对应约 112 条边——是真实边数的 2.5 倍。原因不难理解:组合优化在乎的是 Σ⁻¹1 这个方向的精度,多保留一些弱边带来的方差损失,小于砍掉真实弱边带来的偏差损失;而 F1 对多余的边毫不留情。你要一张干净的图,还是一个稳的组合,α 的选法不一样——把两者混为一谈是这个工具最常见的误用。

与 Ledoit-Wolf 正面对决:先验对了才赢#

GLasso 和 LW 收缩都是正则化,区别在先验的形状:LW 说”所有元素都往结构化目标拉一点”,保满图;GLasso 说”图本身是稀疏的”,直接杀边。当真实结构确实稀疏时(本实验的设定),更强的先验换来更多的正则化收益:

结构先验的价值随数据增多而消退

估计窗口样本协方差Ledoit-WolfGraphical Lasso
T=638.60%6.00%5.84%
T=1266.43%5.83%5.65%
T=2525.83%5.67%5.52%
T=10085.49%5.49%5.43%

(GMV 组合样本外真实波动率,理论最优 5.38%,α 随 T 按 0.08·√(126/T) 衰减)

GLasso 全程压 LW 一头,且数据越少优势越大——T=63 时样本协方差已经病入膏肓(8.60%),LW 拉回 6.00%,GLasso 再进一步到 5.84%。到 T=1008 三者合流,正则化集体退场,这个剧本和收缩MP 去噪一模一样。

但必须立刻泼冷水:这是真实图确实稀疏时的成绩单。本实验的数据生成过程就是稀疏图,GLasso 的先验完全命中。真实市场的原始收益不满足这个条件——所有资产共享市场因子,导致条件依赖图接近满图,稀疏先验直接错配。实操的正确姿势是先剥离共同因子,再对残差跑 GLasso

# 一因子剥离:对市场收益回归,取残差
betas = np.array([np.polyfit(mkt_ret, returns[:, i], 1)[0]
                  for i in range(N)])
residuals = returns - np.outer(mkt_ret, betas)
cov_resid, prec_resid = fit_glasso(residuals, alpha=0.1)
# 残差网络:板块/供应链/竞争关系等真正的"直接联系"
python

剥掉市场因子后,剩下的条件依赖才是板块、供应链、竞争关系这些真正稀疏的结构——这也是 GLasso 在统计套利里的标准用法:残差网络里的边就是配对交易的候选对

A. 实现细节#

信号与数据:40 资产合成市场,真实精度矩阵按 4 板块链式结构构造(44 条真实边),由多元正态模拟日收益,无自相关。GLasso 用 sklearn 的坐标下降实现,在相关口径拟合后缩回协方差口径;边的判定阈值为部分相关 |ρ|>10⁻⁴(L1 产生精确零,阈值仅防数值毛刺)。组合评估:各估计器的协方差解无约束 GMV(允许做空),用真实协方差算组合真实波动率,16 次蒙特卡洛取中位数。α 扫描固定 T=126;跨 T 对比时 α 按 √(126/T) 缩放以近似最优衰减。

B. 已知偏差#

先验命中是本实验最大的”作弊”:数据由稀疏图生成,GLasso 先验完全正确,实测优势是上界而非典型值。真实市场原始收益的条件依赖图不稀疏,直接套用会错配,必须先做因子剥离——而剥离用的因子模型本身又引入新的设定误差。α 无解析解:LW 的 δ* 从数据直接算,GLasso 的 α 要交叉验证,验证目标(似然 or 组合波动率 or 图稳定性)不同选出的 α 也不同,本文展示的两峰分离就是证据。非零边的数值有收缩偏差:L1 在杀零的同时也把幸存的边往零压,要无偏数值需在选出的图上做二次无惩罚拟合(relaxed lasso)。高斯似然假设对厚尾收益的稳健性未在本实验检验。

C. 结果解读#

结论一:样本逆矩阵不可能给出条件依赖结构,满图是数学必然而非数据问题。 780 条边、6% 精确率,事后卡阈值也只能砍到 531 条——去噪必须发生在估计阶段,不能等到解读阶段。

结论二:要图还是要组合,α 的最优选择差近一倍。 F1 峰值在 α=0.25(边数≈真实值),组合波动率谷底在 α=0.15(边数≈真实值 2.5 倍)。组合优化偏爱稍密的图,结构解读需要更狠的惩罚——一套参数走天下会两头不讨好。

结论三:稀疏先验命中时全程优于均匀收缩,但赢的幅度递减。 T=63 时 GLasso 比 LW 低 0.16 个百分点,T=252 只剩 0.15,T=1008 剩 0.06——和所有正则化一样,它是小样本的药,不是永动机。真实图不稀疏时这个先验会反噬,实操前先问一句:我的数据剥干净共同因子了吗?

结论四:GLasso 的真正独门价值不在组合波动率,在网络本身。 与 LW 五五开的波动率改善随处可得,但”控制全市场后哪两只资产仍直接相连”这个信息只有稀疏精度矩阵给得出——配对交易选对、风险传染路径分析、板块划分校验,才是它不可替代的场景。

Graphical Lasso 稀疏逆协方差:用 L1 惩罚画出资产间的条件依赖网络
https://blog.halo26812.eu.org/blog/graphical-lasso-precision
Author halo
Published at 2026年7月28日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨