Objective
Replicate the RecessionAlert SP-500 Probability Model (SPM) V1.0 from the captured offline snapshot. The model attempts to measure implied unconditional probabilities that an S&P 500 market correction is over using six loosely-correlated correction metrics.
Source and provenance
- Page:
https://recessionalert.com/spm-v1-0/ - SHA256:
sha256:e9e03547e3d31dda6df9e157dcf47861e2d483aa1152410b02afb6f5ec389e90 - Published: August 28, 2019
- Assets captured: 0 (no downloadable spreadsheets for this page)
- Parent issue: #911 (RecessionAlert site crawl)
Disclosed semantics
The SPM V1.0 model examines six characteristics of S&P 500 corrections since 1995:
| Factor | Tag | Description | Proprietary? |
|---|---|---|---|
| Drawdown | DDN | % decline from 25-session closing high | No |
| Duration | DUR | Trading days from 25-session high to lowest point | No |
| Bull Traps | FAIL | Count of failed rallies within correction | Partially (definition unclear) |
| Down Weeks | DWK | Consecutive Friday-to-Friday down weeks | No |
| VIX | VIX | De-trended CBOE VIX | Yes (de-trending algorithm proprietary) |
| DeMark++ | DEM++ | Modified DeMark BUY setup count | Yes (algorithm proprietary) |
Signal logic: For each factor, compute empirical CDF probability that correction is over. Diffusion = count of factors with P ≥ 90%. Buy signal when diffusion ≥ threshold (2 above 200-day MA, 4 below).
Native and effective spans
- Correction catalog: 1995–present (documented: 549 corrections; our proxy: 379)
- Real-time probabilities: 2005–present (requires 10 years of history)
- Data inputs: S&P 500 daily closes (^GSPC, 1995-01-03 to 2026-07-24), CBOE VIX (^VIX, 1990-01-02 to 2026-08-04)
Timing and cadence
- Update frequency: Daily
- Latency: Same-day (uses closing prices)
- Diffusion data: Updated weekly in PRO Weekly Data File (not captured)
Proxy mapping
| Proprietary Component | Proxy Used | Variants Tested |
|---|---|---|
| VIX de-trending (DVIX) | Ratio to N-day SMA; percentile rank over 252 days | ratio_50d, ratio_100d, pctrank_252d |
| DEM++ | TD Sequential BUY setup count | Standard (close < close[4] ago) |
Approach and results
Twenty-four labeled variants tested across 3 VIX de-trending methods × 4 diffusion thresholds × 2 regime filter options using the TD Sequential DEM++ proxy. All variants use lag_bars ≥ 0 (same-day signal, next-day execution implied).
Key results
| VIX Detrend | Threshold | Regime | Signals | Fwd 63d Mean | Fwd 63d WR |
|---|---|---|---|---|---|
| pctrank_252d | 3 | Yes | 188 | 5.64% | 76.6% |
| ratio_100d | 3 | Yes | 289 | 5.06% | 74.0% |
| ratio_50d | 3 | Yes | 263 | 5.14% | 73.8% |
| ratio_50d | 2 | Yes | 699 | 3.97% | 75.0% |
| ratio_50d | 4 | Yes | 179 | 5.54% | 69.8% |
| ratio_50d | 1 | No | 5423 | 2.47% | 71.3% |
Event detection
| Event | Diffusion | P_DDN | P_VIX | Notes |
|---|---|---|---|---|
| GFC 2009-03-09 | 5 | 0.980 | 0.265 | VIX probability low due to extreme regime |
| Euro 2011-10-03 | 3 | 0.927 | 0.958 | Solid detection |
| Volmageddon 2018-12-24 | 5 | 0.959 | 0.981 | Strong signal |
| COVID 2020-03-23 | 4 | 0.996 | 1.000 | Strong signal |
Revision limitations
- Probabilities may fluctuate as historical correction catalog grows with new data
- Source page states "numbers are never revised" but this applies only to past observations with the then-current catalog
- Our proxy correction count (379) differs from source (549) — edge cases in 25-session high rollover
No-go dispositions
- DEM++ native replication: NO-GO. Algorithm is explicitly proprietary; TD Sequential proxy captures directional behavior but cannot match exact counts.
- VIX de-trending native replication: NO-GO. De-trending algorithm is proprietary; ratio-to-SMA and percentile-rank proxies are approximate.
- Exact correction catalog parity: NO-GO. 379 vs 549 corrections suggests different boundary detection rules.
- Bull trap (FAIL) factor: PARTIAL. Definition is partially disclosed; our proxy shows limited variation.
Disposition
exploratory_tested_proxy — Other/Research publication. The SPM V1.0 concept produces genuinely useful correction-bottom signals across all tested proxy variants (positive returns, 70%+ win rates, fires at major troughs). However, two of six components are proprietary, preventing native-fidelity replication. Best proxy variant (pctrank_252d, diffusion≥3, regime=True) is a candidate for further development if higher-fidelity DEM++ and VIX de-trending proxies become available.
Artifacts
research/research_campaign/recessionalert_1575.py— implementation moduleresearch/experiments/1575.ipynb— experiment notebookresearch/findings/campaigns/1575_trial_ledger.json— 24 trial results