But it helps ...
I added PCA as a feature reducer today. Not for dimensionality, just to compress rolling returns into a few principal components.
The trick was doing it per window. That means: sliding over time, fitting PCA fresh, and storing the first component + explained variance. It’s heavy, but with CuPy and aggressive batching, it’s tractable.
It doesn’t “explain the market,” but it helps distinguish when volatility regimes shift sharply ... without relying on handcrafted thresholds.
[[PCA]] [[ML]] [[CuPy]] [[Volatility]] [[Serendipity]]