Research campaign · Iteration 1 · unassessed
The NBER co-incident Recession Model (confirmation of last resort) | RecessionAlert — exploratory proxy campaign
Can the disclosed NBER co-incident syndrome-vote / weighted-composite / Probit-threshold rules be turned into labeled public-proxy confirmation overlays when the Moore formula, deflator pins, and Probit coefficients are undisclosed?
- Expressions
- 18
- Logged trials
- Not recorded
- Independent events
- Not assessed
- Evidence
- unassessed
What the research found
Documented-intent syndrome vote (lag1) Sharpe 0.743, CAGR 0.091, DD -0.428, 14 events, risk-on 0.88 on 1992-01..2026-06; trails SPY buy-hold Sharpe 0.769/CAGR 0.108 but cuts DD from -0.508 to -0.428.
Weighted composite (lag1) Sharpe 0.866, CAGR 0.097, DD -0.356, 19 events; best documented-intent family, still confirmation-late by design.
Best causal neighbor be_lb6_tm05_lag1 Sharpe 0.900, CAGR 0.106, DD -0.377, 13 events; threshold relaxation beats the documented level without claiming native parity.
Probit stand-in reproduces the disclosed tradeoff: frequent (0.10-like) Sharpe 0.743 vs rare (0.40-like) 0.845 with higher selectivity.
Payroll UNRATE stand-in is degenerate (risk-on 0.01, Sharpe 0.187): a scale mismatch to the +0.89 threshold and an interesting negative result, not a tradable signal.
Mechanism and falsifiers
Not recorded in this iteration.
Not recorded in this iteration.
Confidence and limitations
No selected input is the native NBER co-incident observation; PAYEMS/W875RX1 are absent offline and all executable candidates are inferred public proxies.
No Moore smoothing formula, deflator pins, Probit coefficients, optimizer detail, or release clock is disclosed; SMA/annualized stand-ins only.
Article date is known but underlying data release clock, cutoff, vintage, and revision policy are unknown; lag 1 is campaign policy, not source disclosure.
SPY/IEF overlays begin at sleeve inception with no backfill. Close-only gross metrics omit costs, slippage, taxes, and intramonth execution.
Co-incident confirmation is late by design; high risk-on shares and regime decay are descriptive only and justify no fidelity or performance claims.
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 |
|---|---|---|---|---|---|
| syndrome_doc_lag1syndrome-vote-proxy | 9.1% | 0.74 | -42.8% | Not recorded |
exploratory |
| syndrome_doc_lag2syndrome-vote-proxy | 11.1% | 0.88 | -36.5% | Not recorded |
exploratory |
| syndrome_relaxed_lag1syndrome-vote-proxy | 8.5% | 0.74 | -36.4% | Not recorded |
exploratory |
| syndrome_strict_lag1syndrome-vote-proxy | 10.4% | 0.83 | -41.1% | Not recorded |
exploratory |
| syndrome_doc_lag0_controlsyndrome-vote-proxy | 11.5% | 0.93 | -34.2% | Not recorded |
exploratory |
| composite_doc_lag1weighted-composite-proxy | 9.7% | 0.87 | -35.6% | Not recorded |
exploratory |
| composite_doc_lag2weighted-composite-proxy | 10.3% | 0.89 | -34.9% | Not recorded |
exploratory |
| composite_t10_lag1weighted-composite-proxy | 5.7% | 0.73 | -12.7% | Not recorded |
exploratory |
| probitlike_frequent_lag1probit-standin-vote | 9.1% | 0.74 | -42.8% | Not recorded |
exploratory |
| probitlike_rare_lag1probit-standin-vote | 10.4% | 0.85 | -36.7% | Not recorded |
exploratory |
| probitlike_frequent_lag2probit-standin-vote | 11.1% | 0.88 | -36.5% | Not recorded |
exploratory |
| ip_only_lag1single-input-overlays | 10.6% | 0.84 | -43.6% | Not recorded |
exploratory |
| payroll_only_lag1single-input-overlays | 0.4% | 0.19 | -6.1% | Not recorded |
exploratory |
| retail_only_lag1single-input-overlays | 9.0% | 0.77 | -38.3% | Not recorded |
exploratory |
| be_lb6_t0_lag1best-effort-neighbor-grid | 8.7% | 0.79 | -32.3% | Not recorded |
exploratory |
| be_lb12_t0_lag1best-effort-neighbor-grid | 8.8% | 0.78 | -32.1% | Not recorded |
exploratory |
| be_lb6_tm05_lag1best-effort-neighbor-grid | 10.6% | 0.90 | -37.7% | Not recorded |
exploratory |
| be_lb12_t0_lag0_controlbest-effort-neighbor-grid | 9.5% | 0.84 | -30.5% | Not recorded |
exploratory |
Open an expression to inspect its rules and request confirmation. The request must be submitted by a trusted repository collaborator.
syndrome_doc_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
syndrome-vote-proxy
- id
syndrome_doc_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
syndrome_doc_lag2
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
syndrome-vote-proxy
- id
syndrome_doc_lag2
- lag bars
2
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
syndrome_relaxed_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
syndrome-vote-proxy
- id
syndrome_relaxed_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.5
syndrome_strict_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
syndrome-vote-proxy
- id
syndrome_strict_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
-0.5
syndrome_doc_lag0_control
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
syndrome-vote-proxy
- id
syndrome_doc_lag0_control
- lag bars
0
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
composite_doc_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
weighted-composite-proxy
- id
composite_doc_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
composite_doc_lag2
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
weighted-composite-proxy
- id
composite_doc_lag2
- lag bars
2
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
composite_t10_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
weighted-composite-proxy
- id
composite_t10_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
1.0
probitlike_frequent_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
probit-standin-vote
- id
probitlike_frequent_lag1
- lag bars
1
- mode
frequent
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
probitlike_rare_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
probit-standin-vote
- id
probitlike_rare_lag1
- lag bars
1
- mode
rare
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
probitlike_frequent_lag2
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
probit-standin-vote
- id
probitlike_frequent_lag2
- lag bars
2
- mode
frequent
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
ip_only_lag1
- claim kind
inferred
- driver
INDPRO
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
single-input-overlays
- id
ip_only_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
payroll_only_lag1
- claim kind
inferred
- driver
PAYEMS
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
single-input-overlays
- id
payroll_only_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
retail_only_lag1
- claim kind
inferred
- driver
RRSFS
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
single-input-overlays
- id
retail_only_lag1
- lag bars
1
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
be_lb6_t0_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
best-effort-neighbor-grid
- id
be_lb6_t0_lag1
- lag bars
1
- lookback
6
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
be_lb12_t0_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
best-effort-neighbor-grid
- id
be_lb12_t0_lag1
- lag bars
1
- lookback
12
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
be_lb6_tm05_lag1
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
best-effort-neighbor-grid
- id
be_lb6_tm05_lag1
- lag bars
1
- lookback
6
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
-0.5
be_lb12_t0_lag0_control
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
best-effort-neighbor-grid
- id
be_lb12_t0_lag0_control
- lag bars
0
- lookback
12
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
Interactive lab
Interactive history unavailableLoading available evidence…
Research record
Source claims, inferred rules, experiments and the evidence behind the assessment.
Source
- article date
2012-07-18
- fetched at
2026-08-22T23:39:30Z
- native span
1959-07 through 2012-07 optimization window (580 months scored); 7 optimization vintages from Dec 1968; 1st vs 6th vintage correlation 0.90.
- public boundary
Publish original summaries, source hashes, proxy provenance, inferred rules, aggregate metrics, and gaps only; omit cached HTML/media, credentials, cookies, nonce-bearing URLs, private data, and unverified native series.
- publication lag
Monthly co-incident, at least 1-month lagging by construction; NBER proclamations lag up to 12 months; model signals up to 8 months before NBER; subscriber charts updated monthly in a separate report; exact release clock undisclosed.
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- title
The NBER co-incident Recession Model – confirmation of last resort | RecessionAlert
What the source claims
The NBER examines 4 monthly co-incident indicators: Industrial Production; real personal income less transfers deflated by PCE; nonfarm payrolls; real retail sales deflated by CPI. Less weight to IP/retail as sectoral; GDP/GDI are broadest but quarterly via a separate GDPI Model.
This monthly NBER Model plus the quarterly GDPI Model cover all NBER inputs as a confirmation of last resort (at least 1-month lagging), not real-time forecasting; models signal up to 8 months before NBER proclamations.
IP uses a 6-month smoothed growth rate (Prof. Moore); income a 3-month smoothed growth; payrolls a 3-month smoothed growth less 0.415; retail sales a 12-month percent change not smoothed.
Syndrome triggers IP -1.77%, income -0.25%, payroll +0.89%, retail +0.44% (AUC/ROC optimized); each breach counts one vote; index = 2 - votes; below zero calls recession.
Weighted composite growth index: IP 17%, income 31%, payroll 30%, retail 12%, syndrome diffusion 10% (AUC/ROC optimized); below zero triggers a recession call.
Six-factor Probit over the 4 growths plus syndrome diffusion plus weighted composite; above 0.10 calls recession in a timely way (2 historical false alarms); above 0.40 never false-alarmed but sacrifices 1-2 months lead.
Seven optimization vintages from Dec 1968 perform comparably out of sample (1st vs 6th correlation 0.90); the most pessimistic vintage was not flagging recession at the article date.
The 4 series are taken from FRED St Louis monthly updated charts; no series IDs, vintages, or download hashes are pinned on this page.
The page supplies no Moore smoothing formula, PCE/CPI deflator pins, Probit coefficients, optimizer detail, release clock, or source-linked observation workbook; 12 chart GIFs are uncrawled with no asset SHA256.
This campaign tests INDPRO/CPIAUCSL/UNRATE/RRSFS monthly proxies with SMA growth stand-ins, UNRATE-inverse payroll and INDPRO-adjacent income stand-ins, and SPY/IEF overlays; all transforms and action semantics are inferred.
Rules actually disclosed
The NBER examines 4 monthly co-incident indicators: Industrial Production; real personal income less transfers deflated by PCE; nonfarm payrolls; real retail sales deflated by CPI. Less weight to IP/retail as sectoral; GDP/GDI are broadest but quarterly via a separate GDPI Model.
This monthly NBER Model plus the quarterly GDPI Model cover all NBER inputs as a confirmation of last resort (at least 1-month lagging), not real-time forecasting; models signal up to 8 months before NBER proclamations.
IP uses a 6-month smoothed growth rate (Prof. Moore); income a 3-month smoothed growth; payrolls a 3-month smoothed growth less 0.415; retail sales a 12-month percent change not smoothed.
Syndrome triggers IP -1.77%, income -0.25%, payroll +0.89%, retail +0.44% (AUC/ROC optimized); each breach counts one vote; index = 2 - votes; below zero calls recession.
Weighted composite growth index: IP 17%, income 31%, payroll 30%, retail 12%, syndrome diffusion 10% (AUC/ROC optimized); below zero triggers a recession call.
Six-factor Probit over the 4 growths plus syndrome diffusion plus weighted composite; above 0.10 calls recession in a timely way (2 historical false alarms); above 0.40 never false-alarmed but sacrifices 1-2 months lead.
Seven optimization vintages from Dec 1968 perform comparably out of sample (1st vs 6th correlation 0.90); the most pessimistic vintage was not flagging recession at the article date.
The 4 series are taken from FRED St Louis monthly updated charts; no series IDs, vintages, or download hashes are pinned on this page.
What had to be inferred
This campaign tests INDPRO/CPIAUCSL/UNRATE/RRSFS monthly proxies with SMA growth stand-ins, UNRATE-inverse payroll and INDPRO-adjacent income stand-ins, and SPY/IEF overlays; all transforms and action semantics are inferred.
Research questions
Can the disclosed NBER co-incident syndrome-vote / weighted-composite / Probit-threshold rules be turned into labeled public-proxy confirmation overlays when the Moore formula, deflator pins, and Probit coefficients are undisclosed?
Data
- canonical snapshot
data/recessionalert.sqlite
- common complete rows
415
- proxy database
data/market.sqlite
- proxy inputs
INDPRO
CPIAUCSL
UNRATE
RRSFS
SPY
IEF
BIL
- proxy spans
- BIL
2007-05 through 2026-07
- CPIAUCSL
1947-01 through 2026-06
- IEF
2002-07 through 2026-07
- INDPRO
1919-01 through 2026-06
- RRSFS
1992-01 through 2026-06
- SPY
1993-01 through 2026-07
- UNRATE
1948-01 through 2026-06
- redistribution
Publish derived arrays, hashes, metadata, inferred specs, and aggregate metrics only; do not copy target HTML/media or private data.
- revision policy
Use checked-in proxy revisions as stored; no real-time vintage archive is available. Latest-known month-end value is carried after inception; unknown source values remain unavailable.
- source fetched at
2026-08-22T23:39:30Z
- source inventory
research/findings/recessionalert_inventory.md
- source manifest
research/artifacts/recessionalert/manifest.json
- source sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
Baseline implementation
- claim kind
inferred
- execution
latest available monthly proxy value, then one or more available-bar lags; lag 0 sensitivity only
- exploratory
True
- family
syndrome-vote-proxy
- id
syndrome_doc_lag1
- lag bars
1
- metrics
- cagr
0.09105411174938238
- max drawdown
-0.4277536198650529
- observations
402
- risk off events
14
- risk on share
0.8768115942028986
- sharpe
0.7432491542934887
- volatility
0.12887687706515097
- native fidelity
False
- signal side
risk_on_when_index_at_or_above_zero
- source provenance
- fetched at
2026-08-22T23:39:30Z
- sha256
sha256:a0a711709c28e199e85e0a6d79b9cafc44aafeef39d4df6ec183e3bf5dc8a682
- threshold
0.0
What to try interactively
Compare syndrome_doc_lag1 against composite_doc_lag1 and probitlike_rare_lag1; vary lag 1/2 and strict/relaxed thresholds.
Suggested next research
- priority
high
- question
Would ALFRED-vintage PAYEMS/W875RX1 pins rescue the payroll/income stand-ins and change the NO-GO native disposition?
- priority
medium
- question
Does the disclosed Moore smoothing formula shift 6m/3m timing enough to beat the SMA stand-in frontier?
- priority
medium
- question
Should co-incident confirmation be paired with a leading trigger given its late-by-design nature?
Trial ledger
- iteration number
1
- objective
Execute labeled NBER co-incident proxy families and publish causal exploratory evidence while preserving source gaps.
- status
completed
Agent assessment
Useful as a documented confirmation overlay for research; not a forecasting edge and not promotable to Other/Indicators without native pins.
Combinations
Syndrome AND composite is more defensive (risk-on 0.75) than either alone; OR resembles syndrome alone; neither claims Probit parity.
Historical events
Risk-off months cluster around NBER recessions with at least one month of lag; the payroll stand-in barely fires and is reported as a negative result.
Parameter sensitivity
Lag 2 slightly beats lag 1; strict thresholds cut events without dominating Sharpe; lag-0 controls outperform causal lags as expected.
Regime behavior
Syndrome/composite Sharpe decay from 1992-2007 (0.85/1.00) to 2008-2026 (0.66/0.75); the best-effort neighbor holds up better (0.93/0.87).
State-space exploration
18 labeled variants across five families on 1992-01..2026-06 (402 overlay months); see 1589_trial_ledger.json.
Timing and cost sensitivity
Causal lag>=1 only; no costs modeled; confirmation arrives 1-2 months after ideal timing, mirroring the disclosed Probit tradeoff.
What did not work
The UNRATE-inverse payroll stand-in almost never exceeds +0.89; the over-defensive composite bar sits out too much upside.
What the signal looks like
Monthly syndrome votes on proxy growths fire sparse risk-off months (14 events for the documented baseline); composite and Probit-stand-in variants modulate persistence. Labeled inferred, not native NBER.
What worked
Composite weighting and the relaxed best-effort threshold cut drawdown versus buy-hold while keeping most upside.
Why the failures appear to happen
Scale mismatch between unemployment-change units and payroll-growth thresholds; co-incident confirmation lags turning points by construction.
Next questions
- priority
high
- question
Would ALFRED-vintage PAYEMS/W875RX1 pins rescue the payroll/income stand-ins and change the NO-GO native disposition?
- priority
medium
- question
Does the disclosed Moore smoothing formula shift 6m/3m timing enough to beat the SMA stand-in frontier?
- priority
medium
- question
Should co-incident confirmation be paired with a leading trigger given its late-by-design nature?
Review status
published. Research publication does not imply official admission.
Return to pending research