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

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 evidence

Exploratory results. Check each period, proxy and cost assumption before comparing. — means not recorded.

Expression / familyCAGRSharpeMax drawdownTest periodAssessment
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 report

Explore candidate comparisons, uncertainty estimates and portfolio diagnostics for iteration 1.

Unavailable analyses are listed with their reasons. Exploratory comparisons do not establish confirmatory evidence.

AnalysisStatusLimitation
eventsok
familynot estimable
performanceok
portfoliook
scenariosnot estimableprovide recorded engine reruns for cost, lag, financing, margin or family-removal scenarios
uncertaintyok
walk forwardok
Download analysis evidence

Interactive lab

8428 observations

Loading available evidence…

Research record

Source claims, inferred rules, experiments and the evidence behind the assessment.

Source
title

Analyzing SP-500 Seasonal Trends | RecessionAlert

redacted url
https://recessionalert.com/analyzing-sp500-seasonal-trends/
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

Review status

published. Research publication does not imply official admission.

Return to pending research