What Machine Learning Says About the Factor Zoo
Machine learning models trained on hundreds of factors consistently find that a handful of characteristics do almost all the work, and most of the published zoo adds little once those few are in the model.
Prerequisites: The Factor Zoo and the Replication Crisis
Give a machine learning model 300 stock characteristics and let it find which ones actually predict returns, and a consistent pattern shows up across studies: the model puts almost all its weight on a small handful of characteristics — usually some version of momentum, size, and a few liquidity or volatility measures — and treats the rest as close to noise. This matters because it's an independent check on the factor zoo problem: instead of a human researcher's regression asking "is factor X significant," the machine is asked "out of everything available, what actually helps predict returns out of sample," and it keeps landing on the same small answer.
When hundreds of candidate factors are handed to a flexible model with proper regularization and out-of-sample testing, predictive power concentrates in a small core (roughly a dozen characteristics), echoing exactly what the multiple-testing critique of the factor zoo would predict: most published factors were never doing much.
Why this is the right test, not just a bigger regression
A simple OLS regression with 300 factors as predictors would badly overfit — with limited years of data, the number of parameters can approach the number of independent monthly observations, and the model would fit noise perfectly in-sample while predicting nothing out of sample. Machine learning approaches used for this problem (regularized regression, gradient-boosted trees, neural networks) are specifically built to guard against that: they penalize complexity and are always evaluated on data the model never saw during training. A characteristic earns "importance" only if it keeps predicting returns in periods and stocks it wasn't fit on.
Worked example
In Gu, Kelly and Xiu's widely cited study, a gradient-boosted tree model trained on 94 characteristics found that momentum-related variables (short-term reversal, 12-month momentum) and volatility/liquidity measures accounted for the large majority of predictive power (measured by out-of-sample R²), while dozens of accounting-ratio-based characteristics that populate the academic literature individually contributed close to nothing to the model's predictions. Dropping the bottom 80% of characteristics by importance barely changed the model's out-of-sample performance.
What this means in practice
This is good news and bad news for a practitioner. Bad news: most of the 300+ published "factors" likely aren't independently useful, consistent with the multiple-testing and file-drawer critiques of the literature. Good news: a much smaller, well-chosen set of signals captures most of the available predictive power, so a quant team doesn't need to chase every new academic paper — it needs to make sure it has the small core set well-implemented and combined intelligently.
"Low importance in this model" is not the same as "no economic content." A characteristic can be genuinely informative but highly correlated with another one the model already uses, so the model assigns it near-zero marginal importance even though it isn't worthless on its own — the same redundancy issue that spanning tests are built to detect directly.
Related concepts
Practice in interviews
Further reading
- Gu, Kelly, Xiu, 'Empirical Asset Pricing via Machine Learning' (Review of Financial Studies)
- Kozak, Nagel, Santosh, 'Shrinking the Cross-Section' (Journal of Financial Economics)