Research campaign · Iteration 1 · unassessed
MODELS: A leading indicator for U.S stocks | RecessionAlert — exploratory proxy campaign
What can be learned from the SHA-verified RecessionAlert leading-stock article using transparent public proxies when its observations, thresholds, release clock, and market rule are incomplete?
- Expressions
- 8
- Logged trials
- Not recorded
- Independent events
- Not assessed
- Evidence
- unassessed
What the research found
The checked-in article discloses two international breadth ideas, source-reported 7- and 10-month leads, a 0.57 R-squared claim, and qualitative dip-buying context, but no source-linked observations or complete state rule.
INDPRO and UNRATE are transparent public aggregate proxies selected for history and reproducibility; they do not recover the source's 39-country/39-central-bank identity.
Eight labeled variants ran over the primary 1993-01 through 2026-06 SPY-aligned window; 8 variants preserve underperformance outcomes in the ledger.
The causal baseline uses one available monthly bar of execution lag; lag zero remains a timing diagnostic only, and warm-up/missing inputs remain unavailable.
No inferred variant is promoted or registered as an official RecessionAlert indicator; this is Other / Research evidence.
Mechanism and falsifiers
Not recorded in this iteration.
Not recorded in this iteration.
Confidence and limitations
Source-linked observations and native historical span for both 39-entity breadth measures.
Exact OECD-country and central-bank memberships, identifiers, units, and denominator implementation.
Exact net-percentage transformations and direction conventions.
Aggregate formula, component weights, score range, normalization, and missing-input behavior.
Numeric thresholds, state transitions, persistence, confirmation, and smoothing.
Recurring cadence, release calendar, publication clock, timezone, and vintage/revision policy.
Buy/sell/hold mapping, target instrument, universe, sizing, rebalance, costs, exits, and re-entry.
Source-linked NYSE outcome history and independent validation window for the claimed leads and R-squared.
Canonical StocksLEI.gif payload or redistributable machine-readable chart series.
A proxy preserves the distinct page identity; all tested rules below are inferred and not native fidelity.
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.1341.indpro_health.lb6.lag0.t0p0indpro health | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.indpro_health.lb6.lag1.t0p0indpro health | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.indpro_health.lb12.lag1.t0p0indpro health | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.indpro_health.lb21.lag2.t0p0indpro health | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.unrate_regime.lb6.lag0.t0p0unrate regime | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.unrate_regime.lb6.lag1.t0p0unrate regime | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.unrate_regime.lb12.lag1.t0p0unrate regime | — | — | — | Not recorded |
exploratory |
| recessionalert.1341.unrate_regime.lb21.lag2.t0p0unrate regime | — | — | — | Not recorded |
exploratory |
Open an expression to inspect its rules and request confirmation. The request must be submitted by a trusted repository collaborator.
recessionalert.1341.indpro_health.lb6.lag0.t0p0
- available signal observations
1285
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
same_close_research_only
- exploratory
True
- family
indpro_health
- family description
INDPRO below trailing mean as an inferred activity-breadth substitute
- hold months
1
- id
recessionalert.1341.indpro_health.lb6.lag0.t0p0
- input names
INDPRO
- lag bars
0
- lookback
6
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
91
- risk off fraction
0.3027237354085603
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
research_only_sensitivity
- signal span
1919-06/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.indpro_health.lb6.lag0.t0p0
- threshold
0.0
- unavailable signal observations
5
recessionalert.1341.indpro_health.lb6.lag1.t0p0
- available signal observations
1285
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
causal_one_available_bar
- exploratory
True
- family
indpro_health
- family description
INDPRO below trailing mean as an inferred activity-breadth substitute
- hold months
1
- id
recessionalert.1341.indpro_health.lb6.lag1.t0p0
- input names
INDPRO
- lag bars
1
- lookback
6
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
91
- risk off fraction
0.3027237354085603
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
not_used
- signal span
1919-06/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.indpro_health.lb6.lag1.t0p0
- threshold
0.0
- unavailable signal observations
5
recessionalert.1341.indpro_health.lb12.lag1.t0p0
- available signal observations
1279
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
causal_one_available_bar
- exploratory
True
- family
indpro_health
- family description
INDPRO below trailing mean as an inferred activity-breadth substitute
- hold months
1
- id
recessionalert.1341.indpro_health.lb12.lag1.t0p0
- input names
INDPRO
- lag bars
1
- lookback
12
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
48
- risk off fraction
0.2720875684128225
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
not_used
- signal span
1919-12/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.indpro_health.lb12.lag1.t0p0
- threshold
0.0
- unavailable signal observations
11
recessionalert.1341.indpro_health.lb21.lag2.t0p0
- available signal observations
1270
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
causal_one_available_bar
- exploratory
True
- family
indpro_health
- family description
INDPRO below trailing mean as an inferred activity-breadth substitute
- hold months
1
- id
recessionalert.1341.indpro_health.lb21.lag2.t0p0
- input names
INDPRO
- lag bars
2
- lookback
21
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
33
- risk off fraction
0.262992125984252
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
not_used
- signal span
1920-09/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.indpro_health.lb21.lag2.t0p0
- threshold
0.0
- unavailable signal observations
20
recessionalert.1341.unrate_regime.lb6.lag0.t0p0
- available signal observations
935
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
same_close_research_only
- exploratory
True
- family
unrate_regime
- family description
UNRATE rate of change above threshold as an inferred easing-reversal substitute
- hold months
1
- id
recessionalert.1341.unrate_regime.lb6.lag0.t0p0
- input names
UNRATE
- lag bars
0
- lookback
6
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
57
- risk off fraction
0.3497326203208556
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
research_only_sensitivity
- signal span
1948-07/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.unrate_regime.lb6.lag0.t0p0
- threshold
0.0
- unavailable signal observations
6
recessionalert.1341.unrate_regime.lb6.lag1.t0p0
- available signal observations
935
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
causal_one_available_bar
- exploratory
True
- family
unrate_regime
- family description
UNRATE rate of change above threshold as an inferred easing-reversal substitute
- hold months
1
- id
recessionalert.1341.unrate_regime.lb6.lag1.t0p0
- input names
UNRATE
- lag bars
1
- lookback
6
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
58
- risk off fraction
0.3497326203208556
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
not_used
- signal span
1948-07/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.unrate_regime.lb6.lag1.t0p0
- threshold
0.0
- unavailable signal observations
6
recessionalert.1341.unrate_regime.lb12.lag1.t0p0
- available signal observations
929
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
causal_one_available_bar
- exploratory
True
- family
unrate_regime
- family description
UNRATE rate of change above threshold as an inferred easing-reversal substitute
- hold months
1
- id
recessionalert.1341.unrate_regime.lb12.lag1.t0p0
- input names
UNRATE
- lag bars
1
- lookback
12
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
30
- risk off fraction
0.348762109795479
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
not_used
- signal span
1949-01/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.unrate_regime.lb12.lag1.t0p0
- threshold
0.0
- unavailable signal observations
12
recessionalert.1341.unrate_regime.lb21.lag2.t0p0
- available signal observations
920
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
causal_one_available_bar
- exploratory
True
- family
unrate_regime
- family description
UNRATE rate of change above threshold as an inferred easing-reversal substitute
- hold months
1
- id
recessionalert.1341.unrate_regime.lb21.lag2.t0p0
- input names
UNRATE
- lag bars
2
- lookback
21
- market inputs
SPY
IEF
BIL
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
16
- risk off fraction
0.3673913043478261
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
not_used
- signal span
1949-10/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.unrate_regime.lb21.lag2.t0p0
- threshold
0.0
- unavailable signal observations
21
Interactive lab
Interactive history unavailableLoading available evidence…
Research record
Source claims, inferred rules, experiments and the evidence behind the assessment.
Source
- article timestamp
2024-05-01T15:35:21-0400
- database
data/recessionalert.sqlite opened read-only
- fetched at
2026-08-22T23:48:28Z
- inventory
research/findings/recessionalert_inventory.md row 10
- manifest
research/artifacts/recessionalert/manifest.json
- native span
single dated May 1, 2024 HTML article snapshot; no source-linked history for either breadth component or the aggregate
- publication lag
unknown; monthly report/chart references disclose no recurring release clock, timezone, point-in-time availability, or vintage/revision policy
- sha256
sha256:e5a324ca2890226d7f62553757130605a5335c6b98bd88e4a67d22b2ca76ea01
What the source claims
The article names the net percentage of 39 OECD countries with rising leading economic indices as a medium-term leading indicator for U.S. stocks; observations and exact transformation are absent.
The article names the net percentage of 39 central banks easing rates as a medium-term leading indicator; membership and easing classification are absent.
The article reports 7- and 10-month maximum leads to NYSE annual percentage change and a 0.57 aggregate R-squared; source observations and validation window are absent.
The article says dips are a buying opportunity but defines no executable buy, sell, hold, exit, or re-entry state.
This campaign tests INDPRO and UNRATE aggregate public proxies with explicit lookback, threshold, and execution-lag neighbors; these are not native source fidelity.
SPY risk-on with IEF or BIL risk-off sleeves are descriptive inferred overlays only because no target or allocation rule is disclosed.
Rules actually disclosed
Two net international breadth concepts, source-reported leads and R-squared, and qualitative buy-the-dip context; no executable state machine.
What had to be inferred
INDPRO/UNRATE aggregate proxies, lookbacks, thresholds, one-bar execution convention, and SPY/IEF/BIL overlays.
Research questions
What can be learned from the SHA-verified RecessionAlert leading-stock article using transparent public proxies when its observations, thresholds, release clock, and market rule are incomplete?
Data
- canonical native span
single dated May 1, 2024 HTML article snapshot; no source-linked history for either breadth component or the aggregate
- canonical publication lag
unknown; monthly report/chart references disclose no recurring release clock, timezone, point-in-time availability, or vintage/revision policy
- canonical sha256
sha256:e5a324ca2890226d7f62553757130605a5335c6b98bd88e4a67d22b2ca76ea01
- canonical source
research/artifacts/recessionalert/manifest.json + research/findings/recessionalert_inventory.md + read-only data/recessionalert.sqlite
- database policy
All reads use SQLite mode=ro; no canonical crawl or market cache mutation.
- primary common window
1993-01 through 2026-06 after monthly alignment
- proxy inputs
FRED INDPRO/UNRATE and Yahoo SPY/IEF/BIL snapshots represented by checked-in data/market.sqlite
- redistribution
Publish derived metrics, proxy labels, source hashes, gap notes, and charts only; no raw page/media, credentials, cookies, or private account data.
Baseline implementation
- available signal observations
1285
- claim kind
inferred
- execution
one available monthly bar lag is the causal baseline; lag 0 is research-only lookahead sensitivity
- execution status
same_close_research_only
- exploratory
True
- family
indpro_health
- family description
INDPRO below trailing mean as an inferred activity-breadth substitute
- hold months
1
- id
recessionalert.1341.indpro_health.lb6.lag0.t0p0
- input names
INDPRO
- lag bars
0
- lookback
6
- market inputs
SPY
IEF
BIL
- metrics
- SPY BIL
- annualized return
0.09297474022891805
- benchmark total return
5.9368716911788315
- end
2026-06-30
- max drawdown
-0.16221310705313907
- observations
229
- risk off fraction
0.37554585152838427
- sharpe
0.8544601344677404
- start
2007-06-30
- total return
4.455190068956827
- volatility
0.11163990440234395
- SPY IEF
- annualized return
0.09588816367698749
- benchmark total return
11.69295042059387
- end
2026-06-30
- max drawdown
-0.17612333323309304
- observations
287
- risk off fraction
0.3310104529616725
- sharpe
0.8545124270567294
- start
2002-08-31
- total return
7.934614480068149
- volatility
0.11528209476306092
- missingness
warm-up and unavailable states remain unavailable, never converted to risk-on
- publication lag
unknown
- risk off events
91
- risk off fraction
0.3027237354085603
- rule label
binary inferred risk-off overlay; no native buy/sell rule is claimed
- same close status
research_only_sensitivity
- signal span
1919-06/2026-06
- source identity
public macro proxy; not the undisclosed 39-entity source series
- spec id
recessionalert.1341.indpro_health.lb6.lag0.t0p0
- threshold
0.0
- unavailable signal observations
5
What to try interactively
- default
recessionalert.1341.indpro_health.lb6.lag1.t0p0
- description
Select an inferred public proxy variant; no setting is disclosed by RecessionAlert.
- name
variant
- values
recessionalert.1341.indpro_health.lb6.lag0.t0p0
recessionalert.1341.indpro_health.lb6.lag1.t0p0
recessionalert.1341.indpro_health.lb12.lag1.t0p0
recessionalert.1341.indpro_health.lb21.lag2.t0p0
recessionalert.1341.unrate_regime.lb6.lag0.t0p0
recessionalert.1341.unrate_regime.lb6.lag1.t0p0
recessionalert.1341.unrate_regime.lb12.lag1.t0p0
recessionalert.1341.unrate_regime.lb21.lag2.t0p0
- default
1
- description
Lag 1 is the causal baseline; lag 0 is research-only same-close sensitivity.
- name
execution_lag
- values
0
1
2
- default
IEF
- description
Descriptive inferred sleeve; the source discloses no target instrument.
- name
defensive_sleeve
- values
IEF
BIL
Suggested next research
Can an authorized redistributable StocksLEI chart or source-linked monthly panel be obtained?
What exact memberships, netting direction, denominator, aggregate weights, and missing-input behavior did the source use?
What recurring publication timestamps, vintages, revisions, and point-in-time cutoffs apply to every component?
Can the source-reported leads and 0.57 R-squared be recomputed against a defined NYSE target?
Does any complete buy/sell/hold/exit rule exist beyond the qualitative dip-buying sentence?
Trial ledger
- iteration
1
- status
published
- summary
Offline public-proxy campaign published while native source-fidelity gaps remain.
State-space exploration
8 labeled variants tested; negative outcomes preserved in state-space.json.
What did not work
Proxy variants are identity-mismatched and cannot validate the native RecessionAlert claims.
Next questions
Can an authorized redistributable StocksLEI chart or source-linked monthly panel be obtained?
What exact memberships, netting direction, denominator, aggregate weights, and missing-input behavior did the source use?
What recurring publication timestamps, vintages, revisions, and point-in-time cutoffs apply to every component?
Can the source-reported leads and 0.57 R-squared be recomputed against a defined NYSE target?
Does any complete buy/sell/hold/exit rule exist beyond the qualitative dip-buying sentence?
Review status
published. Research publication does not imply official admission.
Return to pending research