SP-500 seasonal trends: recorded proxy strategies
Shared research analysis
Iteration 1 · 4 candidates · 8427 evaluated observations
Exploratory diagnostics. Locked holdout observations are excluded. Missing statistics remain unavailable; this report does not grant official admission.
Candidate metrics
Max drawdown is negative; expected shortfall is positive loss. Download the complete metrics table for dates, sample counts and decimal values.
| Candidate | CAGR | Sharpe | Sortino | Max drawdown | 95% expected shortfall |
|---|---|---|---|---|---|
| expanding month · lag 1 | 6.88% | 0.43 | 0.60 | -70.03% | 3.28% |
| documented like four cycle · lag 1 | 7.00% | 0.46 | 0.63 | -71.53% | 3.08% |
| lag and overlay · lag 2 | 6.35% | 0.48 | 0.68 | -52.64% | 2.43% |
| short cycle · lag 1 | 3.56% | 0.27 | 0.38 | -75.79% | 3.63% |
Compare recorded paths
The first chart point represents initial capital before the first return. It is excluded from numerical metrics.
Analysis modules
Performance — ok
See the candidate comparison above. These metrics use the same recorded returns as the downloads.
Uncertainty — ok
Block count is a dependence proxy, not a count of independent crises; HAC alpha p-values are unadjusted.
| candidate | status | observations | block size | block count proxy | mean excess return per period | mean excess ci95 | factor alpha per period | factor alpha hac pvalue | benchmark beta |
|---|---|---|---|---|---|---|---|---|---|
| recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | ok | 8427 | 20 | 421.35 | -0.000131227 | [-0.0002972062482660918, 3.491276054503254e-05] | -4.2313e-05 | 0.652725 | 0.812655 |
| recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | ok | 8427 | 20 | 421.35 | -0.000135988 | [-0.0003004639986684744, 2.1359152506980602e-05] | -2.68425e-05 | 0.75216 | 0.770028 |
| recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | ok | 8427 | 20 | 421.35 | -0.000184717 | [-0.0003040278467708018, -6.364202471576285e-05] | -2.57923e-05 | 0.676837 | 0.665143 |
| recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | ok | 8427 | 20 | 421.35 | -0.000220419 | [-0.0004932359948421341, 5.680559202681005e-05] | 4.90142e-05 | 0.745414 | 0.432298 |
Family — not estimable
Tests mean net return superiority within each family; does not test Sharpe or correct across families.
| family | status | observations | limitation |
|---|---|---|---|
| documented_like_four_cycle | not_estimable | None | full successful family search returns and explicit search_complete=true required |
| expanding_month | not_estimable | None | full successful family search returns and explicit search_complete=true required |
| lag_and_overlay | not_estimable | None | full successful family search returns and explicit search_complete=true required |
| short_cycle | not_estimable | None | full successful family search returns and explicit search_complete=true required |
Walk Forward — ok
Selects among supplied fixed causal return streams. Does not refit the underlying strategies. Retrospectively designed candidate universes remain exploratory.
highest training Sharpe; ties resolved by candidate ID
| path | status | observations | start | end | total return | cagr | sharpe | sortino | volatility | max drawdown | expected shortfall 95 | expected shortfall reason |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| selected | ok | 7812 | 1995-02-28 | 2026-03-13 | 2.96286 | 0.0454196 | 0.32018 | 0.443566 | 0.203849 | -0.750211 | 0.033047 | None |
| benchmark | ok | 7812 | 1995-02-28 | 2026-03-13 | 22.4633 | 0.107149 | 0.629721 | 0.895409 | 0.190501 | -0.551894 | 0.0285153 | None |
| fold | selected | train start | train end | test start | test end | cagr | sharpe | max drawdown |
|---|---|---|---|---|---|---|---|---|
| 0 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 1993-02-01 | 1995-01-27 | 1995-02-28 | 1995-08-25 | 0.274135 | 2.9386 | -0.0264466 |
| 1 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 1993-08-02 | 1995-07-28 | 1995-08-28 | 1996-02-26 | 0.360804 | 2.12236 | -0.0743598 |
| 2 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 1994-01-28 | 1996-01-26 | 1996-02-27 | 1996-08-23 | 0.0315068 | 0.286468 | -0.092148 |
| 3 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 1994-08-01 | 1996-07-26 | 1996-08-26 | 1997-02-24 | 0.431955 | 2.03635 | -0.0581523 |
| 4 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 1995-01-30 | 1997-01-24 | 1997-02-25 | 1997-08-22 | 0.168324 | 0.840123 | -0.127527 |
| 5 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 1995-07-31 | 1997-07-25 | 1997-08-25 | 1998-02-24 | 0.204113 | 1.575 | -0.0559292 |
| 6 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 1996-01-29 | 1998-01-26 | 1998-02-25 | 1998-08-24 | -0.100918 | -0.825578 | -0.104903 |
| 7 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 1996-07-29 | 1998-07-27 | 1998-08-25 | 1999-02-24 | 0.0547386 | 0.33547 | -0.123288 |
| 8 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 1997-01-27 | 1999-01-26 | 1999-02-25 | 1999-08-24 | 0.321812 | 1.46259 | -0.0927723 |
| 9 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 1997-07-28 | 1999-07-27 | 1999-08-25 | 2000-02-23 | -0.30023 | -0.979703 | -0.198154 |
| 10 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 1998-01-27 | 2000-01-25 | 2000-02-24 | 2000-08-22 | -0.27374 | -0.955766 | -0.19964 |
| 11 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 1998-07-28 | 2000-07-25 | 2000-08-23 | 2001-02-22 | -0.254249 | -0.61712 | -0.232083 |
| 12 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 1999-01-27 | 2001-01-24 | 2001-02-23 | 2001-08-22 | -0.0575822 | -0.182716 | -0.149217 |
| 13 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 1999-07-28 | 2001-07-25 | 2001-08-23 | 2002-02-28 | -0.211071 | -0.699943 | -0.213769 |
| 14 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2000-01-26 | 2002-01-30 | 2002-03-01 | 2002-08-28 | -0.301766 | -0.983437 | -0.207761 |
| 15 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2000-07-26 | 2002-07-31 | 2002-08-29 | 2003-02-28 | -0.018564 | 0.132831 | -0.228828 |
| 16 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2001-01-25 | 2003-01-30 | 2003-03-03 | 2003-08-28 | 0.479426 | 1.96953 | -0.108144 |
| 17 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2001-07-26 | 2003-07-31 | 2003-08-29 | 2004-03-01 | 0.0756585 | 0.616527 | -0.0657998 |
| 18 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2002-01-31 | 2004-01-30 | 2004-03-02 | 2004-08-30 | 0.151836 | 1.21142 | -0.0690812 |
| 19 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2002-08-01 | 2004-08-02 | 2004-08-31 | 2005-03-01 | 0.270567 | 1.65934 | -0.0435206 |
| 20 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2003-01-31 | 2005-01-31 | 2005-03-02 | 2005-08-29 | 0.197076 | 1.58597 | -0.0471549 |
| 21 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2003-08-01 | 2005-08-01 | 2005-08-30 | 2006-03-01 | 0.163745 | 1.15495 | -0.0513701 |
| 22 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2004-02-02 | 2006-01-31 | 2006-03-02 | 2006-08-29 | -0.0965015 | -0.835725 | -0.0779184 |
| 23 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2004-08-03 | 2006-08-01 | 2006-08-30 | 2007-03-02 | -0.0128773 | 0.00222433 | -0.0890824 |
| 24 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2005-02-01 | 2007-02-01 | 2007-03-05 | 2007-08-30 | 0.0783364 | 0.665601 | -0.0904752 |
| 25 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2005-08-02 | 2007-08-02 | 2007-08-31 | 2008-03-03 | -0.296375 | -1.15645 | -0.242372 |
| 26 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2006-02-01 | 2008-02-01 | 2008-03-04 | 2008-08-29 | -0.102297 | -0.571393 | -0.149981 |
| 27 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2006-08-02 | 2008-08-01 | 2008-09-02 | 2009-03-03 | -0.741189 | -2.08187 | -0.491265 |
| 28 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2007-02-02 | 2009-02-02 | 2009-03-04 | 2009-08-31 | 0.363829 | 1.02787 | -0.197103 |
| 29 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2007-08-03 | 2009-08-03 | 2009-09-01 | 2010-03-03 | -0.0656256 | -0.240234 | -0.130699 |
| 30 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2008-02-04 | 2010-02-02 | 2010-03-04 | 2010-08-31 | -0.30053 | -1.41106 | -0.245165 |
| 31 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2008-08-04 | 2010-08-03 | 2010-09-01 | 2011-03-02 | 0.45298 | 3.27963 | -0.0371581 |
| 32 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2009-02-03 | 2011-02-01 | 2011-03-03 | 2011-08-30 | -0.156565 | -0.660903 | -0.173081 |
| 33 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2009-08-04 | 2011-08-02 | 2011-08-31 | 2012-03-01 | 0.127036 | 0.83833 | -0.0987333 |
| 34 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2010-02-03 | 2012-02-01 | 2012-03-02 | 2012-08-29 | -0.0767895 | -0.722248 | -0.0934804 |
| 35 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2010-08-04 | 2012-08-01 | 2012-08-30 | 2013-03-05 | 0.35358 | 2.35111 | -0.0537911 |
| 36 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2011-02-02 | 2013-02-04 | 2013-03-06 | 2013-09-03 | 0.0614463 | 0.483047 | -0.0878858 |
| 37 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2011-08-03 | 2013-08-05 | 2013-09-04 | 2014-03-05 | 0.0538737 | 0.480312 | -0.0914237 |
| 38 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2012-02-02 | 2014-02-04 | 2014-03-06 | 2014-09-03 | 0.199815 | 2.5388 | -0.0390198 |
| 39 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2012-08-02 | 2014-08-05 | 2014-09-04 | 2015-03-05 | 0.0460529 | 0.359521 | -0.0777756 |
| 40 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2013-02-05 | 2015-02-04 | 2015-03-06 | 2015-09-02 | -0.0636578 | -0.402209 | -0.119103 |
| 41 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2013-08-06 | 2015-08-05 | 2015-09-03 | 2016-03-04 | -0.125981 | -0.75379 | -0.157637 |
| 42 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2014-02-05 | 2016-02-04 | 2016-03-07 | 2016-09-01 | 0.122696 | 1.65676 | -0.0280818 |
| 43 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2014-08-06 | 2016-08-04 | 2016-09-02 | 2017-03-06 | 0.277267 | 2.64932 | -0.0268456 |
| 44 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2015-02-05 | 2017-02-03 | 2017-03-07 | 2017-09-01 | 0.0923221 | 1.07864 | -0.0372546 |
| 45 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2015-08-06 | 2017-08-04 | 2017-09-05 | 2018-03-06 | 0.0882358 | 0.772309 | -0.101018 |
| 46 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2016-02-05 | 2018-02-05 | 2018-03-07 | 2018-09-04 | 0.31794 | 2.47229 | -0.0357283 |
| 47 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2016-08-05 | 2018-08-06 | 2018-09-05 | 2019-03-07 | 0.272269 | 1.24778 | -0.16121 |
| 48 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2017-02-06 | 2019-02-06 | 2019-03-08 | 2019-09-05 | -0.222151 | -0.964749 | -0.200667 |
| 49 | recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 2017-08-07 | 2019-08-07 | 2019-09-06 | 2020-03-06 | 0.0474836 | 0.372474 | -0.135696 |
| 50 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2018-02-06 | 2020-02-06 | 2020-03-09 | 2020-09-03 | 0.986249 | 3.15481 | -0.0698947 |
| 51 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2018-08-07 | 2020-08-06 | 2020-09-04 | 2021-03-08 | 0.280976 | 1.80075 | -0.062128 |
| 52 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2019-02-07 | 2021-02-05 | 2021-03-09 | 2021-09-03 | 0.280224 | 2.62732 | -0.039586 |
| 53 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2019-08-08 | 2021-08-06 | 2021-09-07 | 2022-03-07 | -0.0826116 | -0.573504 | -0.116724 |
| 54 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2020-02-07 | 2022-02-04 | 2022-03-08 | 2022-09-06 | -0.14083 | -0.668956 | -0.147417 |
| 55 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2020-08-07 | 2022-08-08 | 2022-09-07 | 2023-03-08 | -0.0386951 | -0.0390055 | -0.161661 |
| 56 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2021-02-08 | 2023-02-07 | 2023-03-09 | 2023-09-07 | 0.290555 | 1.52111 | -0.0923219 |
| 57 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2021-08-09 | 2023-08-09 | 2023-09-08 | 2024-03-08 | 0.70994 | 3.36541 | -0.0794761 |
| 58 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2022-02-07 | 2024-02-08 | 2024-03-11 | 2024-09-09 | -0.0954394 | -0.410487 | -0.155026 |
| 59 | recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 2022-08-09 | 2024-08-09 | 2024-09-10 | 2025-03-12 | 0.24256 | 1.38373 | -0.108129 |
| 60 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 2023-02-08 | 2025-02-11 | 2025-03-13 | 2025-09-11 | 0.324664 | 1.3235 | -0.120527 |
| 61 | recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 2023-08-10 | 2025-08-13 | 2025-09-12 | 2026-03-13 | 0.0576207 | 0.534455 | -0.0503836 |
Portfolio — ok
Constant weights rebalanced every observation; sleeve returns include their declared costs, but additional portfolio rebalancing costs are excluded. Exploratory common-window comparison.
| candidate | weight | delta cagr | delta sharpe | delta max drawdown | delta expected shortfall 95 | correlation | downside correlation | co crash rate given benchmark tail | drawdown overlap fraction | reason |
|---|---|---|---|---|---|---|---|---|---|---|
| recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1 | 0.1 | -0.0030517 | -0.00748815 | 2.48654e-06 | -0.000270599 | 0.756117 | 0.645769 | 0.632701 | 0.876824 | None |
| recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1 | 0.1 | -0.00301081 | -0.00515679 | -0.00038525 | -0.000422322 | 0.7626 | 0.658929 | 0.677725 | 0.880503 | None |
| recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2 | 0.1 | -0.00393759 | -0.00438673 | 0.0113439 | -0.000775125 | 0.815323 | 0.730026 | 0.722749 | 0.871129 | None |
| recessionalert-sp500-seasonal-short_cycle-lb12-lag1 | 0.1 | -0.0043332 | 0.00164696 | 0.0194676 | -0.00133294 | 0.333256 | 0.258565 | 0.473934 | 0.890708 | None |
Events — ok
Episode counts are descriptive; independence requires economic justification. Leave-one-out averages event effects, not a fabricated continuous equity curve.
recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1
| event | status | observations | strategy return | benchmark return | excess return |
|---|---|---|---|---|---|
| global-financial-crisis | ok | 356 | -0.573905 | -0.547674 | -0.026231 |
| covid-crash | ok | 24 | -0.0820838 | -0.334004 | 0.25192 |
| inflation-bear | ok | 196 | -0.28466 | -0.240592 | -0.0440679 |
Leave one episode out
| removed | remaining events | mean event excess return |
|---|---|---|
| global-financial-crisis | 2 | 0.103926 |
| covid-crash | 2 | -0.0351495 |
| inflation-bear | 2 | 0.112844 |
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1
| event | status | observations | strategy return | benchmark return | excess return |
|---|---|---|---|---|---|
| global-financial-crisis | ok | 356 | -0.577571 | -0.547674 | -0.0298968 |
| covid-crash | ok | 24 | -0.0820838 | -0.334004 | 0.25192 |
| inflation-bear | ok | 196 | -0.245188 | -0.240592 | -0.00459558 |
Leave one episode out
| removed | remaining events | mean event excess return |
|---|---|---|
| global-financial-crisis | 2 | 0.123662 |
| covid-crash | 2 | -0.0172462 |
| inflation-bear | 2 | 0.111012 |
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2
| event | status | observations | strategy return | benchmark return | excess return |
|---|---|---|---|---|---|
| global-financial-crisis | ok | 356 | -0.444902 | -0.547674 | 0.102772 |
| covid-crash | ok | 24 | -0.108366 | -0.334004 | 0.225638 |
| inflation-bear | ok | 196 | -0.209494 | -0.240592 | 0.0310982 |
Leave one episode out
| removed | remaining events | mean event excess return |
|---|---|---|
| global-financial-crisis | 2 | 0.128368 |
| covid-crash | 2 | 0.0669351 |
| inflation-bear | 2 | 0.164205 |
recessionalert-sp500-seasonal-short_cycle-lb12-lag1
| event | status | observations | strategy return | benchmark return | excess return |
|---|---|---|---|---|---|
| global-financial-crisis | ok | 356 | -0.443081 | -0.547674 | 0.104593 |
| covid-crash | ok | 24 | -0.214367 | -0.334004 | 0.119637 |
| inflation-bear | ok | 196 | 0.0694233 | -0.240592 | 0.310016 |
Leave one episode out
| removed | remaining events | mean event excess return |
|---|---|---|
| global-financial-crisis | 2 | 0.214826 |
| covid-crash | 2 | 0.207304 |
| inflation-bear | 2 | 0.112115 |
Scenarios — not estimable
provide recorded engine reruns for cost, lag, financing, margin or family-removal scenarios
Assumptions
- Decimal simple net returns; 252 observations/year; zero risk-free rate for Sharpe and Sortino.
- Recorded returns must already obey causal execution and declared costs. This tool does not verify point-in-time source availability.
- All outputs are exploratory diagnostics, not untouched confirmation or official admission.
- Locked holdout observations are excluded from all numerical outputs and downloads.
- Missing observations are never zero-filled. Dependence tests require a contiguous common interval.
- PBO and DSR are not computed by this version; SPA is a distinct family-level test.
Provenance and software versions
{
"input_hash": "841384cea28bcddd943af2e8ec2111c9da5564520442e0827bc7a6f3280da1f9",
"provenance": {
"analysis_rows": 8427,
"analysis_settings": "Illustrative diagnostic configuration selected after viewing published campaign results; not preregistered confirmation.",
"as_of": "2026-07-24",
"code_revision": "Historical producer revision not recorded in this export; source bytes are SHA-256 bound.",
"costs": "Uses costs already embedded by the historical producer; completeness is not independently verified.",
"excluded_holdout_rows": 0,
"execution": "Uses recorded campaign equity paths without rerunning or altering their execution assumptions.",
"manifest_sha256": "f82c6e291fb444017b9feee28e470723cdb38fc1f3f9b0a8e88d544bc0a622ec",
"missing_observations": {
"benchmark": 0,
"recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1": 0,
"recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1": 0,
"recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2": 0,
"recessionalert-sp500-seasonal-short_cycle-lb12-lag1": 0
},
"raw_rows": 8427,
"recorded_provenance": {
"common_overlay_span": "1993-01-29/2026-07-24",
"market_cache": "data/market.sqlite (read-only)",
"native_fidelity": 0,
"native_spans": {
"SPY": "1993-01-29/2026-07-24",
"^GSPC": "1927-12-30/2026-07-24"
},
"normalization": "Asset and SPY display levels are divided by first available SPY close; score/weight/equity arrays are derived and preserve null warmup values.",
"proxy_series": [
"^GSPC",
"SPY"
],
"redistribution": "Derived prices, scores, weights, and metrics only; no cached HTML/media/workbook bytes, credentials, cookies, or private account data.",
"source_page_fetched_at": "2026-08-22T23:47:00Z",
"source_page_sha256": "sha256:7e34ccc16114249e7652c0bf1080f6df0f14b49e48d1009f05f9b8a33fb369cd",
"source_page_url": "https://recessionalert.com/analyzing-sp-500-seasonal-trends/"
},
"returns_sha256": "c6dd76d5dd416b315347f46e9eafd938d010c1e480b4b6d953bb9c2e48513c4d",
"search_history": "Export contains retained recorded paths only. Original trial history may be larger; SPA remains unavailable.",
"source": "research/campaigns/recessionalert-sp500-seasonal-1352/lab-series.json",
"source_sha256": "6e087febf6655c367dde52481766eb5be374b0649b2cfad2ab5ea55b82b3d324"
},
"trial_accounting": {
"candidate_return_columns": 4,
"effective_independent_trials": null,
"recorded_trials": 4,
"search_complete": false
},
"versions": {
"arch": "8.0.0",
"numpy": "2.3.5",
"pandas": "2.2.3",
"plotly": "7.0.0",
"quantstats": "0.0.81",
"skfolio": "0.20.2",
"statsmodels": "0.14.6"
}
}