Tickfloor

Machine Learning Strategies: 12 Backtests

Data last updated

Rules built from machine learning or portfolio-optimisation methods rather than a single indicator.

1 of 12 strategies finished ahead of the benchmark on the raw number, and 0 had an unadjusted p-value under 0.05. None cleared the correction for trying 1,774 tests in total (a q-value below 0.10), so no result here is a confirmed edge. Scored 2026-10-31, using data up to 2025-03-15.

Strategies here tested on crypto, US stocks. See the full family index, the full method and every result, or download the raw registry (JSON).

Results

RuleMarketVs benchmarkSamplep-valueCorrected qReceipt
Kalman filter dynamic trend/slope estimate receipt
Source: Ernest Chan, Algorithmic Trading (2013), ch. on Kalman filters
crypto+1.0 pts/yr3,251 trades0.4781.000On-site receipt
Hierarchical Risk Parity (Lopez de Prado) allocation (wide US stocks) receipt
Source: Lopez de Prado (2016) JPM 68-79
US stocks−3.8 pts/yr90 rebalances1.0001.000On-site receipt
Minimum-variance long-only portfolio, rolling covariance receipt
Source: Clarke, de Silva, Thorley (2006) Journal of Portfolio Management
US stocks−4.3 pts/yr431 rebalances1.0001.000On-site receipt
Minimum-variance long-only portfolio, rolling covariance (wide US stocks) receipt
Source: Clarke, de Silva, Thorley (2006) Journal of Portfolio Management
US stocks−4.4 pts/yr431 rebalances1.0001.000On-site receipt
Hierarchical Risk Parity (Lopez de Prado) allocation receipt
Source: Lopez de Prado (2016) JPM 68-79
US stocks−4.6 pts/yr90 rebalances1.0001.000On-site receipt
Equal-weight ensemble of weak technical signals, majority vote (wide US stocks) receipt
Source: QuantConnect/Quantopian community ensemble-signal writeups
US stocks−12.5 pts/yr21,776 trades1.0001.000On-site receipt
Equal-weight ensemble of weak technical signals, majority vote receipt
Source: QuantConnect/Quantopian community ensemble-signal writeups
crypto−12.6 pts/yr158 trades1.0001.000On-site receipt
Kalman filter dynamic trend/slope estimate (wide US stocks) receipt
Source: Ernest Chan, Algorithmic Trading (2013), ch. on Kalman filters
US stocks−16.3 pts/yr8,279 trades1.0001.000On-site receipt
PCA-based statistical arbitrage across crypto majors (wide US stocks) receipt
Source: Avellaneda & Lee (2010) Quantitative Finance
US stocks−29.0 pts/yr1,707 rebalances1.0001.000On-site receipt
ML-lite drawdown-triggered deleveraging overlay receipt
Source: Kaminski, Lo (2014) Journal of Financial Markets 'When Do Stop-Loss Rules Stop Losses?'
crypto−35.7 pts/yr192 trades1.0001.000On-site receipt
PCA-based statistical arbitrage across crypto majors receipt
Source: Avellaneda & Lee (2010) Quantitative Finance
crypto−89.0 pts/yr429 rebalances1.0001.000On-site receipt
Full test: Pairs Trading
Random forest hourly direction classifier receipt
Source: Krauss, Do, Huck (2017) EJOR 'Deep neural networks, gradient-boosted trees, random forests: Statistical arbitrage on the S&P 500'
crypto−181.8 pts/yr87,166 trades1.0001.000On-site receipt
  • Kalman filter dynamic trend/slope estimate

    crypto · +1.0 pts/yr · 3,251 trades · corrected q 1.000

    Source, p-value and result file
    Source
    Ernest Chan, Algorithmic Trading (2013), ch. on Kalman filters
    p-value
    0.478
    Corrected q
    1.000
  • Hierarchical Risk Parity (Lopez de Prado) allocation (wide US stocks)

    US stocks · −3.8 pts/yr · 90 rebalances · corrected q 1.000

    Source, p-value and result file
    Source
    Lopez de Prado (2016) JPM 68-79
    p-value
    1.000
    Corrected q
    1.000
  • Minimum-variance long-only portfolio, rolling covariance

    US stocks · −4.3 pts/yr · 431 rebalances · corrected q 1.000

    Source, p-value and result file
    Source
    Clarke, de Silva, Thorley (2006) Journal of Portfolio Management
    p-value
    1.000
    Corrected q
    1.000
  • Minimum-variance long-only portfolio, rolling covariance (wide US stocks)

    US stocks · −4.4 pts/yr · 431 rebalances · corrected q 1.000

    Source, p-value and result file
    Source
    Clarke, de Silva, Thorley (2006) Journal of Portfolio Management
    p-value
    1.000
    Corrected q
    1.000
  • Hierarchical Risk Parity (Lopez de Prado) allocation

    US stocks · −4.6 pts/yr · 90 rebalances · corrected q 1.000

    Source, p-value and result file
    Source
    Lopez de Prado (2016) JPM 68-79
    p-value
    1.000
    Corrected q
    1.000
  • Equal-weight ensemble of weak technical signals, majority vote (wide US stocks)

    US stocks · −12.5 pts/yr · 21,776 trades · corrected q 1.000

    Source, p-value and result file
    Source
    QuantConnect/Quantopian community ensemble-signal writeups
    p-value
    1.000
    Corrected q
    1.000
  • Equal-weight ensemble of weak technical signals, majority vote

    crypto · −12.6 pts/yr · 158 trades · corrected q 1.000

    Source, p-value and result file
    Source
    QuantConnect/Quantopian community ensemble-signal writeups
    p-value
    1.000
    Corrected q
    1.000
  • Kalman filter dynamic trend/slope estimate (wide US stocks)

    US stocks · −16.3 pts/yr · 8,279 trades · corrected q 1.000

    Source, p-value and result file
    Source
    Ernest Chan, Algorithmic Trading (2013), ch. on Kalman filters
    p-value
    1.000
    Corrected q
    1.000
  • PCA-based statistical arbitrage across crypto majors (wide US stocks)

    US stocks · −29.0 pts/yr · 1,707 rebalances · corrected q 1.000

    Source, p-value and result file
    Source
    Avellaneda & Lee (2010) Quantitative Finance
    p-value
    1.000
    Corrected q
    1.000
  • ML-lite drawdown-triggered deleveraging overlay

    crypto · −35.7 pts/yr · 192 trades · corrected q 1.000

    Source, p-value and result file
    Source
    Kaminski, Lo (2014) Journal of Financial Markets 'When Do Stop-Loss Rules Stop Losses?'
    p-value
    1.000
    Corrected q
    1.000
  • PCA-based statistical arbitrage across crypto majors

    crypto · −89.0 pts/yr · 429 rebalances · corrected q 1.000

    Full test: Pairs Trading

    Source, p-value and result file
    Source
    Avellaneda & Lee (2010) Quantitative Finance
    p-value
    1.000
    Corrected q
    1.000
  • Random forest hourly direction classifier

    crypto · −181.8 pts/yr · 87,166 trades · corrected q 1.000

    Source, p-value and result file
    Source
    Krauss, Do, Huck (2017) EJOR 'Deep neural networks, gradient-boosted trees, random forests: Statistical arbitrage on the S&P 500'
    p-value
    1.000
    Corrected q
    1.000
How to read these results

"Vs benchmark" is the strategy's annualized return minus an equal-weight benchmark, rebalanced daily, on the same assets and days. Strategies are charged trading costs; the benchmark pays none. Ahead is not a confirmed edge: the p-value is the unadjusted chance of a gap this large by luck, and the corrected q allows for how many strategies were tried, because testing hundreds of ideas throws up lucky winners. Every strategy saw only data up to the same cutoff date. The receipt is the frozen result file for that rule.

"Sample" is trades for rules that enter and exit a position, and rebalances for portfolio rules. A rebalance is a scheduled date on which a portfolio rule re-ranks and held at least one position. It is the sample size for portfolio rules. A holdings change is a rebalance where what the portfolio held, or its weights, differed from the previous one. Only these cost money to trade. The two are different counts and are never swapped. Definitions.

Related families