QuantConnect LEAN backtests on local daily data · all metrics from LEAN result JSON · generated 2026-06-30 17:13
Kill criterion: OOS net-of-cost Sharpe ≥ 0.40 on SPY. Best SPY OOS variant: trend_ma → Sharpe = 0.46 (meets the bar).
McLean–Pontiff decay caveat: applying the ~×0.74 OOS post-publication discount to that figure gives an expected live Sharpe ≈ 0.34. LEAN's Sharpe is computed net of a (historically high, ~3–5% in 1998–2007) risk-free rate, which structurally depresses these numbers vs a naive mean/σ Sharpe.
Drawdown-reduction check (full period, the core defensive claim):
Crypto leg deferred: the local BTCUSD daily file has a 6.4-year hole (2018-08 → 2025-01), so the crypto TSMOM leg of H1 is NOT tested here and is deferred until continuous crypto data is available. SPY itself is only continuous 1998→2021-03 in the local data (1373-day hole after), so SPY runs stop at 2021-03.
Sharpe cells ≥ 0.40 highlighted green. Turnover = LEAN mean daily Portfolio Turnover.
| Variant | IS (1998–2013) | OOS (2014–2021-03) | FULL (1998–2021-03) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | |
| Buy & Hold | 4.1% | 0.11 | 54.7% | 0.02% | 13.4% | 0.61 | 33.7% | 0.04% | 6.8% | 0.25 | 54.7% | 0.01% |
| Trend (signal only) | 6.7% | 0.26 | 20.4% | 0.12% | 7.7% | 0.36 | 33.6% | 0.41% | 7.0% | 0.30 | 31.6% | 0.18% |
| Trend + Vol-Target | 5.8% | 0.23 | 18.5% | 0.17% | 7.0% | 0.36 | 27.1% | 0.43% | 5.7% | 0.24 | 29.9% | 0.22% |
| Trend + MA-overlay | 5.9% | 0.23 | 17.3% | 0.33% | 8.3% | 0.46 | 22.1% | 0.49% | 6.1% | 0.26 | 31.2% | 0.34% |
| Trend + VT + MA | 5.3% | 0.20 | 17.3% | 0.33% | 7.4% | 0.42 | 20.0% | 0.50% | 5.4% | 0.22 | 30.0% | 0.35% |
| Variant | IS (1998–2012) | OOS (2013–2026) | FULL (1998–2026) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | |
| Buy & Hold | 30.0% | 0.70 | 82.1% | 0.02% | 23.2% | 0.70 | 38.5% | 0.02% | 26.9% | 0.68 | 82.1% | 0.01% |
| Trend (signal only) | 28.0% | 0.71 | 71.7% | 0.13% | 14.1% | 0.46 | 43.0% | 0.34% | 20.4% | 0.58 | 71.7% | 0.28% |
| Trend + Vol-Target | 14.1% | 0.68 | 23.4% | 0.11% | 9.3% | 0.38 | 24.9% | 0.38% | 11.4% | 0.51 | 28.7% | 0.27% |
| Trend + MA-overlay | 22.1% | 0.60 | 79.8% | 0.33% | 15.0% | 0.53 | 36.2% | 0.42% | 18.4% | 0.55 | 79.8% | 0.39% |
| Trend + VT + MA | 12.4% | 0.60 | 26.1% | 0.16% | 10.1% | 0.46 | 21.3% | 0.41% | 11.2% | 0.52 | 26.1% | 0.29% |
| Variant | IS (1998–2012) | OOS (2013–2026) | FULL (1998–2026) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | |
| Buy & Hold | -2.8% | 0.10 | 93.6% | 0.02% | 13.4% | 0.41 | 49.0% | 0.02% | 4.7% | 0.20 | 93.6% | 0.01% |
| Trend (signal only) | 3.4% | 0.07 | 42.2% | 0.27% | 2.9% | 0.07 | 47.7% | 0.47% | 3.1% | 0.06 | 47.7% | 0.36% |
| Trend + Vol-Target | 2.5% | -0.05 | 20.1% | 0.23% | 2.0% | -0.03 | 38.2% | 0.39% | 2.2% | -0.04 | 38.2% | 0.30% |
| Trend + MA-overlay | 3.4% | 0.05 | 26.8% | 0.35% | 1.4% | -0.01 | 42.7% | 0.67% | 2.4% | 0.01 | 42.7% | 0.49% |
| Trend + VT + MA | — | — | — | — | — | — | — | — | — | — | — | — |
| Variant | IS (1998–2012) | OOS (2013–2026) | FULL (1998–2026) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | CAGR | Sharpe | MaxDD | Turn | |
| Buy & Hold | 6.0% | 0.19 | 59.2% | 0.02% | 4.8% | 0.16 | 43.5% | 0.02% | 5.5% | 0.18 | 59.2% | 0.01% |
| Trend (signal only) | 0.3% | -0.04 | 67.4% | 0.49% | -3.1% | -0.24 | 62.4% | 0.73% | -1.8% | -0.15 | 79.8% | 0.50% |
| Trend + Vol-Target | 1.0% | -0.12 | 45.3% | 0.40% | -2.4% | -0.34 | 58.1% | 0.62% | -0.9% | -0.24 | 64.8% | 0.43% |
| Trend + MA-overlay | -2.0% | -0.18 | 71.3% | 0.62% | -2.2% | -0.22 | 59.0% | 0.61% | -2.3% | -0.21 | 80.3% | 0.58% |
| Trend + VT + MA | — | — | — | — | — | — | — | — | — | — | — | — |
| Config | 0 bps | 5 bps | 10 bps | 20 bps |
|---|---|---|---|---|
| SPY Trend+VT (full) — CAGR | 5.8% | 5.7% | 5.7% | 5.6% |
| SPY Trend+VT (full) — Sharpe | 0.24 | 0.24 | 0.23 | 0.23 |
| SPY Trend+VT (full) — MaxDD | 29.8% | 29.9% | 29.9% | 30.0% |
| SPY Trend+VT (full) — Fees($) | 0 | 1986 | 3942 | 7803 |
| AAPL Trend+VT (full) — CAGR | 11.5% | 11.4% | 11.4% | 11.3% |
| AAPL Trend+VT (full) — Sharpe | 0.51 | 0.51 | 0.51 | 0.50 |
| AAPL Trend+VT (full) — MaxDD | 28.6% | 28.7% | 28.7% | 28.8% |
| AAPL Trend+VT (full) — Fees($) | 0 | 17161 | 34014 | 66811 |
| Config (Trend, full, 5bps) | 3M (63d) | 6M (126d) | 12M (252d) |
|---|---|---|---|
| SPY — CAGR | 6.8% | 5.4% | 7.0% |
| SPY — Sharpe | 0.33 | 0.20 | 0.30 |
| SPY — MaxDD | 19.6% | 34.2% | 31.6% |
| AAPL — CAGR | 17.1% | 24.4% | 20.4% |
| AAPL — Sharpe | 0.51 | 0.71 | 0.58 |
| AAPL — MaxDD | 80.6% | 63.3% | 71.7% |
Source: /config/workspace/lean-strategy/backtests/H1TrendTsmom/ · algorithm H1TrendTsmomAlgorithm.cs · LEAN engine (net10.0).