Quantitative research dashboard
CycleTrader Report - SPY
Adjusted-price backtest with simulated fills, transaction costs, and a transparent trade ledger.
Benchmark
Strategy vs buy-and-hold
Buy-and-hold invests at the first test bar using adjusted prices and the configured entry cost, then remains invested through the final test date.
Cycle analysis
Monthly adjusted close
Monthly adjusted close with causal ML fast/slow/macro fitted cycles, dashed forward projections, entries, exits, Wyckoff events, and rising-cycle exposure. The shallow arcs along the x-axis mark the fitted fast-, slow-, and macro-cycle periods (the macro arc is the larger, longer-period component) and continue into the projected region. Use the wheel or pinch to zoom, then drag left or right to move through the full history.
Wyckoff analysis
Last 12 months · daily
Objective Spring, Upthrust, Sign of Strength, and Sign of Weakness events. Use the wheel or pinch to zoom, then drag left or right.
Performance
Equity curve
Risk
Drawdown
At a glance
Run metrics
- Ending equity
- 139320.74
- Volatility
- 11.58 %
- Sortino ratio
- 0.71
- Win rate
- 72 %
- Average holding
- 310.9 days
Model optimization
Retrain selected stock
Optimize the selected strategy parameters using net return after costs.
| Entry date | Exit/mark date | Entry price | Exit/mark price | Weight | Entry reason | Exit reason | Net return | Profit/Loss | Cumulative P/L | Holding days |
|---|---|---|---|---|---|---|---|---|---|---|
| 2005-02-01 | 2005-09-01 | 79.54 | 83.07 | 0.5000 | CycleBuy | CycleExitToHalf | 4.29 % | 214.55 | 214.55 | 212 |
| 2005-02-01 | 2006-06-01 | 79.54 | 87.54 | 0.5000 | CycleBuy | CycleExitToHalf | 9.91 % | 495.04 | 709.59 | 485 |
| 2005-09-12 | 2007-07-02 | 84.38 | 106.06 | 0.4963 | RecoveryRebuy | CycleExitToHalf | 25.53 % | 1331.26 | 2040.85 | 658 |
| 2006-06-05 | 2007-07-02 | 88.55 | 106.06 | 0.0037 | RecoveryRebuy | CycleExitToHalf | 19.62 % | 8.02 | 2048.87 | 392 |
| 2006-06-05 | 2007-08-01 | 88.55 | 102.06 | 0.4936 | RecoveryRebuy | CycleExitToHalf | 15.10 % | 816.67 | 2865.53 | 422 |
| 2007-07-09 | 2007-08-01 | 107.67 | 102.06 | 0.0064 | RecoveryRebuy | CycleExitToHalf | -5.35 % | -4.54 | 2861.00 | 23 |
| 2007-07-09 | 2007-12-03 | 107.67 | 104.67 | 0.4900 | RecoveryRebuy | CycleExitToHalf | -2.92 % | -189.35 | 2671.64 | 147 |
| 2007-08-27 | 2007-12-03 | 103.93 | 104.67 | 0.0100 | RecoveryRebuy | CycleExitToHalf | 0.56 % | 0.71 | 2672.36 | 98 |
| 2007-08-27 | 2008-07-01 | 103.93 | 90.72 | 0.4856 | RecoveryRebuy | SlowCycleDown | -12.84 % | -787.57 | 1884.79 | 309 |
| 2007-12-10 | 2008-07-01 | 106.85 | 90.72 | 0.4950 | RecoveryRebuy | SlowCycleDown | -15.22 % | -967.63 | 917.16 | 204 |
| 2009-03-02 | 2009-07-01 | 52.72 | 68.00 | 0.5000 | SlowCycleUp | CycleExitToHalf | 28.83 % | 1571.49 | 2488.65 | 121 |
| 2009-05-01 | 2010-06-01 | 64.03 | 80.93 | 0.4517 | CycleBuy | CycleExitToHalf | 26.24 % | 1430.17 | 3918.82 | 396 |
| 2009-07-20 | 2010-06-01 | 69.72 | 80.93 | 0.0483 | RecoveryRebuy | CycleExitToHalf | 15.93 % | 99.69 | 4018.51 | 316 |
| 2009-07-20 | 2010-07-01 | 69.72 | 77.41 | 0.4456 | RecoveryRebuy | CycleExitToHalf | 10.89 % | 629.06 | 4647.57 | 346 |
| 2010-06-14 | 2010-07-01 | 82.55 | 77.41 | 0.0544 | RecoveryRebuy | CycleExitToHalf | -6.36 % | -52.52 | 4595.05 | 17 |
| 2010-06-14 | 2011-06-01 | 82.55 | 102.46 | 0.4409 | RecoveryRebuy | SlowCycleDown | 23.97 % | 1605.16 | 6200.21 | 352 |
| 2010-07-12 | 2011-06-01 | 80.75 | 102.46 | 0.4896 | RecoveryRebuy | SlowCycleDown | 26.73 % | 1903.17 | 8103.38 | 324 |
| 2011-12-01 | 2012-11-01 | 96.07 | 111.32 | 0.5000 | CycleBuy | CycleExitToHalf | 15.73 % | 1450.67 | 9554.05 | 336 |
| 2011-12-01 | 2013-09-03 | 96.07 | 132.06 | 0.5000 | CycleBuy | CycleExitToHalf | 37.30 % | 3440.19 | 12994.23 | 642 |
| 2012-11-05 | 2014-08-01 | 111.08 | 156.92 | 0.5007 | RecoveryRebuy | SlowCycleDown | 41.10 % | 4389.54 | 17383.77 | 634 |
| 2013-09-09 | 2014-08-01 | 133.03 | 156.92 | 0.4983 | RecoveryRebuy | SlowCycleDown | 17.81 % | 2257.18 | 19640.95 | 326 |
| 2014-11-03 | 2015-07-01 | 165.32 | 172.61 | 1.0000 | CycleBuy | SlowCycleDown | 4.26 % | 1279.15 | 20920.09 | 240 |
| 2015-09-10 | 2016-11-01 | 161.67 | 181.72 | 0.5000 | BrakeEnd | UpthrustStopToHalf | 12.26 % | 1917.89 | 22837.98 | 418 |
| 2015-11-02 | 2018-03-01 | 174.02 | 237.51 | 0.4818 | CycleBuy | SlowCycleDown | 36.33 % | 5683.64 | 28521.63 | 850 |
| 2016-11-14 | 2018-03-01 | 185.22 | 237.51 | 0.4954 | RecoveryRebuy | SlowCycleDown | 28.08 % | 4759.09 | 33280.72 | 472 |
| 2018-06-01 | 2018-11-01 | 239.34 | 240.79 | 1.0000 | CycleBuy | SlowCycleDown | 0.46 % | 203.50 | 33484.22 | 153 |
| 2019-03-01 | 2019-06-03 | 250.11 | 246.61 | 0.5000 | CycleBuy | UpthrustStopToHalf | -1.54 % | -339.11 | 33145.11 | 94 |
| 2019-03-01 | 2019-08-06 | 250.11 | 257.35 | 0.5000 | CycleBuy | CrashBrake | 2.76 % | 607.60 | 33752.71 | 158 |
| 2019-06-10 | 2019-08-06 | 259.20 | 257.35 | 0.4877 | RecoveryRebuy | CrashBrake | -0.85 % | -185.56 | 33567.15 | 57 |
| 2019-08-20 | 2019-09-03 | 262.63 | 261.55 | 0.5000 | BrakeEnd | CycleExitToHalf | -0.55 % | -121.81 | 33445.34 | 14 |
| 2019-08-20 | 2020-02-28 | 262.63 | 262.35 | 0.5000 | BrakeEnd | CrashBrake | -0.25 % | -54.27 | 33391.07 | 192 |
| 2019-09-09 | 2020-02-28 | 269.26 | 262.35 | 0.4929 | RecoveryRebuy | CrashBrake | -2.71 % | -595.28 | 32795.79 | 172 |
| 2020-03-16 | 2020-10-01 | 219.16 | 311.37 | 0.5000 | BrakeEnd | CycleExitToHalf | 41.90 % | 9107.40 | 41903.19 | 199 |
| 2020-03-16 | 2020-11-02 | 219.16 | 304.47 | 0.5000 | BrakeEnd | CycleExitToHalf | 38.76 % | 8423.37 | 50326.56 | 231 |
| 2020-10-12 | 2022-02-01 | 322.35 | 422.95 | 0.4915 | RecoveryRebuy | SlowCycleDown | 31.05 % | 9582.12 | 59908.68 | 477 |
| 2020-11-09 | 2022-02-01 | 335.61 | 422.95 | 0.4759 | RecoveryRebuy | SlowCycleDown | 25.87 % | 7667.02 | 67575.71 | 449 |
| 2022-12-01 | 2023-03-01 | 388.06 | 377.12 | 0.5000 | CycleBuy | CycleExitToHalf | -2.96 % | -1160.10 | 66415.60 | 90 |
| 2022-12-01 | 2024-05-01 | 388.06 | 487.03 | 0.5000 | CycleBuy | CycleExitToHalf | 25.35 % | 9944.85 | 76360.45 | 517 |
| 2023-03-06 | 2024-11-01 | 386.31 | 558.47 | 0.4942 | RecoveryRebuy | SlowCycleDown | 44.39 % | 16914.90 | 93275.35 | 606 |
| 2024-05-06 | 2024-11-01 | 499.04 | 558.47 | 0.4941 | RecoveryRebuy | SlowCycleDown | 11.76 % | 5713.55 | 98988.90 | 179 |
| 2025-06-02 | 2026-10-01 | 578.18 | 764.36 | 0.5000 | CycleBuy | CycleExitToHalf | 32.04 % | 17622.39 | 116611.29 | 486 |
| 2025-06-02 | 2026-11-06 | 578.18 | 735.29 | 0.5000 | CycleBuy | EndOfTest | 27.10 % | 14907.78 | 131519.07 | 522 |
| 2026-10-05 | 2026-11-06 | 769.69 | 735.29 | 0.4984 | RecoveryRebuy | EndOfTest | -4.54 % | -3298.55 | 128220.52 | 32 |
Honest-use note: this is a strategy prototype, candidates were tested against a limited window, learner-vs-fixed performance is shown separately, and this is not investment advice. Adjusted prices represent total return with dividends reinvested. Results include the configured simulated trading costs and are not investment advice.