上海某多策略私募的风控总监周一开盘前打开她的笔记本:一只新策略子账户即将上线,桌面上躺着一个 500×500 的样本协方差矩阵 Σ \Sigma Σ ,由沪深300 成分股日收益估出。CIO 只问她两件事:哪两个名义因子方向解释了组合方差的主要部分,以及这一结论对输入窗口的微小扰动有多敏感。这两个问题都由同一个对象回答——Σ \Sigma Σ 的特征分解。前者由特征向量给出方向,后者由最大特征值与最小特征值之比给出敏感度。本节把前三节的代数提升到谱论,并跨越到对每个实矩阵都成立的奇异值分解(SVD),把条件数、PCA 与低秩近似统一在一个分解之下。
一、特征值、特征向量与特征多项式
实方阵 A ∈ R n × n A \in \mathbb{R}^{n \times n} A ∈ R n × n 的特征值 λ \lambda λ 与特征向量 v ≠ 0 v \neq 0 v = 0 满足
A v = λ v A v = \lambda v A v = λ v
特征向量是 A A A 不旋转、仅按 λ \lambda λ 伸缩的方向。改写为 ( A − λ I ) v = 0 (A - \lambda I) v = 0 ( A − λ I ) v = 0 ,存在非零解当且仅当 A − λ I A - \lambda I A − λ I 奇异,当且仅当 det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0 。这条方程称为特征多项式 ,是关于 λ \lambda λ 的 n n n 次多项式,其根(计重数)恰为 A A A 的全部特征值。
例:取 A = ( 2 1 1 2 ) A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} A = ( 2 1 1 2 ) ,特征多项式 ( 2 − λ ) ( 2 − λ ) − 1 = λ 2 − 4 λ + 3 = ( λ − 1 ) ( λ − 3 ) (2 - \lambda)(2 - \lambda) - 1 = \lambda^2 - 4\lambda + 3 = (\lambda - 1)(\lambda - 3) ( 2 − λ ) ( 2 − λ ) − 1 = λ 2 − 4 λ + 3 = ( λ − 1 ) ( λ − 3 ) ,故 λ 1 = 1 \lambda_1 = 1 λ 1 = 1 、λ 2 = 3 \lambda_2 = 3 λ 2 = 3 。对 λ 1 = 1 \lambda_1 = 1 λ 1 = 1 解 ( A − I ) v = 0 (A - I) v = 0 ( A − I ) v = 0 :v 1 + v 2 = 0 v_1 + v_2 = 0 v 1 + v 2 = 0 ,得 v = ( 1 , − 1 ) v = (1, -1) v = ( 1 , − 1 ) ;对 λ 2 = 3 \lambda_2 = 3 λ 2 = 3 解 ( A − 3 I ) v = 0 (A - 3I) v = 0 ( A − 3 I ) v = 0 :− v 1 + v 2 = 0 -v_1 + v_2 = 0 − v 1 + v 2 = 0 ,得 v = ( 1 , 1 ) v = (1, 1) v = ( 1 , 1 ) 。两特征向量恰好正交,正是下面谱定理的前奏。
下面的滑块让你拖动 λ \lambda λ 观察特征方程的取值在何处过零:
Formula Explorer
(2-lambda)*(2-lambda) - 1
二、特征分解
若 A ∈ R n × n A \in \mathbb{R}^{n \times n} A ∈ R n × n 拥有 n n n 个线性无关的特征向量,把它们排成 V V V 的列、对应特征值列在对角矩阵 Λ \Lambda Λ 上,则
A = V Λ V − 1 A = V \Lambda V^{-1} A = V Λ V − 1
此即特征分解 。n n n 个特征值两两相异时它总成立;否则可能失效(标准反例是剪切矩阵 ( 1 1 0 1 ) \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} ( 1 0 1 1 ) ,特征值 1 1 1 只对应一维特征子空间)。不可对角化的矩阵仍有约当标准型——存在性此处只引用,不展开。
三、实对称矩阵的谱定理
量化实践真正依赖的优良情形:若实矩阵 A A A 对称 (A = A T A = A^T A = A T ),则:
所有特征值为实数。
不同特征值对应的特征向量正交。
A A A 存在标准正交 的特征基,分解特化为 A = Q Λ Q T A = Q \Lambda Q^T A = Q Λ Q T ,其中 Q T Q = I Q^T Q = I Q T Q = I 。
对上一节的 2 × 2 2 \times 2 2 × 2 例子,把特征向量归一化为 q 1 = ( 1 / 2 ) ( 1 , − 1 ) q_1 = (1/\sqrt{2})(1, -1) q 1 = ( 1/ 2 ) ( 1 , − 1 ) 、q 2 = ( 1 / 2 ) ( 1 , 1 ) q_2 = (1/\sqrt{2})(1, 1) q 2 = ( 1/ 2 ) ( 1 , 1 ) ,置 Q = [ q 1 ∣ q 2 ] Q = [q_1 \mid q_2] Q = [ q 1 ∣ q 2 ] 、Λ = d i a g ( 1 , 3 ) \Lambda = \mathrm{diag}(1, 3) Λ = diag ( 1 , 3 ) ,可直接验证 Q T Q = I Q^T Q = I Q T Q = I 与 A = Q Λ Q T A = Q \Lambda Q^T A = Q Λ Q T 。条目 1 的证明大意:对称矩阵 A A A 的(可能复值)特征值 λ \lambda λ 满足 v T A v = ( A v ) T v = λ ˉ v T v v^T A v = (Av)^T v = \bar\lambda v^T v v T A v = ( A v ) T v = λ ˉ v T v ,又有 v T A v = λ v T v v^T A v = \lambda v^T v v T A v = λ v T v ,比较即得 λ = λ ˉ \lambda = \bar\lambda λ = λ ˉ ,故 λ \lambda λ 为实。
典型应用:协方差矩阵 Σ \Sigma Σ 既对称又半正定(所有特征值 ≥ 0 \geq 0 ≥ 0 )。它的标准正交特征基给出数据的主成分 ——数据方差最大的若干方向,按 λ i \lambda_i λ i 从大到小排列。把 PCA 写成方差最大化的拉格朗日推导留到模块 2.6.4;本节请你带走的,是「PCA 离这里只差一步拉格朗日」这一事实。
四、奇异值分解
每一个实 m × n m \times n m × n 矩阵 A A A ——不论方非方、不论是否可对角化——都允许分解
A = U Σ V T A = U \Sigma V^T A = U Σ V T
其中 U ∈ R m × m U \in \mathbb{R}^{m \times m} U ∈ R m × m 、V ∈ R n × n V \in \mathbb{R}^{n \times n} V ∈ R n × n 是正交矩阵,Σ ∈ R m × n \Sigma \in \mathbb{R}^{m \times n} Σ ∈ R m × n 对角,其对角元 σ 1 ≥ σ 2 ≥ … ≥ σ min ( m , n ) ≥ 0 \sigma_1 \geq \sigma_2 \geq \ldots \geq \sigma_{\min(m,n)} \geq 0 σ 1 ≥ σ 2 ≥ … ≥ σ m i n ( m , n ) ≥ 0 称为 A A A 的奇异值 。与特征值的关系直接:A T A = V Σ T Σ V T A^T A = V \Sigma^T \Sigma V^T A T A = V Σ T Σ V T ,故 Σ T Σ \Sigma^T \Sigma Σ T Σ 的对角元为 σ i 2 \sigma_i^2 σ i 2 ,即 A A A 的奇异值是 A T A A^T A A T A 各特征值的非负平方根(A T A A^T A A T A 对称半正定,谱定理保证存在性)。也正因 A T A A^T A A T A 对每个实 A A A 都对称半正定,SVD 对每个实矩阵都存在。
在 Strang 的「四个基本子空间」图景中:U U U 中对应 σ i > 0 \sigma_i > 0 σ i > 0 的列构成 A A A 列空间的标准正交基,其余列构成左零空间的基;V V V 的列对 A A A 的行空间与零空间起同样作用。
五、条件数与数值灵敏度
方阵的条件数 为
κ ( A ) = σ max σ min \kappa(A) = \frac{\sigma_{\max}}{\sigma_{\min}} κ ( A ) = σ m i n σ m a x
它衡量在求解 A x = b Ax = b A x = b 时,b b b 的相对扰动如何被放大为 x x x 的相对扰动。一个近奇异的 2 × 2 2 \times 2 2 × 2 例子:A = ( 1 1 1 1.0001 ) A = \begin{pmatrix} 1 & 1 \\ 1 & 1.0001 \end{pmatrix} A = ( 1 1 1 1.0001 ) ,σ max ≈ 2 \sigma_{\max} \approx 2 σ m a x ≈ 2 、σ min ≈ 5 × 10 − 5 \sigma_{\min} \approx 5 \times 10^{-5} σ m i n ≈ 5 × 1 0 − 5 ,故 κ ( A ) ≈ 4 × 10 4 \kappa(A) \approx 4 \times 10^4 κ ( A ) ≈ 4 × 1 0 4 。b b b 的 0.01% 扰动可造成 x x x 数个百分点的偏移。风控总监「结果对窗口扰动有多敏感」的问题,化归为这一个数。具体的数值 SVD 算法(Golub-Reinsch、随机化 SVD)属于编程 track,此处不手算。
六、练习
Exercise
求实对称矩阵 A = ((2,1),(1,2)) 的特征值与对应的一组标准正交特征基,并显式写出 A = Q Lambda Q^T。
提示 写特征多项式
( 2 − λ ) 2 − 1 (2-\lambda)^2 - 1 ( 2 − λ ) 2 − 1 ,整理为两个一次因子之积即可直接读出两个特征值,无需求根公式。
提示 对每个特征值
λ \lambda λ ,解
( A − λ I ) v = 0 (A - \lambda I) v = 0 ( A − λ I ) v = 0 得到一个特征向量,再除以
∥ v ∥ \|v\| ∥ v ∥ 归一化。把两个单位特征向量并成
Q Q Q 的两列,特征值放在
Λ \Lambda Λ 对角即可。
七、通往下一模块
至此你掌握了量化实践中两类核心分解:用于对称矩阵(协方差、海森矩阵、因子载荷)的谱定理,以及对一切实矩阵都成立的 SVD(PCA、病态条件数、低秩压缩)。下一模块 2.4.2 优化所需的微积分 接着把故事推进一步:实值函数的导数与梯度、海森矩阵作为对称矩阵(其特征值刻画驻点性质),以及把线性代数谱论与二阶优化几何连接起来的泰勒展开。任何一家 CFFEX 上市股指期权做市账户在做波动率曲面的二阶健康度检查时,背后调用的正是本节的谱内容,作用在下一模块要推导的那个矩阵上。