Objective
Independently replicate the distinct inventory row CHARTS > Standard | RecessionAlert from the checked-in data/recessionalert.sqlite snapshot without live-site requests, credentials, private account data, or canonical crawl-database mutation. Because the source omits component observations and a complete executable state, the campaign tests labeled public proxies rather than claiming source parity.
Source and provenance
The selected page https://recessionalert.com/charts/ is bound to the inventory and manifest SHA256 sha256:c610205a996e580266e255a7b7999bc33e889b12bed140898f0056c3bacdae75, fetched at 2026-08-22T23:38:30Z, HTTP 200, text/html; charset=UTF-8, 123,739 bytes. The read-only RecessionAlert snapshot has zero target-page asset rows; its five same-URL crawl-log rows are page snapshots, not an economic-data vintage policy.
Public proxies were loaded from data/market.sqlite in read-only mode: Yahoo-derived SPY, ^VIX, and IEF, plus FRED-derived BAA10Y and WALCL, as identified by the cache metadata. The proxy panel is month-end aligned without pre-inception backfill. SPY-only families reach 1993; the SPY/IEF/VIX/BAA10Y/WALCL common panel begins in December 2002. Vendor revision and release-timestamp limitations remain explicit.
Disclosed rule, native span, and publication lag
The source describes SP500 TROUGH and TOP six-factor historical probability families. It names VIX, directional-week counts, modified DeMark setup counts, drawdown/rally extent and duration, support failures, and new highs. A 90% factor probability is an extreme; trough/top Diffusion >=2 or average top-three probability >=90% is described as high-confidence buy-on-dip or market-peak context.
It also describes TRENDEX/Combo probability lines and orange +/-80 extremes; MCOS/VMCOS/VMCSI/STL smoothing and seven-condition Diffusion with >=4 bullish and below 4 bearish; HILO/HILO2 zero-crossing BUY/SELL/PENDING dashboard interpretations; ALIX as an average of four liquidity indices with below-zero risk context; and NEWHI net-new-high and XOVR rules with values below 3 bearish, above 3 bullish, and data back to August 2016.
The page states daily chart publication at 08:00 GMT/04:00 EST, weekly charts mostly Saturday/Sunday and no later Monday at those times, monthly charts by the third working day, intraday NEWHI/GTR/SPD/ZWG automation every 15 minutes, and ALIX end-of-day. These are source-described chart windows, not complete release timestamps, vintage policy, calculation cutoffs, daylight-saving/holiday handling, or late-input semantics. Exact native spans are unknown beyond the multi-decade trough/top claim and NEWHI's August 2016 statement.
Best-effort proxy approach
The source is a multi-tab family and does not provide source-linked numerical series, constituent histories, listed-share denominators, complete proprietary formulas, canonical state precedence, target, sizing, holding, exits, re-entry, costs, or cash behavior. The campaign therefore labels all inferred choices as exploratory:
- Percentile extremes: combine SPY drawdown/up-run and
^VIXrolling ranks as a trough/top analogue. - HILO trend: use SPY intermediate-minus-long return behavior smoothed as an index-level high/low participation analogue.
- Stress/liquidity: combine standardized
^VIX,BAA10Y, and inverseWALCLchange as an MCOS/ALIX analogue. - Combined overlay: majority-vote inferred components and map them descriptively to SPY versus IEF; this is a speculative extension, not a source allocation rule.
Causal candidates lag the available observation by one or two periods and execute on the next available trading bar. The lag-zero candidate is retained only as an explicitly non-causal control. Missing inputs remain unavailable rather than false or neutral.
Tested variants and metrics
All figures are gross descriptive metrics from the campaign-owned derived lab series; they are not RecessionAlert values, official performance, or investment advice.
| Variant | Kind | Lag | Lookback | Threshold | Observations | CAGR | Max drawdown | Sharpe |
|---|---|---|---|---|---|---|---|---|
standard-percentile-lag0-lb6-t85 | lookahead control | 0 | 6 | 0.85 | 119 | -19.03% | -87.76% | -1.709 |
standard-percentile-lag1-lb12-t90 | inferred best guess | 1 | 12 | 0.90 | 85 | 8.59% | -30.00% | 0.580 |
standard-percentile-lag2-lb21-t95 | inferred nearby | 2 | 21 | 0.95 | 61 | 8.92% | -13.76% | 0.630 |
standard-hilo-lag1-lb12-t0 | inferred family | 1 | 12 | 0.00 | 288 | 4.22% | -36.39% | 0.487 |
standard-stress-lag1-lb12-t0 | inferred family | 1 | 12 | 0.00 | 271 | 10.86% | -20.63% | 1.177 |
standard-combined-lag1-lb12-t90 | speculative extension | 1 | 12 | 0.90 | 279 | 7.94% | -18.65% | 1.036 |
The highest descriptive causal Sharpe is the stress analogue, while the conservative percentile variant has the lowest raw drawdown but sparse exposure. The five causal results are heterogeneous and depend on proxy construction, warm-up, defensive occupancy, and effective span. Buy-and-hold SPY over its available 1993–2026 history returned 10.76% CAGR as a descriptive benchmark, not a matched-window test.
Diagnostics and causal boundary
The campaign diagnostics record timing sensitivity, four regime slices (pre-GFC, GFC, COVID, and recent), 67 best-guess state transitions, 1/3/6-month event returns, majority versus any-trigger combinations, unknown rows, and source-fidelity failure modes. The lag-zero control's severe negative result is a warning that same-period execution must not support causal claims.
No tested proxy establishes exact MCOS, HILO, ALIX, NEWHI, TRENDEX, trough/top probability, or Dashboard values. Yahoo/FRED observations are not first-release RecessionAlert vintages. No result supports official indicator registration or a source-native portfolio claim. The safe publication destination is Other / Research; reconsider Other / Indicators only after an authorized refresh supplies source-linked observations and complete executable semantics.
Artifacts and reproducibility
- Campaign module:
research/research_campaign/recessionalert_1365.py - Focused offline evidence:
tests/test_recessionalert_1365.py - Campaign manifest and public-safe derived lab:
research/campaigns/recessionalert-standard-charts-1365/campaign.jsonandlab-series.json - Trial ledger:
research/campaigns/recessionalert-standard-charts-1365/state-space.json - Diagnostics:
research/campaigns/recessionalert-standard-charts-1365/diagnostics.json - Synthesis:
research/campaigns/recessionalert-standard-charts-1365/synthesis.json - Executed notebook:
research/experiments/1365.ipynb; offline HTML analysis:docs/experiments/1365-analysis.html - Public Research Library page and payload:
docs/research/recessionalert-standard-charts-1365.htmlanddocs/site-data/research/recessionalert-standard-charts-1365.json
The canonical commands are python3 -m research.research_campaign validate --campaign recessionalert-standard-charts-1365, python3 -m research.reports research-library --out docs, and python3 -m research.reports notebooks --id 1365. The focused test command is python3 -m pytest -q tests/test_recessionalert_1365.py.
Limitations
The full source-bound finding remains in research/findings/1365.md. The source lacks source-linked numeric observations, exact component spans, proprietary transformations/calibration, first-release revisions, state precedence/persistence/hysteresis, target/sizing/holding/fill/cost/cash behavior, and complete exit/re-entry semantics. Public artifacts contain only hashes, redacted source location, source-described summaries, derived proxy values/metrics, and limitations; cached HTML, images, chart/workbook bytes, authenticated URLs, cookies, credentials, and private account data are not redistributed.