Research campaign · Iteration 1 · unassessed
Analyzing SP-500 Seasonal Trends | RecessionAlert — exploratory proxy campaign
What can be learned from the SHA-verified RecessionAlert seasonal-trends article using transparent public SPX/SPY proxies, longest defensible history, and causal execution when native observations, scale, publication lag, and portfolio semantics are incomplete?
- Expressions
- 4
- Logged trials
- Not recorded
- Independent events
- Not assessed
- Evidence
- unassessed
What the research found
The SHA-verified article discloses four monthly cycle families, three ranked characteristics, a composite concept, source-like short/long/2x bands, and optional cash/no-leverage language, but no source-linked signal series, scale conversion, publication clock, or complete execution contract.
^GSPC (1927-12-30/2026-07-24) is the longest direct SP500 price proxy in the checked-in cache; actual SPY (1993-01-29/2026-07-24) supplies the requested overlay.
Four variants ran on the longest defensible history. The four-cycle lag-1 cash proxy has best full-window CAGR among trials but trails SPY; lag-2 unlevered has best Sharpe/drawdown sensitivity; short-cycle short exposure is weakest.
These are useful exploratory signals and equity overlays, not native RecessionAlert validation or catalog admission.
Mechanism and falsifiers
Not recorded in this iteration.
Not recorded in this iteration.
Confidence and limitations
The exact native RecessionAlert monthly observations, phase labels, composite scale, and source signal values are unavailable; this campaign does not recover them.
The fractional rank examples and displayed 37/74 thresholds have no documented conversion, so 0-100 action bands are inferred.
Article calculation/release timing, timezone, revision/vintage policy, target instrument, holding period, costs, slippage, exits, reversals, and re-entry are unspecified; lag 1 and overlay mechanics are repository-policy hypotheses.
^GSPC is a price index and tracked market data is close-only; no dividends, intraday fields, volume, or constituent rebuild is claimed.
Actual SPY overlays begin in 1993 while the ^GSPC driver begins in 1927; pre-1993 scores are driver-only and not SPY outcome evidence.
All returns are exploratory proxy metrics without transaction costs and do not justify official Other-indicator registry admission or investment use.
The generic RecessionAlert STM workbook hash is retained only as an unambiguous-linkage gap and is not merged or republished.
Not recorded in this iteration.
Compare expressions
Download evidenceExploratory results. Check each period, proxy and cost assumption before comparing. — means not recorded.
| Expression / family | CAGR | Sharpe | Max drawdown | Test period | Assessment |
|---|---|---|---|---|---|
| recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1expanding month | 6.9% | 0.43 | -70.0% | Not recorded |
exploratory |
| recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1documented like four cycle | 7.0% | 0.46 | -71.5% | Not recorded |
exploratory |
| recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2lag and overlay | 6.3% | 0.48 | -52.6% | Not recorded |
exploratory |
| recessionalert-sp500-seasonal-short_cycle-lb12-lag1short cycle | 3.6% | 0.27 | -75.8% | Not recorded |
exploratory |
Open an expression to inspect its rules and request confirmation. The request must be submitted by a trusted repository collaborator.
recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1
- variant id
recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1
- family id
expanding_month
- parameters
- lookback months
Not recorded in this iteration.
- low
37
- high
74
- lag bars
1
- overlay
cash
- created by
research_implementation
- reason tested
Transparent best-guess month-of-year reconstruction using longest ^GSPC history and source-like bands.
- status
exploratory
- claim kind
inferred
- tags
data_limited
fidelity_mismatch
interesting_negative_result
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1
- variant id
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1
- family id
documented_like_four_cycle
- parameters
- lookback months
Not recorded in this iteration.
- low
37
- high
74
- lag bars
1
- overlay
cash
- created by
research_implementation
- reason tested
Closest executable proxy to the article’s four-cycle composite under primary causal lag.
- status
exploratory
- claim kind
inferred
- tags
data_limited
fidelity_mismatch
interesting_negative_result
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2
- variant id
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2
- family id
lag_and_overlay
- parameters
- lookback months
Not recorded in this iteration.
- low
35
- high
75
- lag bars
2
- overlay
unlevered
- created by
research_implementation
- reason tested
Nearby threshold and conservative-lag/unlevered sensitivity.
- status
exploratory
- claim kind
inferred
- tags
data_limited
fidelity_mismatch
parameter_sensitive
recessionalert-sp500-seasonal-short_cycle-lb12-lag1
- variant id
recessionalert-sp500-seasonal-short_cycle-lb12-lag1
- family id
short_cycle
- parameters
- lookback months
12
- low
40
- high
70
- lag bars
1
- overlay
short
- created by
research_implementation
- reason tested
Nearby short-cycle and source-permitted short interpretation; retained despite weak result.
- status
exploratory
- claim kind
inferred
- tags
data_limited
fidelity_mismatch
interesting_negative_result
parameter_sensitive
Statistical analysis
Open analysis reportExplore candidate comparisons, uncertainty estimates and portfolio diagnostics for iteration 1.
Unavailable analyses are listed with their reasons. Exploratory comparisons do not establish confirmatory evidence.
| Analysis | Status | Limitation |
|---|---|---|
| events | ok | |
| family | not estimable | |
| performance | ok | |
| portfolio | ok | |
| scenarios | not estimable | provide recorded engine reruns for cost, lag, financing, margin or family-removal scenarios |
| uncertainty | ok | |
| walk forward | ok |
Download analysis evidence
- manifest.json
- metrics.csv
- quantstats-recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1.html
- quantstats-recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1.html
- quantstats-recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2.html
- quantstats-recessionalert-sp500-seasonal-short_cycle-lb12-lag1.html
- returns.csv
- summary.json
Interactive lab
8428 observationsLoading available evidence…
Research record
Source claims, inferred rules, experiments and the evidence behind the assessment.
Source
- title
Analyzing SP-500 Seasonal Trends | RecessionAlert
- sha256
sha256:7e34ccc16114249e7652c0bf1080f6df0f14b49e48d1009f05f9b8a33fb369cd
- fetched at
2026-08-22T23:47:00Z
- article date
2019-12-27
- native span
Article claims SP500 monthly closing prices since 1957 with annual/bi-annual/tri-annual/quadrennial samples 63/32/21/15; no source-linked numeric target series is pinned.
- publication lag
Unknown; article date-to-snapshot interval is archival delay, not native indicator release lag.
- public boundary
Summaries, source hash, provenance, derived proxy signals/equity/metrics only; no cached HTML/media/workbook bytes, credentials, cookies, nonce URLs, private data, or unverified native series.
What the source claims
The article analyzes annual, bi-annual, tri-annual, and quadrennial/presidential-election cycles of SP500 monthly closing prices since 1957; sample sets are 63, 32, 21, and 15.
Each month/cycle phase uses average percentage gain, percentage of positive months, and total gains in positive months divided by total losses in negative months.
The source ranks 120 readings using (121-rank)/120, averages the three characteristic scores, and combines four cycle scores into one composite ranking signal.
The source says short below 37, long from 37 through 74, and 2x leverage above 74; shorts may be replaced with cash and leverage omitted.
The source describes scores above 80% or below 20% as rare/high-statistical-significance events for risk management.
The checked-in page has no source-linked monthly observations, canonical signal scale, phase table, or target series; the adjacent generic STM workbook is not unambiguously attributable.
This campaign uses checked-in Yahoo ^GSPC as a long-history SP500 price proxy and actual SPY for the requested overlay, with prior-only scores and one available-bar causal lag; every result is inferred/proxy.
A cash/short/unlevered overlay and lag 0/1/2 sensitivities make the article’s optional cash/no-leverage text testable without presenting an official execution rule.
Rules actually disclosed
The page discusses annual, bi-annual, tri-annual, and quadrennial monthly SP500 cycles; mean return, hit rate, and gain/loss ratio are ranked and combined.
Its displayed action bands are short below 37, long from 37 through 74, and 2x above 74, with optional cash/no-leverage alternatives.
What had to be inferred
The source-linked monthly observations, signal scale, phase initialization, publication clock, target instrument, lag, holding period, costs, exits, and re-entry are missing.
We therefore use ^GSPC monthly price returns, a prior-only 0–100 score, actual SPY overlays, one-bar causal lag, and explicit cash/short/unlevered sensitivities.
Research questions
What can be learned from the SHA-verified RecessionAlert seasonal-trends article using transparent public SPX/SPY proxies, longest defensible history, and causal execution when native observations, scale, publication lag, and portfolio semantics are incomplete?
Data
- canonical source
research/artifacts/recessionalert/manifest.json + research/findings/recessionalert_inventory.md + read-only data/recessionalert.sqlite
- canonical sha256
sha256:7e34ccc16114249e7652c0bf1080f6df0f14b49e48d1009f05f9b8a33fb369cd
- canonical native span
Claimed SP500 monthly closing prices since 1957; no source-linked target observations
- canonical publication lag
Unknown; no recurring release clock/cutoff/timezone/vintage disclosed
- proxy inputs
Yahoo ^GSPC and SPY snapshots represented by checked-in data/market.sqlite; read-only mode
- proxy spans
^GSPC 1927-12-30/2026-07-24; SPY 1993-01-29/2026-07-24
- execution
Prior-only monthly score, month-end state, one available-bar lag primary; lag 0 research-only and lag 2 sensitivity
- native fidelity
False
- redistribution
Derived normalized prices, inferred score/weight/equity arrays, metrics, hashes, and summaries only; raw cache/source bytes, workbook values, credentials, cookies, and private data excluded.
Baseline implementation
- variant id
recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1
- family id
expanding_month
- parameters
- lookback months
Not recorded in this iteration.
- low
37
- high
74
- lag bars
1
- overlay
cash
- created by
research_implementation
- reason tested
Transparent best-guess month-of-year reconstruction using longest ^GSPC history and source-like bands.
- status
exploratory
- claim kind
inferred
- metrics
- cagr
0.06868533289420387
- sharpe
0.4337158714439403
- max drawdown
-0.7003463359966279
- tags
data_limited
fidelity_mismatch
interesting_negative_result
What to try interactively
- name
threshold
- values
20
35
37
40
50
70
74
75
80
- default
37
- description
Browser threshold control on a 0-100 inferred proxy score; 37/74 are source-like labels, not recovered native scale.
- name
holding_period
- values
1
5
20
60
- default
20
- description
Exploratory browser holding-period control; the article does not disclose a holding period.
- name
execution_lag
- values
0
1
2
- default
1
- description
Lag 1 is primary causal; lag 0 is research-only/lookahead; lag 2 is conservative sensitivity.
- name
variant
- values
recessionalert-sp500-seasonal-expanding_month-lbexpanding-lag1
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag2
recessionalert-sp500-seasonal-short_cycle-lb12-lag1
- default
recessionalert-sp500-seasonal-four_cycle-lbexpanding-lag1
- description
Choose an inferred/proxy family; no setting is claimed as an official RecessionAlert value.
Suggested next research
Can a separately authorized refresh provide redistributable source-linked monthly observations and exact phase labels for this page?
What scale conversion, tie/rounding/clipping, publication cutoff, and vintage policy maps source fractional scores to 37/74?
What target instrument, holding/rebalance/cost/slippage/exit mechanics, and short/cash semantics did the author intend?
Would source-backed observations alter the proxy ranking under the predeclared lag/threshold/return-convention grid?
Should the four-cycle lag-1 proxy remain an Other/Research overlay only, never a native registry signal?
Trial ledger
- iteration number
1
- objective
Map the SHA-verified article, run longest-history public proxy variants, and publish derived signal/equity evidence without native admission.
- status
published
What the signal looks like
The interactive chart shows four inferred score series against the source-like 37 and 74 bands, plus their derived SPY equity curves. Warmup gaps are unavailable rather than imputed.
Historical events
Across 1,147 scored months, the expanding-month, four-cycle, and short-cycle variants produced 220/220, 141/126, and 169/139 months below 20/above 80 respectively; these are proxy event counts.
State-space exploration
Four variants were actually executed on the longest checked-in driver history and retained, including weak and negative results. The public trial ledger contains the exact parameters and metrics.
Parameter sensitivity
Nearby choices cover expanding versus 12-observation phase lookbacks, source-like 37/74 versus 35/75 and 40/70, and lag 0/1/2.
What worked
The primitive is deterministic, prior-only, read-only, and fast enough to run on 1,184 driver months. The 2023–2026 subperiod was positive for all tested variants.
What did not work
No full-window proxy beat actual SPY on CAGR. The short-cycle short overlay had the weakest Sharpe and deepest drawdown; combining the two primary scores did not rescue performance.
Why the failures appear to happen
The source scale and release semantics are unknown, the price-only proxy omits dividends, and calendar effects vary by regime. These explanations are hypotheses, not recovered source facts.
Regime behavior
The proxies lag SPY in 1993–2012, approach it in 2013–2022, and exceed its CAGR in 2023–2026. That heterogeneity argues against promotion.
Timing and cost sensitivity
For the four-cycle cash proxy, lag 0/1/2 ended at 9.21x/9.62x/7.52x. Lag 0 is lookahead-only, lag 1 is primary causal, and no transaction costs were applied.
Combinations
The expanding and four-cycle scores correlate 0.904 and agree on action state 75.0% of common months; their equal-score cash combination ends at 8.20x and still trails SPY.
Agent assessment
Publish this as Other / Research exploratory evidence. Do not register the native RecessionAlert indicator: source fidelity remains incomplete and the proxy result is negative.
Next questions
Can a separately authorized refresh provide redistributable source-linked monthly observations and exact phase labels for this page?
What scale conversion, tie/rounding/clipping, publication cutoff, and vintage policy maps source fractional scores to 37/74?
What target instrument, holding/rebalance/cost/slippage/exit mechanics, and short/cash semantics did the author intend?
Would source-backed observations alter the proxy ranking under the predeclared lag/threshold/return-convention grid?
Should the four-cycle lag-1 proxy remain an Other/Research overlay only, never a native registry signal?
Review status
published. Research publication does not imply official admission.
Return to pending research