halo 的技术博客

返回

Ledoit-Wolf 收缩解决的是维度灾难——N 大 T 小时样本协方差病态。但它有个隐含前提:每个样本日都是”好”样本,误差来自样本量不足,而非样本本身有毒。这个前提在金融数据上经常不成立:收益分布是肥尾的,一个 ±15% 的极端日进入协方差的平方项后,影响力是普通日的几百倍。样本协方差对极端值不是稳健性差,而是零稳健性——单个足够极端的观测就能把估计拖到任意远的地方。

Tyler(1987)提出的 M-估计量走了一条完全不同的路:既然极端日的问题出在幅度上,那就把幅度扔掉,只用方向

一、核心思想:只看方向,不看幅度#

把每天的收益向量 xtx_t 归一化到单位球面上:st=xt/xts_t = x_t / \|x_t\|。一个 ±15% 的崩盘日和一个 ±0.5% 的平静日,归一化后权重完全相同——只剩下”20 个资产今天往哪些方向动”这一信息。

关键洞察是:对于任何椭圆分布(正态、多元 t、多元 Laplace……),归一化后的方向向量 sts_t 的分布只依赖于散布矩阵的形状(shape matrix,即协方差矩阵去掉整体尺度后的部分),不依赖于分布的尾部厚度。所以基于方向估计出的形状矩阵,在 t(3) 和正态下有完全相同的渐近性质——这就是”分布自由”(distribution-free within elliptical family)的含义。

Tyler 估计量定义为如下不动点方程的解:

V^=NTt=1TxtxtxtV^1xt,tr(V^)=N\hat{V} = \frac{N}{T} \sum_{t=1}^{T} \frac{x_t x_t'}{x_t' \hat{V}^{-1} x_t}, \qquad \text{tr}(\hat{V}) = N

直觉拆解:分母 xtV^1xtx_t' \hat{V}^{-1} x_t 是第 t 天收益向量在当前估计下的马氏距离平方——越极端的日子分母越大、权重越低。这是一个自适应的降权机制:不需要事先指定”多大算异常”,估计量在迭代中自己决定。

迭代解法非常简单:从单位矩阵出发,反复代入右边直到收敛。Tyler 证明了只要 T > N 且数据”一般位置”(无退化共线),不动点唯一且迭代线性收敛

注意两个细节:一是中心化用中位数而非均值——均值本身会被极端日污染,用它中心化等于把污染带回来;二是每轮迭代都做 trace 归一化——Tyler 估计量只识别形状,尺度是不可辨识的,必须固定一个约束。

实测收敛性(N=20, T=252, t(4) 数据):迭代差 V(k+1)V(k)F\|V^{(k+1)}-V^{(k)}\|_F 在对数轴上是一条直线,约 35 轮达到 1e-15——每轮只需一次矩阵求逆,总成本可以忽略:

不动点迭代收敛与自动降权机制

右图是降权机制的直接可视化:横轴是当日收益向量的幅度,纵轴是该样本在最终估计中获得的相对权重。幅度 6% 以上的极端日权重被压到均值的 20% 以下,而波动 1% 以内的平静日权重可达均值的 3 倍——样本协方差恰好相反(平方项让极端日权重最高),这就是两者稳健性差异的全部来源。

二、实验一:肥尾之下,误差纹丝不动#

模拟设定:N=20 资产,真实协方差为单因子结构(β∈[0.5,1.5] + 异质特质波动),收益从多元 t 分布生成,自由度从 3(极肥尾)到 ∞(正态),T=252,60 次 Monte Carlo。评价指标是形状矩阵的相对 Frobenius 误差(估计和真值都先做 trace 归一化,只比形状)。

肥尾下的形状矩阵估计误差

分布样本协方差Ledoit-WolfTyler
t(3)0.2660.2530.108
t(4)0.1780.1790.105
t(6)0.1400.1420.104
t(10)0.1140.1140.102
正态0.0980.0970.102

三个观察:

第一,Tyler 的误差曲线几乎是水平线(0.108→0.102)——这就是”分布自由”的实证形态。样本协方差和 LW 的误差随尾部变肥单调恶化,t(3) 下是 Tyler 的 2.5 倍。

第二,Ledoit-Wolf 对肥尾毫无免疫力。LW 收缩解决的是”T 相对 N 不够”的问题,收缩目标和收缩强度都基于样本矩计算——而样本矩本身已经被肥尾污染。t(3) 下 LW(0.253)和裸样本协方差(0.266)几乎没差别。收缩和稳健是正交的两个维度,前者治维度病,后者治尾部病。

第三,正态下 Tyler 只损失 4%(0.102 vs 0.098)。扔掉幅度信息的代价在正态下是渐近效率损失约 1/(1+2/N)1/(1+2/N) 量级——N=20 时不到 10%。用很小的保费买肥尾保险。

三、实验二:污染崩溃曲线——稳健性的边界#

更极端的测试:在 t(6) 基底数据中,随机把 ε 比例的样本日替换为 ±15% 量级、方向随机(与真实因子结构无关)的异常日,模拟数据错误或闪崩类事件。

异常值污染下的崩溃曲线

