Monthly top-2 3-month momentum
Monthly equal-weight rotation into the two strongest of SPY, QQQ, TLT, and GLD by trailing 63-trading-day return.
SPY QQQ TLT GLD, backtested 2016-06-01 to 2026-09-25 with $100,000
| strategy | SPY | |
|---|---|---|
| total return | +161.1% | +332.1% |
| annualised | +9.7% | +15.2% |
| sharpe | 0.70 | 0.90 |
| max drawdown | -35.2% | -33.8% |
| volatility | 14.9% | 17.5% |
Ended at $261,107. Decisions after each close, fills at the next open, 5 bps slippage, crypto fees 25 bps.
- trades
- 133
- win rate
- 72%
- avg trade
- +6.69%
- profit factor
- 2.20
- time invested
- 100%
Rules
- Trades SPY, QQQ, TLT and GLD.
- At the start of each month, hold the 2 symbols with the highest 63-day return % at equal weight.
By year
| year | strategy | SPY | difference |
|---|---|---|---|
| 2016 | +1.9% | +9.1% | -7.2 pts |
| 2017 | +17.8% | +20.8% | -3.0 pts |
| 2018 | +4.3% | -5.9% | +10.2 pts |
| 2019 | +13.7% | +31.8% | -18.1 pts |
| 2020 | +38.0% | +18.0% | +20.0 pts |
| 2021 | +11.0% | +29.4% | -18.4 pts |
| 2022 | -26.5% | -18.1% | -8.5 pts |
| 2023 | +25.6% | +26.4% | -0.8 pts |
| 2024 | +2.9% | +24.5% | -21.6 pts |
| 2025 | +23.9% | +19.2% | +4.7 pts |
| 2026 | +1.8% | +12.6% | -10.8 pts |
Held at the end of the backtest
| SPY | since 2026-05-04 | $133,942 | +7.5% |
| TLT | since 2026-09-02 | $127,165 | -3.3% |
Latest trades (133 in total)
| symbol | bought | sold | days | entry | exit | return | why it sold |
|---|---|---|---|---|---|---|---|
| QQQ | 2026-05-04 | 2026-09-02 | 121 | 674.47 | 706.01 | +4.7% | rule 1: rebalance out |
| SPY | 2026-05-04 | 2026-08-04 | 92 | 717.65 | 758.37 | +5.7% | rule 1: rebalance |
| QQQ | 2026-05-04 | 2026-06-02 | 29 | 673.56 | 740.44 | +9.9% | rule 1: rebalance |
| TLT | 2026-04-02 | 2026-05-04 | 32 | 84.61 | 84.00 | -0.7% | rule 1: rebalance out |
| GLD | 2025-10-02 | 2026-05-04 | 214 | 360.76 | 418.63 | +16.0% | rule 1: rebalance out |
| SPY | 2026-01-05 | 2026-04-02 | 87 | 681.54 | 642.84 | -5.7% | rule 1: rebalance out |
| GLD | 2025-10-02 | 2026-03-03 | 152 | 358.44 | 472.59 | +31.8% | rule 1: rebalance |
| GLD | 2025-10-02 | 2026-02-03 | 124 | 358.44 | 452.40 | +26.2% | rule 1: rebalance |
| GLD | 2025-10-02 | 2026-01-05 | 95 | 358.44 | 406.19 | +13.3% | rule 1: rebalance |
| QQQ | 2025-06-03 | 2026-01-05 | 216 | 523.11 | 616.91 | +17.9% | rule 1: rebalance out |
| GLD | 2025-10-02 | 2025-12-02 | 61 | 358.44 | 388.68 | +8.4% | rule 1: rebalance |
| QQQ | 2025-06-03 | 2025-10-02 | 121 | 520.18 | 603.92 | +16.1% | rule 1: rebalance |
| SPY | 2025-07-02 | 2025-10-02 | 92 | 609.23 | 662.93 | +8.8% | rule 1: rebalance out |
| QQQ | 2025-06-03 | 2025-07-02 | 29 | 520.18 | 542.71 | +4.3% | rule 1: rebalance |
| GLD | 2025-03-04 | 2025-07-02 | 120 | 269.14 | 307.88 | +14.4% | rule 1: rebalance out |
| GLD | 2025-03-04 | 2025-06-03 | 91 | 269.14 | 309.41 | +15.0% | rule 1: rebalance |
| TLT | 2025-03-04 | 2025-06-03 | 91 | 86.32 | 80.74 | -6.5% | rule 1: rebalance out |
| GLD | 2025-03-04 | 2025-05-02 | 59 | 269.14 | 300.02 | +11.5% | rule 1: rebalance |
| GLD | 2025-03-04 | 2025-04-02 | 29 | 269.14 | 288.14 | +7.1% | rule 1: rebalance |
| SPY | 2024-12-03 | 2025-03-04 | 91 | 589.88 | 568.23 | -3.7% | rule 1: rebalance out |
| QQQ | 2024-11-04 | 2025-03-04 | 120 | 482.18 | 489.77 | +1.6% | rule 1: rebalance out |
| QQQ | 2024-11-04 | 2025-01-03 | 60 | 482.18 | 508.78 | +5.5% | rule 1: rebalance |
| QQQ | 2024-11-04 | 2024-12-03 | 29 | 482.18 | 508.55 | +5.5% | rule 1: rebalance |
| GLD | 2024-09-04 | 2024-12-03 | 90 | 229.90 | 244.84 | +6.5% | rule 1: rebalance out |
| GLD | 2024-09-04 | 2024-11-04 | 61 | 229.90 | 253.19 | +10.1% | rule 1: rebalance |
| TLT | 2024-09-04 | 2024-11-04 | 61 | 89.70 | 85.05 | -5.2% | rule 1: rebalance out |
| GLD | 2024-09-04 | 2024-10-02 | 28 | 229.90 | 245.49 | +6.8% | rule 1: rebalance |
| SPY | 2024-03-04 | 2024-09-04 | 184 | 495.91 | 535.85 | +8.1% | rule 1: rebalance out |
| QQQ | 2024-07-02 | 2024-09-04 | 64 | 474.44 | 453.21 | -4.5% | rule 1: rebalance out |
| SPY | 2024-03-04 | 2024-08-02 | 151 | 495.91 | 521.78 | +5.2% | rule 1: rebalance |
| SPY | 2024-03-04 | 2024-07-02 | 120 | 495.91 | 529.53 | +6.8% | rule 1: rebalance |
| GLD | 2024-04-02 | 2024-07-02 | 91 | 209.26 | 215.22 | +2.9% | rule 1: rebalance out |
| SPY | 2024-03-04 | 2024-06-04 | 92 | 495.91 | 511.08 | +3.1% | rule 1: rebalance |
| GLD | 2024-04-02 | 2024-05-02 | 30 | 209.17 | 211.79 | +1.3% | rule 1: rebalance |
| SPY | 2024-03-04 | 2024-04-02 | 29 | 496.03 | 503.10 | +1.4% | rule 1: rebalance |
| QQQ | 2024-02-02 | 2024-04-02 | 60 | 417.96 | 434.15 | +3.9% | rule 1: rebalance out |
| QQQ | 2024-02-02 | 2024-03-04 | 31 | 417.96 | 439.03 | +5.0% | rule 1: rebalance |
| TLT | 2024-01-03 | 2024-03-04 | 61 | 86.92 | 84.09 | -3.3% | rule 1: rebalance out |
| GLD | 2023-11-02 | 2024-02-02 | 92 | 184.46 | 187.98 | +1.9% | rule 1: rebalance out |
| QQQ | 2023-03-02 | 2024-01-03 | 307 | 282.73 | 394.02 | +39.4% | rule 1: rebalance out |
Strategy document
{
"name": "Monthly top-2 3-month momentum",
"rules": [
{
"then": {
"rebalance": {
"by": {
"return": {
"period": 63
}
},
"top": 2
}
},
"when": {
"schedule": "monthly"
}
}
],
"universe": {
"symbols": [
"SPY",
"QQQ",
"TLT",
"GLD"
]
},
"description": "Monthly equal-weight rotation into the two strongest of SPY, QQQ, TLT, and GLD by trailing 63-trading-day return."
}