Monthly risk-on/risk-off allocation using a long-term moving-average filter.
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
The moving average is a slow regime filter. The strategy accepts equity risk above the ten-month trend and moves to cash below it, aiming to avoid extended bear markets rather than predict short moves.
Concrete example
At January month-end SPY closes at 600 while its 210-session average is 570, so February is invested. A close at 540 would move the next month to cash.
Published research
Meb Faber — A Quantitative Approach to Tactical Asset Allocation
Published evidence motivates this candidate; it does not guarantee this implementation will pass our current sample.
Exact algorithm
- At month-end compare price with its 210-session moving average.
- Hold SPY for the next month above the average.
- Hold cash below the average.
- Use the next session for execution to avoid look-ahead.
Required data: ohlcv
Where it may work—and where it can fail
Main risks
- Repeated whipsaws near the average
- Late re-entry after sharp recoveries
- Zero cash yield understates some periods
- Results depend on month-end execution
“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 |
|---|---|---|---|---|---|---|---|---|
| 2026-09-01 00:00:00+00:00 | LONG | 762.01 | 2026-09-01 00:00:00+00:00 | 761.72 | $10,000.00 | $10,000.00 | MISS | $-7.81 |
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:46.342820+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
A 210-session average approximates ten trading months; cash yield is currently assumed zero.
Historical transactions
HIT = profitable after the 4 bps cost assumption; MISS = loss after costs; FLAT = break-even. Showing the most recent 100 of 89 transactions.
| Entry | Side | Entry price | Exit | Exit price | Outcome | Net return |
|---|---|---|---|---|---|---|
| 2026-09-01 00:00:00+00:00 | LONG | 762.01 | 2026-09-30 00:00:00+00:00 | 766.79 | HIT | +0.587% |
| 2026-08-03 00:00:00+00:00 | LONG | 749.44 | 2026-08-31 00:00:00+00:00 | 767.05 | HIT | +2.310% |
| 2026-07-01 00:00:00+00:00 | LONG | 745.00 | 2026-07-31 00:00:00+00:00 | 747.03 | HIT | +0.232% |
| 2026-06-01 00:00:00+00:00 | LONG | 755.36 | 2026-06-30 00:00:00+00:00 | 746.77 | MISS | -1.177% |
| 2026-05-01 00:00:00+00:00 | LONG | 721.25 | 2026-05-29 00:00:00+00:00 | 756.48 | HIT | +4.845% |
| 2026-03-02 00:00:00+00:00 | LONG | 678.70 | 2026-03-31 00:00:00+00:00 | 650.34 | MISS | -4.219% |
| 2026-02-02 00:00:00+00:00 | LONG | 689.58 | 2026-02-27 00:00:00+00:00 | 685.99 | MISS | -0.561% |
| 2026-01-02 00:00:00+00:00 | LONG | 685.71 | 2026-01-30 00:00:00+00:00 | 691.97 | HIT | +0.873% |
| 2025-12-01 00:00:00+00:00 | LONG | 678.81 | 2025-12-31 00:00:00+00:00 | 681.92 | HIT | +0.418% |
| 2025-11-03 00:00:00+00:00 | LONG | 685.67 | 2025-11-28 00:00:00+00:00 | 683.39 | MISS | -0.373% |
| 2025-10-01 00:00:00+00:00 | LONG | 663.17 | 2025-10-31 00:00:00+00:00 | 682.06 | HIT | +2.808% |
| 2025-09-02 00:00:00+00:00 | LONG | 637.50 | 2025-09-30 00:00:00+00:00 | 666.18 | HIT | +4.459% |
| 2025-08-01 00:00:00+00:00 | LONG | 626.30 | 2025-08-29 00:00:00+00:00 | 645.05 | HIT | +2.954% |
| 2025-07-01 00:00:00+00:00 | LONG | 616.36 | 2025-07-31 00:00:00+00:00 | 632.08 | HIT | +2.510% |
| 2025-06-02 00:00:00+00:00 | LONG | 587.76 | 2025-06-30 00:00:00+00:00 | 617.85 | HIT | +5.079% |
| 2025-03-03 00:00:00+00:00 | LONG | 596.18 | 2025-03-31 00:00:00+00:00 | 559.39 | MISS | -6.211% |
| 2025-02-03 00:00:00+00:00 | LONG | 592.67 | 2025-02-28 00:00:00+00:00 | 594.18 | HIT | +0.215% |
| 2025-01-02 00:00:00+00:00 | LONG | 589.39 | 2025-01-31 00:00:00+00:00 | 601.82 | HIT | +2.069% |
| 2024-12-02 00:00:00+00:00 | LONG | 602.97 | 2024-12-31 00:00:00+00:00 | 586.08 | MISS | -2.841% |
| 2024-11-01 00:00:00+00:00 | LONG | 571.32 | 2024-11-29 00:00:00+00:00 | 602.55 | HIT | +5.426% |
| 2024-10-01 00:00:00+00:00 | LONG | 573.40 | 2024-10-31 00:00:00+00:00 | 568.64 | MISS | -0.870% |
| 2024-09-03 00:00:00+00:00 | LONG | 560.47 | 2024-09-30 00:00:00+00:00 | 573.76 | HIT | +2.331% |
| 2024-08-01 00:00:00+00:00 | LONG | 552.57 | 2024-08-30 00:00:00+00:00 | 563.68 | HIT | +1.971% |
| 2024-07-01 00:00:00+00:00 | LONG | 545.63 | 2024-07-31 00:00:00+00:00 | 550.81 | HIT | +0.909% |
| 2024-06-03 00:00:00+00:00 | LONG | 529.02 | 2024-06-28 00:00:00+00:00 | 544.22 | HIT | +2.833% |
| 2024-05-01 00:00:00+00:00 | LONG | 501.38 | 2024-05-31 00:00:00+00:00 | 527.37 | HIT | +5.144% |
| 2024-04-01 00:00:00+00:00 | LONG | 523.83 | 2024-04-30 00:00:00+00:00 | 501.98 | MISS | -4.211% |
| 2024-03-01 00:00:00+00:00 | LONG | 508.98 | 2024-03-28 00:00:00+00:00 | 523.07 | HIT | +2.728% |
| 2024-02-01 00:00:00+00:00 | LONG | 484.63 | 2024-02-29 00:00:00+00:00 | 508.08 | HIT | +4.799% |
| 2024-01-02 00:00:00+00:00 | LONG | 472.16 | 2024-01-31 00:00:00+00:00 | 482.88 | HIT | +2.230% |
| 2023-12-01 00:00:00+00:00 | LONG | 455.77 | 2023-12-29 00:00:00+00:00 | 475.31 | HIT | +4.247% |
| 2023-10-02 00:00:00+00:00 | LONG | 426.62 | 2023-10-31 00:00:00+00:00 | 418.20 | MISS | -2.014% |
| 2023-09-01 00:00:00+00:00 | LONG | 453.17 | 2023-09-29 00:00:00+00:00 | 427.48 | MISS | -5.709% |
| 2023-08-01 00:00:00+00:00 | LONG | 456.27 | 2023-08-31 00:00:00+00:00 | 450.35 | MISS | -1.337% |
| 2023-07-03 00:00:00+00:00 | LONG | 442.92 | 2023-07-31 00:00:00+00:00 | 457.79 | HIT | +3.317% |
| 2023-06-01 00:00:00+00:00 | LONG | 418.09 | 2023-06-30 00:00:00+00:00 | 443.28 | HIT | +5.985% |
| 2023-05-01 00:00:00+00:00 | LONG | 415.47 | 2023-05-31 00:00:00+00:00 | 417.85 | HIT | +0.533% |
| 2023-04-03 00:00:00+00:00 | LONG | 408.85 | 2023-04-28 00:00:00+00:00 | 415.93 | HIT | +1.692% |
| 2023-03-01 00:00:00+00:00 | LONG | 395.41 | 2023-03-31 00:00:00+00:00 | 409.39 | HIT | +3.496% |
| 2023-02-01 00:00:00+00:00 | LONG | 405.21 | 2023-02-28 00:00:00+00:00 | 396.26 | MISS | -2.249% |
| 2022-12-01 00:00:00+00:00 | LONG | 408.77 | 2022-12-30 00:00:00+00:00 | 382.43 | MISS | -6.484% |
| 2022-04-01 00:00:00+00:00 | LONG | 453.31 | 2022-04-29 00:00:00+00:00 | 412.00 | MISS | -9.153% |
| 2022-02-01 00:00:00+00:00 | LONG | 450.68 | 2022-02-28 00:00:00+00:00 | 436.63 | MISS | -3.158% |
| 2022-01-03 00:00:00+00:00 | LONG | 476.30 | 2022-01-31 00:00:00+00:00 | 449.91 | MISS | -5.581% |
| 2021-12-01 00:00:00+00:00 | LONG | 461.64 | 2021-12-31 00:00:00+00:00 | 474.96 | HIT | +2.845% |
| 2021-11-01 00:00:00+00:00 | LONG | 460.30 | 2021-11-30 00:00:00+00:00 | 455.56 | MISS | -1.070% |
| 2021-10-01 00:00:00+00:00 | LONG | 430.98 | 2021-10-29 00:00:00+00:00 | 459.25 | HIT | +6.519% |
| 2021-09-01 00:00:00+00:00 | LONG | 452.56 | 2021-09-30 00:00:00+00:00 | 429.14 | MISS | -5.215% |
| 2021-08-02 00:00:00+00:00 | LONG | 440.34 | 2021-08-31 00:00:00+00:00 | 451.56 | HIT | +2.508% |
| 2021-07-01 00:00:00+00:00 | LONG | 428.87 | 2021-07-30 00:00:00+00:00 | 438.51 | HIT | +2.208% |
| 2021-06-01 00:00:00+00:00 | LONG | 422.57 | 2021-06-30 00:00:00+00:00 | 428.06 | HIT | +1.259% |
| 2021-05-03 00:00:00+00:00 | LONG | 419.43 | 2021-05-28 00:00:00+00:00 | 420.04 | HIT | +0.105% |
| 2021-04-01 00:00:00+00:00 | LONG | 398.40 | 2021-04-30 00:00:00+00:00 | 417.30 | HIT | +4.704% |
| 2021-03-01 00:00:00+00:00 | LONG | 385.59 | 2021-03-31 00:00:00+00:00 | 396.33 | HIT | +2.745% |
| 2021-02-01 00:00:00+00:00 | LONG | 373.72 | 2021-02-26 00:00:00+00:00 | 380.36 | HIT | +1.737% |
| 2021-01-04 00:00:00+00:00 | LONG | 375.31 | 2021-01-29 00:00:00+00:00 | 370.07 | MISS | -1.436% |
| 2020-12-01 00:00:00+00:00 | LONG | 365.57 | 2020-12-31 00:00:00+00:00 | 373.88 | HIT | +2.233% |
| 2020-11-02 00:00:00+00:00 | LONG | 330.20 | 2020-11-30 00:00:00+00:00 | 362.06 | HIT | +9.609% |
| 2020-10-01 00:00:00+00:00 | LONG | 337.69 | 2020-10-30 00:00:00+00:00 | 326.54 | MISS | -3.342% |
| 2020-09-01 00:00:00+00:00 | LONG | 350.21 | 2020-09-30 00:00:00+00:00 | 334.89 | MISS | -4.415% |
| 2020-08-03 00:00:00+00:00 | LONG | 328.32 | 2020-08-31 00:00:00+00:00 | 349.31 | HIT | +6.353% |
| 2020-07-01 00:00:00+00:00 | LONG | 309.57 | 2020-07-31 00:00:00+00:00 | 326.52 | HIT | +5.435% |
| 2020-06-01 00:00:00+00:00 | LONG | 303.62 | 2020-06-30 00:00:00+00:00 | 308.36 | HIT | +1.521% |
| 2020-02-03 00:00:00+00:00 | LONG | 323.35 | 2020-02-28 00:00:00+00:00 | 296.26 | MISS | -8.418% |
| 2020-01-02 00:00:00+00:00 | LONG | 323.54 | 2020-01-31 00:00:00+00:00 | 321.73 | MISS | -0.599% |
| 2019-12-02 00:00:00+00:00 | LONG | 314.59 | 2019-12-31 00:00:00+00:00 | 321.86 | HIT | +2.271% |
| 2019-11-01 00:00:00+00:00 | LONG | 304.92 | 2019-11-29 00:00:00+00:00 | 314.31 | HIT | +3.039% |
| 2019-10-01 00:00:00+00:00 | LONG | 297.74 | 2019-10-31 00:00:00+00:00 | 303.33 | HIT | +1.837% |
| 2019-09-03 00:00:00+00:00 | LONG | 290.57 | 2019-09-30 00:00:00+00:00 | 296.77 | HIT | +2.094% |
| 2019-08-01 00:00:00+00:00 | LONG | 297.60 | 2019-08-30 00:00:00+00:00 | 292.45 | MISS | -1.771% |
| 2019-07-01 00:00:00+00:00 | LONG | 296.68 | 2019-07-31 00:00:00+00:00 | 297.43 | HIT | +0.213% |
| 2019-05-01 00:00:00+00:00 | LONG | 294.72 | 2019-05-31 00:00:00+00:00 | 275.27 | MISS | -6.639% |
| 2019-04-01 00:00:00+00:00 | LONG | 284.70 | 2019-04-30 00:00:00+00:00 | 294.02 | HIT | +3.234% |
| 2019-03-01 00:00:00+00:00 | LONG | 280.44 | 2019-03-29 00:00:00+00:00 | 282.48 | HIT | +0.687% |
| 2018-12-03 00:00:00+00:00 | LONG | 280.28 | 2018-12-31 00:00:00+00:00 | 249.92 | MISS | -10.872% |
| 2018-10-01 00:00:00+00:00 | LONG | 292.11 | 2018-10-31 00:00:00+00:00 | 270.63 | MISS | -7.393% |
| 2018-09-04 00:00:00+00:00 | LONG | 289.84 | 2018-09-28 00:00:00+00:00 | 290.72 | HIT | +0.264% |
| 2018-08-01 00:00:00+00:00 | LONG | 281.56 | 2018-08-31 00:00:00+00:00 | 290.31 | HIT | +3.068% |
| 2018-07-02 00:00:00+00:00 | LONG | 269.51 | 2018-07-31 00:00:00+00:00 | 281.33 | HIT | +4.346% |
| 2018-06-01 00:00:00+00:00 | LONG | 272.41 | 2018-06-29 00:00:00+00:00 | 271.28 | MISS | -0.455% |
| 2018-05-01 00:00:00+00:00 | LONG | 263.87 | 2018-05-31 00:00:00+00:00 | 270.94 | HIT | +2.639% |
| 2018-04-02 00:00:00+00:00 | LONG | 262.55 | 2018-04-30 00:00:00+00:00 | 264.51 | HIT | +0.707% |
| 2018-03-01 00:00:00+00:00 | LONG | 271.41 | 2018-03-29 00:00:00+00:00 | 263.15 | MISS | -3.083% |
| 2018-02-01 00:00:00+00:00 | LONG | 281.07 | 2018-02-28 00:00:00+00:00 | 271.65 | MISS | -3.391% |
| 2018-01-02 00:00:00+00:00 | LONG | 267.84 | 2018-01-31 00:00:00+00:00 | 281.90 | HIT | +5.209% |
| 2017-12-01 00:00:00+00:00 | LONG | 264.76 | 2017-12-29 00:00:00+00:00 | 266.86 | HIT | +0.753% |
| 2017-11-01 00:00:00+00:00 | LONG | 258.04 | 2017-11-30 00:00:00+00:00 | 265.01 | HIT | +2.661% |
| 2017-10-02 00:00:00+00:00 | LONG | 251.49 | 2017-10-31 00:00:00+00:00 | 257.15 | HIT | +2.211% |
| 2017-09-01 00:00:00+00:00 | LONG | 247.92 | 2017-09-29 00:00:00+00:00 | 251.23 | HIT | +1.295% |