Monthly rotation into the stronger of SPY and QQQ when its trailing 12-month return is positive.
No AI qualification submitted
This strategy keeps its course or research provenance. A normal backtest snapshot cannot award the AI-generated label.
How the strategy works
Relative momentum chooses the stronger equity index, while absolute momentum refuses equity exposure when even the winner has a negative 12-month trend. The combination seeks participation in leadership and an escape to cash during broad declines.
Concrete example
If QQQ is up 18% over 252 sessions and SPY is up 11%, the next month holds QQQ. If both are negative, the portfolio remains in cash.
Published research
Gary Antonacci — Optimal Momentum: A Global Cross Asset Approach
Published evidence motivates this candidate; it does not guarantee this implementation will pass our current sample.
Exact algorithm
- At each month-end calculate 252-session total return for SPY and QQQ.
- Select the ETF with the higher positive return.
- Hold the selected ETF for the following month; otherwise hold cash.
- Re-evaluate monthly with a 4 bps switch cost.
Required data: multi_asset_adjusted_ohlcv
Where it may work—and where it can fail
Main risks
- SPY and QQQ are highly correlated
- Monthly signals react late to crashes and rebounds
- Technology concentration can dominate results
- A ten-year ETF test is not independent proof
“Best conditions” is an interpretation of the strategy's mechanism, not an additional course entry rule and not a performance guarantee.
Forward paper transactions
| Entry | Side | Entry price | Exit | Exit price | Capital basis | Gross notional | Outcome | P&L |
|---|---|---|---|---|---|---|---|---|
| No forward-paper transactions yet. The ledger began at deployment and never imports historical P&L. | ||||||||
Capital basis is allocated paper equity. Gross notional uses the exposure stored with that exact fill; legacy fills with no recorded exposure are shown as unknown. A new semantic paper generation archives the prior run and restarts the forward clock.
Archived paper versions
Read-only prior runs preserve their executable manifest, balances, and fills. They never contribute to the active clock, cash, or qualification.
| Version | Market | Exposure | Allocation | Cost | Code hash | Started | Archived | Fills | Starting cash | Ending cash | Realized P&L | Final status |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| legacy-v1 | unknown · unknown | unknown | unknown | unknown | legacy | 2026-08-16T16:54:09.212635+00:00 | 2026-08-16T22:55:48.547825+00:00 | 0 | $100,000.00 | $100,000.00 | $+0.00 | running |
Rolling 70/30 diagnostic
This moving 70/30 split is a dashboard diagnostic, not frozen qualification evidence. It cannot award AI-qualified status.
Candles and execution signals
Shows the latest 120 available bars. BUY/SELL marks strategy entries and exits whose timestamps fall in this visible window.
Historical equity curve
Compounds each encoded net trade sequentially, including the strategy's declared exposure and modeled costs. The forward ledger starts only after deployment.
Backtest specification
This concentrated two-ETF universe has substantial technology overlap; SPY is the declared benchmark.
Historical transactions
HIT = profitable after the 4 bps cost assumption; MISS = loss after costs; FLAT = break-even. Showing the most recent 100 of 95 transactions.
| Entry | Side | Entry price | Exit | Exit price | Outcome | Net return |
|---|---|---|---|---|---|---|
| 2026-08-31 00:00:00+00:00 | LONG | 716.01 | 2026-09-30 00:00:00+00:00 | 743.15 | HIT | +3.749% |
| 2026-07-31 00:00:00+00:00 | LONG | 687.27 | 2026-08-31 00:00:00+00:00 | 716.01 | HIT | +4.142% |
| 2026-06-30 00:00:00+00:00 | LONG | 735.63 | 2026-07-31 00:00:00+00:00 | 687.27 | MISS | -6.614% |
| 2026-05-29 00:00:00+00:00 | LONG | 736.73 | 2026-06-30 00:00:00+00:00 | 735.63 | MISS | -0.189% |
| 2026-04-30 00:00:00+00:00 | LONG | 666.31 | 2026-05-29 00:00:00+00:00 | 736.73 | HIT | +10.528% |
| 2026-03-31 00:00:00+00:00 | LONG | 575.95 | 2026-04-30 00:00:00+00:00 | 666.31 | HIT | +15.650% |
| 2026-02-27 00:00:00+00:00 | LONG | 605.23 | 2026-03-31 00:00:00+00:00 | 575.95 | MISS | -4.878% |
| 2026-01-30 00:00:00+00:00 | LONG | 619.76 | 2026-02-27 00:00:00+00:00 | 605.23 | MISS | -2.385% |
| 2025-12-31 00:00:00+00:00 | LONG | 612.22 | 2026-01-30 00:00:00+00:00 | 619.76 | HIT | +1.191% |
| 2025-11-28 00:00:00+00:00 | LONG | 616.35 | 2025-12-31 00:00:00+00:00 | 612.22 | MISS | -0.710% |
| 2025-10-31 00:00:00+00:00 | LONG | 626.13 | 2025-11-28 00:00:00+00:00 | 616.35 | MISS | -1.601% |
| 2025-09-30 00:00:00+00:00 | LONG | 597.56 | 2025-10-31 00:00:00+00:00 | 626.13 | HIT | +4.740% |
| 2025-08-29 00:00:00+00:00 | LONG | 567.08 | 2025-09-30 00:00:00+00:00 | 597.56 | HIT | +5.336% |
| 2025-07-31 00:00:00+00:00 | LONG | 561.72 | 2025-08-29 00:00:00+00:00 | 567.08 | HIT | +0.914% |
| 2025-06-30 00:00:00+00:00 | LONG | 548.42 | 2025-07-31 00:00:00+00:00 | 561.72 | HIT | +2.384% |
| 2025-05-30 00:00:00+00:00 | LONG | 515.51 | 2025-06-30 00:00:00+00:00 | 548.42 | HIT | +6.346% |
| 2025-04-30 00:00:00+00:00 | LONG | 472.17 | 2025-05-30 00:00:00+00:00 | 515.51 | HIT | +9.138% |
| 2025-03-31 00:00:00+00:00 | LONG | 550.26 | 2025-04-30 00:00:00+00:00 | 545.49 | MISS | -0.907% |
| 2025-02-28 00:00:00+00:00 | LONG | 582.73 | 2025-03-31 00:00:00+00:00 | 550.26 | MISS | -5.612% |
| 2025-01-31 00:00:00+00:00 | LONG | 590.22 | 2025-02-28 00:00:00+00:00 | 582.73 | MISS | -1.309% |
| 2024-12-31 00:00:00+00:00 | LONG | 506.92 | 2025-01-31 00:00:00+00:00 | 517.89 | HIT | +2.123% |
| 2024-11-29 00:00:00+00:00 | LONG | 588.96 | 2024-12-31 00:00:00+00:00 | 574.79 | MISS | -2.446% |
| 2024-10-31 00:00:00+00:00 | LONG | 479.00 | 2024-11-29 00:00:00+00:00 | 504.63 | HIT | +5.311% |
| 2024-09-30 00:00:00+00:00 | LONG | 483.18 | 2024-10-31 00:00:00+00:00 | 479.00 | MISS | -0.905% |
| 2024-08-30 00:00:00+00:00 | LONG | 470.84 | 2024-09-30 00:00:00+00:00 | 483.18 | HIT | +2.582% |
| 2024-07-31 00:00:00+00:00 | LONG | 465.70 | 2024-08-30 00:00:00+00:00 | 470.84 | HIT | +1.064% |
| 2024-06-28 00:00:00+00:00 | LONG | 473.64 | 2024-07-31 00:00:00+00:00 | 465.70 | MISS | -1.718% |
| 2024-05-31 00:00:00+00:00 | LONG | 444.86 | 2024-06-28 00:00:00+00:00 | 473.64 | HIT | +6.430% |
| 2024-04-30 00:00:00+00:00 | LONG | 419.08 | 2024-05-31 00:00:00+00:00 | 444.86 | HIT | +6.112% |
| 2024-03-28 00:00:00+00:00 | LONG | 438.25 | 2024-04-30 00:00:00+00:00 | 419.08 | MISS | -4.414% |
| 2024-02-29 00:00:00+00:00 | LONG | 432.73 | 2024-03-28 00:00:00+00:00 | 438.25 | HIT | +1.235% |
| 2024-01-31 00:00:00+00:00 | LONG | 411.02 | 2024-02-29 00:00:00+00:00 | 432.73 | HIT | +5.243% |
| 2023-12-29 00:00:00+00:00 | LONG | 403.67 | 2024-01-31 00:00:00+00:00 | 411.02 | HIT | +1.779% |
| 2023-11-30 00:00:00+00:00 | LONG | 382.31 | 2023-12-29 00:00:00+00:00 | 403.67 | HIT | +5.547% |
| 2023-10-31 00:00:00+00:00 | LONG | 344.99 | 2023-11-30 00:00:00+00:00 | 382.31 | HIT | +10.779% |
| 2023-09-29 00:00:00+00:00 | LONG | 352.26 | 2023-10-31 00:00:00+00:00 | 344.99 | MISS | -2.105% |
| 2023-08-31 00:00:00+00:00 | LONG | 371.12 | 2023-09-29 00:00:00+00:00 | 352.26 | MISS | -5.120% |
| 2023-07-31 00:00:00+00:00 | LONG | 376.70 | 2023-08-31 00:00:00+00:00 | 371.12 | MISS | -1.523% |
| 2023-06-30 00:00:00+00:00 | LONG | 362.70 | 2023-07-31 00:00:00+00:00 | 376.70 | HIT | +3.820% |
| 2023-05-31 00:00:00+00:00 | LONG | 341.19 | 2023-06-30 00:00:00+00:00 | 362.70 | HIT | +6.264% |
| 2023-04-28 00:00:00+00:00 | LONG | 316.26 | 2023-05-31 00:00:00+00:00 | 341.19 | HIT | +7.844% |
| 2022-04-29 00:00:00+00:00 | LONG | 387.90 | 2022-05-31 00:00:00+00:00 | 388.78 | HIT | +0.186% |
| 2022-03-31 00:00:00+00:00 | LONG | 425.22 | 2022-04-29 00:00:00+00:00 | 387.90 | MISS | -8.817% |
| 2022-02-28 00:00:00+00:00 | LONG | 409.82 | 2022-03-31 00:00:00+00:00 | 425.22 | HIT | +3.719% |
| 2022-01-31 00:00:00+00:00 | LONG | 422.28 | 2022-02-28 00:00:00+00:00 | 409.82 | MISS | -2.992% |
| 2021-12-31 00:00:00+00:00 | LONG | 445.79 | 2022-01-31 00:00:00+00:00 | 422.28 | MISS | -5.314% |
| 2021-11-30 00:00:00+00:00 | LONG | 382.22 | 2021-12-31 00:00:00+00:00 | 386.63 | HIT | +1.112% |
| 2021-10-29 00:00:00+00:00 | LONG | 429.54 | 2021-11-30 00:00:00+00:00 | 426.09 | MISS | -0.843% |
| 2021-09-30 00:00:00+00:00 | LONG | 401.38 | 2021-10-29 00:00:00+00:00 | 429.54 | HIT | +6.976% |
| 2021-08-31 00:00:00+00:00 | LONG | 421.00 | 2021-09-30 00:00:00+00:00 | 401.38 | MISS | -4.701% |
| 2021-07-30 00:00:00+00:00 | LONG | 353.44 | 2021-08-31 00:00:00+00:00 | 368.35 | HIT | +4.179% |
| 2021-06-30 00:00:00+00:00 | LONG | 343.61 | 2021-07-30 00:00:00+00:00 | 353.44 | HIT | +2.821% |
| 2021-05-28 00:00:00+00:00 | LONG | 323.36 | 2021-06-30 00:00:00+00:00 | 343.61 | HIT | +6.222% |
| 2021-04-30 00:00:00+00:00 | LONG | 327.29 | 2021-05-28 00:00:00+00:00 | 323.36 | MISS | -1.241% |
| 2021-03-31 00:00:00+00:00 | LONG | 309.03 | 2021-04-30 00:00:00+00:00 | 327.29 | HIT | +5.870% |
| 2021-02-26 00:00:00+00:00 | LONG | 303.82 | 2021-03-31 00:00:00+00:00 | 309.03 | HIT | +1.677% |
| 2021-01-29 00:00:00+00:00 | LONG | 304.22 | 2021-02-26 00:00:00+00:00 | 303.82 | MISS | -0.173% |
| 2020-12-31 00:00:00+00:00 | LONG | 303.43 | 2021-01-29 00:00:00+00:00 | 304.22 | HIT | +0.221% |
| 2020-11-30 00:00:00+00:00 | LONG | 289.25 | 2020-12-31 00:00:00+00:00 | 303.43 | HIT | +4.862% |
| 2020-10-30 00:00:00+00:00 | LONG | 260.06 | 2020-11-30 00:00:00+00:00 | 289.25 | HIT | +11.186% |
| 2020-09-30 00:00:00+00:00 | LONG | 268.22 | 2020-10-30 00:00:00+00:00 | 260.06 | MISS | -3.085% |
| 2020-08-31 00:00:00+00:00 | LONG | 284.67 | 2020-09-30 00:00:00+00:00 | 268.22 | MISS | -5.819% |
| 2020-07-31 00:00:00+00:00 | LONG | 256.59 | 2020-08-31 00:00:00+00:00 | 284.67 | HIT | +10.905% |
| 2020-06-30 00:00:00+00:00 | LONG | 239.03 | 2020-07-31 00:00:00+00:00 | 256.59 | HIT | +7.307% |
| 2020-05-29 00:00:00+00:00 | LONG | 224.89 | 2020-06-30 00:00:00+00:00 | 239.03 | HIT | +6.247% |
| 2020-04-30 00:00:00+00:00 | LONG | 210.97 | 2020-05-29 00:00:00+00:00 | 224.89 | HIT | +6.561% |
| 2020-03-31 00:00:00+00:00 | LONG | 183.49 | 2020-04-30 00:00:00+00:00 | 210.97 | HIT | +14.934% |
| 2020-02-28 00:00:00+00:00 | LONG | 197.91 | 2020-03-31 00:00:00+00:00 | 183.49 | MISS | -7.326% |
| 2020-01-31 00:00:00+00:00 | LONG | 210.67 | 2020-02-28 00:00:00+00:00 | 197.91 | MISS | -6.097% |
| 2019-12-31 00:00:00+00:00 | LONG | 204.46 | 2020-01-31 00:00:00+00:00 | 210.67 | HIT | +2.998% |
| 2019-11-29 00:00:00+00:00 | LONG | 196.81 | 2019-12-31 00:00:00+00:00 | 204.46 | HIT | +3.846% |
| 2019-10-31 00:00:00+00:00 | LONG | 189.11 | 2019-11-29 00:00:00+00:00 | 196.81 | HIT | +4.029% |
| 2019-09-30 00:00:00+00:00 | LONG | 268.52 | 2019-10-31 00:00:00+00:00 | 274.46 | HIT | +2.170% |
| 2019-08-30 00:00:00+00:00 | LONG | 263.40 | 2019-09-30 00:00:00+00:00 | 268.52 | HIT | +1.906% |
| 2019-07-31 00:00:00+00:00 | LONG | 183.01 | 2019-08-30 00:00:00+00:00 | 179.53 | MISS | -1.940% |
| 2019-06-28 00:00:00+00:00 | LONG | 178.83 | 2019-07-31 00:00:00+00:00 | 183.01 | HIT | +2.295% |
| 2019-05-31 00:00:00+00:00 | LONG | 166.22 | 2019-06-28 00:00:00+00:00 | 178.83 | HIT | +7.550% |
| 2019-04-30 00:00:00+00:00 | LONG | 181.11 | 2019-05-31 00:00:00+00:00 | 166.22 | MISS | -8.265% |
| 2019-03-29 00:00:00+00:00 | LONG | 171.67 | 2019-04-30 00:00:00+00:00 | 181.11 | HIT | +5.459% |
| 2019-02-28 00:00:00+00:00 | LONG | 165.19 | 2019-03-29 00:00:00+00:00 | 171.67 | HIT | +3.885% |
| 2019-01-31 00:00:00+00:00 | LONG | 160.39 | 2019-02-28 00:00:00+00:00 | 165.19 | HIT | +2.951% |
| 2018-11-30 00:00:00+00:00 | LONG | 161.08 | 2018-12-31 00:00:00+00:00 | 147.13 | MISS | -8.701% |
| 2018-10-31 00:00:00+00:00 | LONG | 161.51 | 2018-11-30 00:00:00+00:00 | 161.08 | MISS | -0.305% |
| 2018-09-28 00:00:00+00:00 | LONG | 176.70 | 2018-10-31 00:00:00+00:00 | 161.51 | MISS | -8.636% |
| 2018-08-31 00:00:00+00:00 | LONG | 177.20 | 2018-09-28 00:00:00+00:00 | 176.70 | MISS | -0.322% |
| 2018-07-31 00:00:00+00:00 | LONG | 167.52 | 2018-08-31 00:00:00+00:00 | 177.20 | HIT | +5.741% |
| 2018-06-29 00:00:00+00:00 | LONG | 162.96 | 2018-07-31 00:00:00+00:00 | 167.52 | HIT | +2.756% |
| 2018-05-31 00:00:00+00:00 | LONG | 161.11 | 2018-06-29 00:00:00+00:00 | 162.96 | HIT | +1.105% |
| 2018-04-30 00:00:00+00:00 | LONG | 152.47 | 2018-05-31 00:00:00+00:00 | 161.11 | HIT | +5.633% |
| 2018-03-29 00:00:00+00:00 | LONG | 151.70 | 2018-04-30 00:00:00+00:00 | 152.47 | HIT | +0.466% |
| 2018-02-28 00:00:00+00:00 | LONG | 158.15 | 2018-03-29 00:00:00+00:00 | 151.70 | MISS | -4.119% |
| 2018-01-31 00:00:00+00:00 | LONG | 160.22 | 2018-02-28 00:00:00+00:00 | 158.15 | MISS | -1.333% |
| 2017-12-29 00:00:00+00:00 | LONG | 147.32 | 2018-01-31 00:00:00+00:00 | 160.22 | HIT | +8.717% |
| 2017-11-30 00:00:00+00:00 | LONG | 146.44 | 2017-12-29 00:00:00+00:00 | 147.32 | HIT | +0.563% |
| 2017-10-31 00:00:00+00:00 | LONG | 143.60 | 2017-11-30 00:00:00+00:00 | 146.44 | HIT | +1.932% |