Machine learning: 12 Backtests
We backtested 12 machine learning strategies across crypto, US stocks. 1 beat buy-and-hold before correction; best +1.0 pts/yr.
Every result below is the strategy's annualized return minus buy-and-hold on the same assets and days, charged real trading costs and scored only on data up to the discovery cutoff. See the full family index, the full method and every result, or download the raw registry (JSON).
0 of these 12 strategies were significant at p < 0.05 before any correction for multiple testing, and 1 of 12 beat buy-and-hold on the raw excess-return number across crypto, US stocks. Across the whole registry we ran 260 tests and applied one Benjamini-Hochberg correction; only 0 of those survived it, which is why a single significant p-value inside one family isn't treated as a working edge here — the correction is explained in full on the evidence page. This family was last re-scored on 2026-09-18, using only data up to the 2025-03-15 discovery cutoff — the same freeze point every family in the registry is held to, so none of them can see data the others couldn't. Machine learning is tested across 2 asset classes (crypto, US stocks); a strategy only joins this family because of the signal it trades on, not the asset it's tested against.
- Kalman filter dynamic trend/slope estimate (crypto): +1.0 pts/yr, behind buy-and-hold, p=0.478. Source: Ernest Chan, Algorithmic Trading (2013), ch. on Kalman filters.
- Hierarchical Risk Parity (Lopez de Prado) allocation (wide US stocks) (US stocks): −3.8 pts/yr, behind buy-and-hold, p=1.000. Source: Lopez de Prado (2016) JPM 68-79.
- Minimum-variance long-only portfolio, rolling covariance (US stocks): −4.3 pts/yr, behind buy-and-hold, p=1.000. Source: Clarke, de Silva, Thorley (2006) Journal of Portfolio Management.
- Minimum-variance long-only portfolio, rolling covariance (wide US stocks) (US stocks): −4.4 pts/yr, behind buy-and-hold, p=1.000. Source: Clarke, de Silva, Thorley (2006) Journal of Portfolio Management.
- Hierarchical Risk Parity (Lopez de Prado) allocation (US stocks): −4.6 pts/yr, behind buy-and-hold, p=1.000. Source: Lopez de Prado (2016) JPM 68-79.
- Equal-weight ensemble of weak technical signals, majority vote (wide US stocks) (US stocks): −12.5 pts/yr, behind buy-and-hold, p=1.000. Source: QuantConnect/Quantopian community ensemble-signal writeups.
- Equal-weight ensemble of weak technical signals, majority vote (crypto): −12.6 pts/yr, behind buy-and-hold, p=1.000. Source: QuantConnect/Quantopian community ensemble-signal writeups.
- Kalman filter dynamic trend/slope estimate (wide US stocks) (US stocks): −16.3 pts/yr, behind buy-and-hold, p=1.000. Source: Ernest Chan, Algorithmic Trading (2013), ch. on Kalman filters.
- PCA-based statistical arbitrage across crypto majors (wide US stocks) (US stocks): −29.0 pts/yr, behind buy-and-hold, p=1.000. Source: Avellaneda & Lee (2010) Quantitative Finance.
- ML-lite drawdown-triggered deleveraging overlay (crypto): −35.7 pts/yr, behind buy-and-hold, p=1.000. Source: Kaminski, Lo (2014) Journal of Financial Markets 'When Do Stop-Loss Rules Stop Losses?'.
- PCA-based statistical arbitrage across crypto majors (crypto): −89.0 pts/yr, behind buy-and-hold, p=1.000. Source: Avellaneda & Lee (2010) Quantitative Finance.
- Random forest hourly direction classifier (crypto): −181.8 pts/yr, behind buy-and-hold, p=1.000. Source: Krauss, Do, Huck (2017) EJOR 'Deep neural networks, gradient-boosted trees, random forests: Statistical arbitrage on the S&P 500'.
Related families: Macro and intermarket, Pairs and stat arb, Social media chart patterns.