Classic rules, one vault and 14,000 backtests
Moving averages, breakouts, dip buying, candlestick patterns, the Moon and macro filters. Everything that looked good on 2020–2024 data lost money in a sealed 2025–26 hold-out.
Key findings
- We picked six finalists using only 2020–2024 data and then opened a sealed hold-out, 1 January 2025 to 31 August 2026, exactly once. All six lost money. The best, a 3-day/20-day moving-average trend on 23 coins, returned −35.1%. Holding Bitcoin returned −16.3%.
- Fees were not the main problem. With zero trading costs the finalists would still have lost between 25% and 49%.
- Buy-the-dump rules on 1-minute bars won about 80% of their trades and still lost money. Selling into pumps lost on average in all 144 training configurations.
- 2,814 candlestick and chart-pattern tests gave zero tradeable signals. 40 calendar, weather and Moon hypotheses, written down in advance, gave zero survivors. Choosing a reward-to-risk ratio changed the win rate exactly as random-walk theory predicts, and changed nothing else.
How we tested
- Data: Binance spot archive with hourly bars from 2020 for 23 coins that trade against USDC on Bybit EU (18 had enough history for the rule grid), Dukascopy hourly bars for EUR/USD, GBP/USD and USD/JPY, and Binance 1-minute bars for the dip tests.
- One fixed split for every study: training 2020–2023, check year 2024, vault 1 January 2025 to 31 August 2026. The research scripts only loop over training and the check year. A separate script with hard-coded finalists opened the vault once, and its parameters could not change afterwards.
- Costs per side: 0.20% for crypto (a 0.10% maker fee plus 0.10% slippage on thinner altcoin order books) and 0.005% for FX (about half a pip, swaps not modelled). The simulator acts on the bar after the signal and charges costs on every change of position.
- Ranking: configurations were ranked by their median Sharpe ratio across all coins, not by their best coin.
- Guard rails: 32 unit tests check the simulator. An always-long strategy must equal buy-and-hold. A signal that peeks one bar ahead must look impossibly good (Sharpe above 20), while a same-bar signal on a random walk must not profit. Every strategy must produce identical signals on truncated data, and costs must be charged exactly twice per round trip.
Rule grids: the winners fade
The grid covered 99 configurations: EMA crossovers, time-series momentum, Donchian breakouts and range or Bollinger reversion, each also with volatility targeting or a Fear & Greed filter, on 18 coins.
In-sample winners became out-of-sample also-rans
Each dot is one of 99 rule configurations run on 18 coins (4-hour bars, 0.20% per side): median Sharpe in 2020-2023 training vs median Sharpe in the 2024 check.
Show data
| Point | Median Sharpe, training 2020–2023 | Median Sharpe, check year 2024 |
|---|---|---|
| Trend rules: MA crossover, momentum, breakout (45) | 0.62 | -0.07 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.81 | -0.18 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.83 | 0.09 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.89 | -0.27 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.89 | 0.02 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.96 | -0.10 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.97 | 0.49 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.00 | 0.05 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.06 | -0.05 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.07 | 0.63 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.07 | 0.85 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.07 | 0.24 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.08 | 0.61 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.14 | 0.51 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.15 | 0.67 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.17 | 0.16 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.35 | 0.48 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.50 | 0.40 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.50 | 0.48 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.71 | -0.59 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.77 | -0.11 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.78 | 0.59 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.84 | -0.37 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.87 | 0.91 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.88 | 0.11 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.91 | 0.04 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.94 | 0.33 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.02 | 0.0045 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.07 | 0.58 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.09 | 0.48 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.16 | 0.51 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.29 | 0.89 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.42 | 0.85 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.53 | 0.02 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.67 | 0.60 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.70 | 0.18 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.77 | 1.03 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.78 | 0.75 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.84 | 0.31 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.87 | -0.21 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.91 | -0.06 |
| Trend rules: MA crossover, momentum, breakout (45) | 0.91 | -0.23 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.00 | 0.08 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.05 | 0.60 |
| Trend rules: MA crossover, momentum, breakout (45) | 1.15 | 0.58 |
| Range / Bollinger mean reversion (54) | -0.81 | -1.03 |
| Range / Bollinger mean reversion (54) | -0.56 | -0.92 |
| Range / Bollinger mean reversion (54) | -0.52 | -0.78 |
| Range / Bollinger mean reversion (54) | -0.52 | -1.08 |
| Range / Bollinger mean reversion (54) | -0.49 | -0.20 |
| Range / Bollinger mean reversion (54) | -0.46 | -1.00 |
| Range / Bollinger mean reversion (54) | -0.33 | -0.68 |
| Range / Bollinger mean reversion (54) | -0.33 | 0.34 |
| Range / Bollinger mean reversion (54) | -0.30 | -0.60 |
| Range / Bollinger mean reversion (54) | -0.26 | -0.22 |
| Range / Bollinger mean reversion (54) | -0.26 | -0.48 |
| Range / Bollinger mean reversion (54) | -0.24 | -0.28 |
| Range / Bollinger mean reversion (54) | -0.24 | 0.36 |
| Range / Bollinger mean reversion (54) | -0.23 | -0.09 |
| Range / Bollinger mean reversion (54) | -0.17 | 0.37 |
| Range / Bollinger mean reversion (54) | -0.15 | -0.08 |
| Range / Bollinger mean reversion (54) | -0.14 | -0.33 |
| Range / Bollinger mean reversion (54) | -0.13 | 0.07 |
| Range / Bollinger mean reversion (54) | -0.13 | 0.40 |
| Range / Bollinger mean reversion (54) | -0.13 | 0.12 |
| Range / Bollinger mean reversion (54) | -0.06 | -0.18 |
| Range / Bollinger mean reversion (54) | -0.06 | 0.43 |
| Range / Bollinger mean reversion (54) | -0.05 | 0.61 |
| Range / Bollinger mean reversion (54) | -0.05 | 0.14 |
| Range / Bollinger mean reversion (54) | -0.02 | -0.46 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.0000 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.01 | 0.0000 |
| Range / Bollinger mean reversion (54) | 0.14 | -0.21 |
| Range / Bollinger mean reversion (54) | 0.14 | 0.29 |
| Range / Bollinger mean reversion (54) | 0.19 | -0.90 |
| Range / Bollinger mean reversion (54) | 0.19 | 0.41 |
| Range / Bollinger mean reversion (54) | 0.24 | -0.35 |
| Range / Bollinger mean reversion (54) | 0.26 | -0.32 |
| Range / Bollinger mean reversion (54) | 0.26 | -0.63 |
| Range / Bollinger mean reversion (54) | 0.28 | 0.09 |
| Range / Bollinger mean reversion (54) | 0.30 | 0.28 |
| Range / Bollinger mean reversion (54) | 0.32 | 0.07 |
| Range / Bollinger mean reversion (54) | 0.35 | 0.42 |
| Range / Bollinger mean reversion (54) | 0.36 | -0.56 |
| Range / Bollinger mean reversion (54) | 0.36 | 0.06 |
| Range / Bollinger mean reversion (54) | 0.40 | -0.0037 |
| Range / Bollinger mean reversion (54) | 0.43 | -0.36 |
| Range / Bollinger mean reversion (54) | 0.45 | -0.18 |
| Range / Bollinger mean reversion (54) | 0.48 | 0.04 |
| Range / Bollinger mean reversion (54) | 0.52 | -0.17 |
| Range / Bollinger mean reversion (54) | 0.56 | -0.15 |
| Range / Bollinger mean reversion (54) | 0.67 | 0.04 |
23 of the 99 configurations beat buy-and-hold’s median Sharpe ratio (0.88) in training. In 2024 only 5 of 99 beat it (0.84). The ten best training configurations averaged a Sharpe of 1.10 in training and 0.51 in 2024. The ranking carried some information forward (rank correlation +0.44), but the level of performance roughly halved.
- Range reversion never worked on crypto. Costs ate 95% or more of its gross profit.
- The Fear & Greed filter made trend rules worse. The 2024 median Sharpe of the moving-average family fell from 0.63 to −0.10 with the filter.
- FX was unstable. Buy-and-hold is close to zero in currencies, and the training ranking of FX rules did not carry over to 2024 at all (rank correlation −0.10 on hourly bars).
Portfolios and the vault
Running one rule on every coin at equal weight looked better than picking coins. A 3-day/20-day EMA trend on the whole basket had a training Sharpe of 2.00 and a −47% maximum drawdown, against 1.39 and −82% for holding the basket, and it held up in 2024 with a Sharpe of 1.31. Six finalists went into the vault: four trend variants, a momentum rotation into the five strongest coins, and an FX range-reversion rule.
The vault test: every pre-selected strategy lost money
Cumulative return over the untouched hold-out period (1 Jan 2025 - 31 Aug 2026) for strategies chosen only on 2020-2024 data, vs buy-and-hold. 4-hour bars, 0.20% cost per side.
Show data · values in %
| Date | F3: MA 3d/20d trend on every coin (best finalist) | F1: MA 2d/10d trend on every coin | F5: momentum rotation, top 5 coins | Buy & hold, all coins equal weight | Buy & hold BTC |
|---|---|---|---|---|---|
| 2024-12-31 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| 2025-01-05 | 2.90 | 6.83 | 19.16 | 18.08 | 4.82 |
| 2025-01-12 | -8.57 | -4.96 | 5.42 | 2.61 | 0.75 |
| 2025-01-19 | -10.67 | -8.97 | -5.54 | 4.75 | 7.99 |
| 2025-01-26 | -11.02 | -10.48 | -7.87 | 2.31 | 9.36 |
| 2025-02-02 | -13.62 | -14.60 | -20.20 | -17.33 | 4.12 |
| 2025-02-09 | -14.20 | -14.60 | -26.10 | -24.08 | 2.80 |
| 2025-02-16 | -14.10 | -16.62 | -23.79 | -20.68 | 2.43 |
| 2025-02-23 | -14.49 | -18.96 | -23.21 | -20.42 | 2.58 |
| 2025-03-02 | -15.79 | -21.44 | -24 | -18.99 | 0.46 |
| 2025-03-09 | -19.25 | -30.41 | -28 | -39.32 | -13.96 |
| 2025-03-16 | -19.53 | -30.71 | -28.16 | -39.61 | -12 |
| 2025-03-23 | -19.59 | -31.76 | -27.68 | -36.24 | -8.26 |
| 2025-03-30 | -25.78 | -34.66 | -36.14 | -40.72 | -12.20 |
| 2025-04-06 | -26.84 | -35.33 | -36.99 | -49.52 | -16.42 |
| 2025-04-13 | -27.59 | -35.86 | -36.49 | -44.19 | -10.74 |
| 2025-04-20 | -27.53 | -36.13 | -36.60 | -43.36 | -9.23 |
| 2025-04-27 | -22.11 | -28.81 | -27.13 | -35.41 | -0.09 |
| 2025-05-04 | -25.34 | -31.03 | -32.11 | -38.68 | 0.47 |
| 2025-05-11 | -12.34 | -19.13 | -14 | -21.70 | 10.96 |
| 2025-05-18 | -17.15 | -24.94 | -15.79 | -25.51 | 13.44 |
| 2025-05-25 | -19.06 | -27.08 | -9.34 | -25.13 | 16.16 |
| 2025-06-01 | -23.45 | -30.13 | -16.65 | -32.30 | 12.58 |
| 2025-06-08 | -23.80 | -30.91 | -16.09 | -32.79 | 12.68 |
| 2025-06-15 | -26.49 | -35.52 | -17.13 | -35.34 | 12.53 |
| 2025-06-22 | -27.27 | -36.08 | -22.02 | -43.66 | 7.59 |
| 2025-06-29 | -25.47 | -34.41 | -17.92 | -33.68 | 15.47 |
| 2025-07-06 | -27.62 | -39.53 | -20.15 | -35.22 | 16.37 |
| 2025-07-13 | -18.79 | -30.46 | -7.61 | -24.64 | 26.91 |
| 2025-07-20 | -4.27 | -18.02 | 12.73 | -11.16 | 24.97 |
| 2025-07-27 | -4.32 | -20.43 | 14 | -10.77 | 27.26 |
| 2025-08-03 | -14.28 | -26.28 | -0.59 | -23.52 | 21.71 |
| 2025-08-10 | -10.32 | -21.74 | 17.23 | -12.10 | 27.13 |
| 2025-08-17 | -8.77 | -21.38 | 20.02 | -10.21 | 25.11 |
| 2025-08-24 | -12.75 | -25.32 | 17.34 | -10.40 | 20.95 |
| 2025-08-31 | -17.62 | -30.39 | 4.22 | -18.36 | 15.35 |
| 2025-09-07 | -18.07 | -30.44 | 4.04 | -15.67 | 18.44 |
| 2025-09-14 | -13.43 | -24.75 | 10.57 | -7.27 | 22.84 |
| 2025-09-21 | -14.86 | -26.68 | 10.85 | -9.24 | 22.80 |
| 2025-09-28 | -19.28 | -28.62 | 0.28 | -16.61 | 19.53 |
| 2025-10-05 | -19.25 | -28.75 | 2.09 | -12.72 | 31.59 |
| 2025-10-12 | -24.40 | -32.38 | -18.69 | -28.40 | 22.51 |
| 2025-10-19 | -24.40 | -32.48 | -19.12 | -33.44 | 15.78 |
| 2025-10-26 | -24.40 | -31.92 | -19.12 | -29.67 | 22.08 |
| 2025-11-02 | -25.94 | -35.73 | -22.47 | -35.66 | 17.80 |
| 2025-11-09 | -25.38 | -35.15 | -22.47 | -36.72 | 11.60 |
| 2025-11-16 | -27.05 | -38.84 | -27 | -45.54 | 0.45 |
| 2025-11-23 | -27.60 | -39.16 | -32.93 | -52.39 | -7.47 |
| 2025-11-30 | -27.60 | -40.24 | -33.18 | -51.39 | -3.71 |
| 2025-12-07 | -28.09 | -43.31 | -34.41 | -52.96 | -3.67 |
| 2025-12-14 | -28.85 | -45.91 | -34.39 | -54.63 | -6.04 |
| 2025-12-21 | -28.98 | -45.81 | -36.44 | -57.31 | -5.52 |
| 2025-12-28 | -28.91 | -45.83 | -39.10 | -56.76 | -6.27 |
| 2026-01-04 | -26.01 | -43.32 | -39.10 | -51.52 | -2.46 |
| 2026-01-11 | -26.85 | -43.75 | -37.32 | -52.02 | -3.01 |
| 2026-01-18 | -29.34 | -46.48 | -41.64 | -54.19 | -0.18 |
| 2026-01-25 | -31.64 | -47.18 | -49.35 | -59.62 | -7.64 |
| 2026-02-01 | -31.64 | -47.54 | -57.69 | -66.10 | -17.98 |
| 2026-02-08 | -31.64 | -47.54 | -57.29 | -69.03 | -25.05 |
| 2026-02-15 | -31.74 | -48.82 | -57.29 | -68.54 | -26.65 |
| 2026-02-22 | -31.98 | -50.02 | -57.29 | -69.86 | -27.91 |
| 2026-03-01 | -33.09 | -53.72 | -57.29 | -69.93 | -29.90 |
| 2026-03-08 | -35.38 | -55.60 | -59.41 | -70.78 | -29.70 |
| 2026-03-15 | -33.42 | -54.08 | -53.88 | -67.73 | -22.40 |
| 2026-03-22 | -38.35 | -56.64 | -58.55 | -70.41 | -27.68 |
| 2026-03-29 | -39.68 | -58 | -60.45 | -71.77 | -29.65 |
| 2026-04-05 | -39.39 | -58.28 | -59.66 | -71.37 | -26.43 |
| 2026-04-12 | -39.97 | -59.49 | -60.14 | -70.94 | -24.61 |
| 2026-04-19 | -40.55 | -59.43 | -59.53 | -69.95 | -21.35 |
| 2026-04-26 | -38.31 | -58.27 | -57.41 | -68.23 | -16.18 |
| 2026-05-03 | -39.44 | -59.27 | -59.53 | -69.08 | -16.27 |
| 2026-05-10 | -31.67 | -54.16 | -50.32 | -63.77 | -12.39 |
| 2026-05-17 | -38.49 | -58.09 | -57.48 | -67.81 | -17.46 |
| 2026-05-24 | -36.64 | -56.87 | -51.26 | -66.67 | -17.87 |
| 2026-05-31 | -35.66 | -56.78 | -51.70 | -67.14 | -21.49 |
| 2026-06-07 | -37.30 | -57.67 | -53.36 | -71.96 | -32.51 |
| 2026-06-14 | -36.90 | -57.44 | -51.70 | -70.58 | -29.94 |
| 2026-06-21 | -38.47 | -58.99 | -52.16 | -71.60 | -32.53 |
| 2026-06-28 | -39.13 | -59.48 | -56.60 | -73.50 | -36.51 |
| 2026-07-05 | -38.71 | -58.38 | -57.26 | -71.38 | -32.17 |
| 2026-07-12 | -39.98 | -59.96 | -56.48 | -71.85 | -32.03 |
| 2026-07-19 | -40.75 | -60.70 | -57.99 | -71.96 | -31.03 |
| 2026-07-26 | -39.97 | -60.66 | -56.10 | -71.30 | -30.31 |
| 2026-08-02 | -41.13 | -61.37 | -58.11 | -72.39 | -32.26 |
| 2026-08-09 | -41.86 | -61.91 | -59.45 | -72.86 | -30.84 |
| 2026-08-16 | -42.07 | -62.11 | -61.80 | -73.59 | -32.97 |
| 2026-08-23 | -31.34 | -54.11 | -48.60 | -65.59 | -17.16 |
| 2026-08-30 | -36.66 | -57.38 | -53.15 | -68.42 | -17.22 |
| 2026-08-31 | -35.08 | -57.06 | -52.44 | -67.53 | -16.26 |
| Finalist | Vault return | Sharpe | Max drawdown |
|---|---|---|---|
| F3 · EMA 3d/20d on all coins | −35.1% | −0.59 | −45.1% |
| F2 · EMA 2d/10d with volatility targeting | −36.1% | −0.87 | −47.5% |
| F5 · Momentum rotation, top 5 coins | −52.4% | −0.39 | −70.0% |
| F1 · EMA 2d/10d on all coins | −57.1% | −1.22 | −65.7% |
| F4 · F1 with a funding-rate filter | −57.1% | −1.22 | −65.7% |
| F6 · FX range reversion, no leverage | −1.4% | −0.33 | −2.9% |
| Equal-weight buy and hold, 23 coins | −67.5% | −0.53 | −78.5% |
| Bitcoin buy and hold | −16.3% | −0.03 | −53.4% |
The best finalist’s Sharpe went from 2.00 in training to 1.31 in 2024 and to −0.59 in the vault. The funding filter never triggered: the highest 8-hour funding rate during the vault was 0.072%, below its 0.10% threshold, so F4 traded exactly like F1. With zero costs the finalists would still have lost 25% to 49%. The signals failed, not only the fees.
The vault was a harsh period for altcoins. A single 20-month path cannot prove that trend rules never work. It does show that the 2020–2024 evidence was not strong enough to trust them.
Buying the dump: 80% winners, negative expectancy
On 1-minute bars we tested 288 configurations on 12 coins. Each one reacts to a sharp move (3, 5 or 8% within 15 or 60 minutes) by scaling into three tranches, with a take-profit, a stop and a time limit. The simulator fills a limit order only when the price trades 0.1% through it, and if the stop and the target are both touched in the same bar, the stop wins.
Selling into pumps lost on average in all 144 short configurations in training, despite a median win rate of 81%. A later audit of the simulator found that slippage on short entries was applied in the strategy’s favour, so the true short results are worse still. Buying dumps looked good in-sample: the best candidate made +79% in training and +9% in 2024. In the vault it won 80.7% of its trades and still lost 6.2%, because the average trade was −0.14% and the worst −11.6%. The two other dip-buying candidates lost 9% and 11%.
Reward-to-risk ratios do not create an edge
Many traders choose a take-profit to stop-loss ratio and expect it to matter. On a random walk the chance of hitting the target first is SL / (TP + SL), so every ratio has the same expectation before costs. We tested ratios from 1:3 to 3:1 in ATR units with trend-following entries and with random entries on 12 coins. The win rates matched the random-walk formula within 0.8 percentage points in all 36 cells. The trend entry did no better than the random one, and none of the 36 cells was profitable after a 0.24% round trip.
Patterns, folklore and macro
- Candlestick patterns: all 61 TA-Lib patterns, bullish and bearish, on 23 coins and 3 currency pairs, hourly to daily bars. That made 1,584 tests with Newey–West standard errors and a Benjamini–Hochberg correction. Six survived the correction in training and two were confirmed in 2024. Both worked in the opposite direction to the textbook reading, and neither was tradeable after costs.
- Chart patterns and “smart money” concepts: algorithmic head-and-shoulders, double tops and bottoms, triangles, flags, RSI divergence, liquidity sweeps, fair-value gaps and round-number levels, 1,230 tests. Two survived the correction and none was confirmed. Round-number levels behaved exactly like placebo levels shifted by half a step.
- Calendar, weather and the Moon: 40 hypotheses written down in advance with their expected sign. They covered sunshine in six financial centres, full and new Moon, geomagnetic storms, holidays in five countries, paydays, weekdays, “sell in May” and more, tested on daily Bitcoin prices from 2012 to 2026. One of the 40 was significant in the discovery period, fewer than chance would produce, and none survived confirmation.
- Macro regime filters: five risk-on and risk-off rules (the Nasdaq trend, the VIX, the dollar index, the 10-year Treasury yield and stablecoin supply) on three base strategies. One of the 18 filters improved the Sharpe ratio in all three periods, and that strategy still lost 56% in the vault.
What we took from it
- In-sample Sharpe ratios decay quickly. The ranking of rules carried some information into the next year, the level of performance did not.
- A sealed hold-out is the only honest judge. Everything that entered the vault had passed two rounds of selection, and all of it failed.
- Costs matter, but here the signals themselves stopped working.
- A high win rate usually means many small gains and a few large losses. It says nothing about expectancy.
One lead from this round got a closer look: stablecoin supply, which appears here as a macro filter. As a signal of its own it shows a modest effect since 2021 and none before, as described in the stablecoin post.