PCA Factor Decomposition
Run PCA on 8 correlated stock signals. See how many independent factors actually drive the data — eigenvalues, explained variance, and factor loadings.
Feb 23, 2026, Eric
The Core Idea
Principal Component Analysis decomposes a covariance matrix into eigenvalues (how much variance each factor explains) and eigenvectors (the factor loadings — which original signals contribute to each hidden factor). If 8 correlated signals can be explained by 3 principal components, you effectively have only 3 independent sources of information, not 8.
Mathematically: Σ = V Λ Vᵀ, where Λ is a diagonal matrix of eigenvalues and V is the orthogonal matrix of eigenvectors.
Dataset — 8 Signals × 252 Days
Correlated via Cholesky decomposition: 3 latent drivers (equity factor, rates factor, volatility regime). One year of simulated daily data.
4 principal components explain ≥ 90% of total variance across all 8 signals. You have fewer independent signals than you think.
Scree Plot — Variance Explained per Component
Each bar is the eigenvalue share of that principal component. The line shows cumulative explained variance.
Cumulative Explained Variance
Dashed line = 90% threshold (4 components needed).
Factor Loadings (Top 3 Components)
Each bar shows how much a signal contributes to that principal component. Large absolute values = strong loading. Opposite signs = signals moving in opposite directions on that factor.
Eigenvalue Summary
| Component | Eigenvalue | Variance % | Cumulative % |
|---|---|---|---|
| PC1 | 9.29 ×10⁻⁴ | 66.4% | 66.4% |
| PC2 | 1.87 ×10⁻⁴ | 13.4% | 79.8% |
| PC3 | 1.31 ×10⁻⁴ | 9.4% | 89.1% |
| PC4 | 0.59 ×10⁻⁴ | 4.2% | 93.4% |
| PC5 | 0.42 ×10⁻⁴ | 3.0% | 96.3% |
| PC6 | 0.27 ×10⁻⁴ | 1.9% | 98.2% |
| PC7 | 0.19 ×10⁻⁴ | 1.4% | 99.6% |
| PC8 | 0.05 ×10⁻⁴ | 0.4% | 100.0% |