污染比例样本协方差Ledoit-WolfTyler
0%0.1470.1440.107
1%0.1470.1480.105
2%0.1840.1920.109
5%0.3050.3110.266
10%0.5150.5111.930

前半段符合预期:2% 污染(一年约 5 个坏日)就足以让样本协方差误差恶化 25%,而 Tyler 纹丝不动——降权机制精确识别并压制了这些异常日。

但 10% 污染时发生了反转:Tyler 的误差爆炸到 1.93,反而比样本协方差(0.52)惨得多。原因值得细说:Tyler 是用方向信息估计的,当 10% 的样本集中在同一个随机方向 u 上时(我们的污染都沿同一方向),这些样本在方向分布中形成一个假的”因子”——Tyler 无法区分”这是被污染的方向”还是”这是一个真实的强因子”,于是把大量质量分配给 u。而样本协方差虽然也被污染,但 15% 幅度的平方项被 90% 的正常样本部分稀释了。教训很直接:Tyler 对”少量、分散”的异常免疫,对”大量、同向”的结构性污染反而更脆弱。它的崩溃点(breakdown point)约为 1/N 到 1/(N+1) 之间——N=20 时约 5%,与实验吻合。

四、实验三:GMV 组合——形状优势被求逆稀释#

估计误差是中间指标,最终要看组合表现。用各估计量构建全局最小方差(GMV)组合,权重 wΣ^11w \propto \hat{\Sigma}^{-1}\mathbf{1},在真实协方差下计算真实年化波动率。数据为 t(4) 肥尾。Tyler 只给形状,尺度用样本方差的中位数补上(GMV 权重对整体尺度不敏感,这一步只影响数值稳定性)。

肥尾市场中的 GMV 组合表现

T样本Ledoit-WolfTyler等权
6013.52%12.06%12.58%17.44%
12611.58%11.26%11.09%17.44%
25211.03%10.96%10.63%17.44%
50410.69%10.64%10.41%17.44%
理论最优10.19%

结论比形状误差图谦虚得多:

T=60 时 LW 反超 Tyler。短窗口下主要矛盾是维度病(N/T=1/3),收缩的价值大于稳健的价值。Tyler 要求 T > N 且没有内置收缩,小样本下它的形状估计本身方差就大。

T≥126 后 Tyler 稳定领先,但幅度只有 0.2-0.4 个百分点。形状误差差了一倍多(0.105 vs 0.178),组合波动却只差 3%——因为 GMV 权重依赖的是 Σ^1\hat{\Sigma}^{-1}方向结构,求逆运算对误差的放大主要发生在小特征值上,而 Tyler 改善的主要是大特征值方向的形状。估计层面的巨大优势传导到组合层面会大幅衰减,这是协方差研究里反复出现的规律,任何只报告矩阵误差不报告组合表现的论文都要打个折扣看。

实务上的正确姿势是两者叠加:正则化 Tyler 估计量(Chen-Wiesel-Hero 2011,在 Tyler 迭代里加一个向单位矩阵的收缩项)同时治维度病和尾部病,小样本+肥尾下比单用任何一个都好。sklearn 没有现成实现,但在上面代码的 V_new 行加一项 (1-rho)*V_new + rho*np.eye(N) 即是最简版本。

五、A/B/C 三段式总结#

A. 实现细节:收益矩阵 (T, N),中位数中心化;不动点迭代 + 每轮 trace 归一化,收敛容差 1e-8,实测约 35 轮收敛;形状误差在 trace 归一化后按 Frobenius 范数计算;GMV 实验中 Tyler 形状矩阵直接求逆取权重(权重和为 1 消掉尺度);污染实验的异常日为固定随机方向 × N(0, 15%²) 幅度;60 次 Monte Carlo 取均值。

B. 已知偏差:(1) 模拟市场是精确的椭圆分布(多元 t),这是对 Tyler 最友好的假设——真实收益的尾部有偏度和不对称相依,椭圆假设本身有偏差,Tyler 的”分布自由”保证会打折;(2) 污染实验的异常日方向固定,是对 Tyler 最不利的污染形态之一,实际数据错误多为单资产跳价,Tyler 表现会好于实验中的 10% 崩溃场景;(3) 真实协方差在模拟中不随时间变化,未测试 Tyler 在时变协方差下与滚动窗口的交互。

C. 结果解读:Tyler 的价值主张非常清晰——用正态下约 4% 的效率损失,换肥尾下 2.5 倍的误差改善,且不需要调任何超参数。它最适合的场景:中等维度(N=10~50)、样本充足(T > 3N)、明确担心极端日污染的形状估计任务,例如风险平价的相关结构、马氏距离湍流指数里的 Σ⁻¹(湍流指数对 Σ 的污染极度敏感,用 Tyler 估计是文献标准做法)。它不能做的事也要清楚:只给形状不给尺度,波动率目标策略需要另外配一个稳健尺度估计(如 MAD);崩溃点约 1/N,对大规模同向污染无免疫力;小样本下应换正则化版本。与 Ledoit-Wolf 的关系是互补而非替代——一个治维度,一个治尾部,实务中叠加使用。

Tyler M-估计量:对肥尾免疫的稳健散布矩阵
https://blog.halo26812.eu.org/blog/tyler-m-estimator-covariance
Author halo
Published at 2026年7月28日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