Research campaign · Iteration 1 · unassessed
A Recession Fear Indicator | RecessionAlert — exploratory proxy campaign
What can be learned from the SHA-verified RecessionAlert Google-search fear-gauge narrative using transparent public proxies when its series, thresholds, publication lag, and market rule are incomplete?
- Expressions
- 6
- Logged trials
- Not recorded
- Independent events
- Not assessed
- Evidence
- unassessed
What the research found
The source describes a Google recession-search fear gauge but provides no machine-readable observations, exact query, native span, or executable market rule.
UNRATE is the longest available public recession-relevant proxy in the tracked cache; SPY/IEF/BIL provide transparent descriptive sleeves, not source fidelity.
All six inferred variants ran successfully; their metrics and weak or negative outcomes remain in the state-space ledger.
A one-available-month lag is the causal baseline, with lag 0 retained only as a research-only timing sensitivity.
Mechanism and falsifiers
Not recorded in this iteration.
Not recorded in this iteration.
Confidence and limitations
No source-linked Google Trends observations, query configuration, native span, publication clock, vintage, or threshold are available.
UNRATE is an aggregate public proxy and cannot establish RecessionAlert source fidelity.
FRED revisions and Yahoo historical adjustments lack point-in-time vintages in the tracked cache.
SPY drawdown is related to the benchmark and is circular as an independent fear measure.
IEF and BIL are descriptive sleeves; source buy/sell, sizing, rebalance, exit, and re-entry rules are undisclosed.
The article-to-archive interval and two-week NBER phrase are not publication lags.
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.1345.unrate_regime.lb3.lag0.t0p0unrate regime | — | — | — | Not recorded |
inferred lookahead diagnostic |
| recessionalert.1345.unrate_regime.lb6.lag1.t0p0unrate regime | — | — | — | Not recorded |
inferred causal best guess |
| recessionalert.1345.unrate_regime.lb12.lag2.t0p5unrate regime | — | — | — | Not recorded |
inferred conservative sensitivity |
| recessionalert.1345.unrate_regime.lb6.lag1.t0p5unrate regime | — | — | — | Not recorded |
inferred threshold neighbor |
| recessionalert.1345.unrate_regime.lb12.lag1.t1p0unrate regime | — | — | — | Not recorded |
inferred higher-threshold sensitivity |
| recessionalert.1345.unrate_regime.lb21.lag1.tm0p5unrate regime | — | — | — | Not recorded |
inferred negative long-lookback variant |
Open an expression to inspect its rules and request confirmation. The request must be submitted by a trusted repository collaborator.
recessionalert.1345.unrate_regime.lb3.lag0.t0p0
- available signal observations
938
- claim kind
inferred
- classification
inferred lookahead diagnostic
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb3.lag0.t0p0
- input names
UNRATE
- lag bars
0
- lookback
3
- metrics spy bil
- annualized return
0.10223803996031511
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.2420584677802402
- observations
228
- risk off fraction
0.29385964912280704
- sharpe
0.8894778625274528
- start
2007-06-30
- total return
5.356711589315653
- volatility
0.11758829494387918
- metrics spy ief
- annualized return
0.10231288563106111
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.2542612240937828
- observations
286
- risk off fraction
0.2727272727272727
- sharpe
0.8822748507509688
- start
2002-08-31
- total return
9.192164075887439
- volatility
0.1188110240974314
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
89
- risk off fraction
0.3336886993603412
- same close status
research_only_sensitivity
- signal span
1948-04-30/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb3.lag0.t0p0
- threshold
0.0
- unavailable signal observations
3
recessionalert.1345.unrate_regime.lb6.lag1.t0p0
- available signal observations
935
- claim kind
inferred
- classification
inferred causal best guess
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb6.lag1.t0p0
- input names
UNRATE
- lag bars
1
- lookback
6
- metrics spy bil
- annualized return
0.07920074261902688
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.23927178828328333
- observations
228
- risk off fraction
0.31140350877192985
- sharpe
0.6896882710580116
- start
2007-06-30
- total return
3.2554204341966066
- volatility
0.12155160802425947
- metrics spy ief
- annualized return
0.08726948480189711
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.23927178828328333
- observations
286
- risk off fraction
0.2902097902097902
- sharpe
0.7418373672746367
- start
2002-08-31
- total return
6.345757449032161
- volatility
0.12344110525342702
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
58
- risk off fraction
0.3497326203208556
- same close status
not_used
- signal span
1948-07-31/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb6.lag1.t0p0
- threshold
0.0
- unavailable signal observations
6
recessionalert.1345.unrate_regime.lb12.lag2.t0p5
- available signal observations
929
- claim kind
inferred
- classification
inferred conservative sensitivity
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb12.lag2.t0p5
- input names
UNRATE
- lag bars
2
- lookback
12
- metrics spy bil
- annualized return
0.0762694432757085
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.23927178828328333
- observations
228
- risk off fraction
0.33771929824561403
- sharpe
0.6907583030545535
- start
2007-06-30
- total return
3.041096252537522
- volatility
0.11653396624608206
- metrics spy ief
- annualized return
0.08969910106326662
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.25126795175834027
- observations
286
- risk off fraction
0.32867132867132864
- sharpe
0.802449207817426
- start
2002-08-31
- total return
6.747123114731935
- volatility
0.11576223958507297
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
30
- risk off fraction
0.34768568353067814
- same close status
not_used
- signal span
1949-01-31/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb12.lag2.t0p5
- threshold
0.5
- unavailable signal observations
12
recessionalert.1345.unrate_regime.lb6.lag1.t0p5
- available signal observations
935
- claim kind
inferred
- classification
inferred threshold neighbor
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb6.lag1.t0p5
- input names
UNRATE
- lag bars
1
- lookback
6
- metrics spy bil
- annualized return
0.07920074261902688
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.23927178828328333
- observations
228
- risk off fraction
0.31140350877192985
- sharpe
0.6896882710580116
- start
2007-06-30
- total return
3.2554204341966066
- volatility
0.12155160802425947
- metrics spy ief
- annualized return
0.08726948480189711
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.23927178828328333
- observations
286
- risk off fraction
0.2902097902097902
- sharpe
0.7418373672746367
- start
2002-08-31
- total return
6.345757449032161
- volatility
0.12344110525342702
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
58
- risk off fraction
0.3497326203208556
- same close status
not_used
- signal span
1948-07-31/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb6.lag1.t0p5
- threshold
0.5
- unavailable signal observations
6
recessionalert.1345.unrate_regime.lb12.lag1.t1p0
- available signal observations
929
- claim kind
inferred
- classification
inferred higher-threshold sensitivity
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb12.lag1.t1p0
- input names
UNRATE
- lag bars
1
- lookback
12
- metrics spy bil
- annualized return
0.07621562357337064
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.2960243788232897
- observations
228
- risk off fraction
0.34210526315789475
- sharpe
0.7064216534755113
- start
2007-06-30
- total return
3.0372584941174665
- volatility
0.11340473832454344
- metrics spy ief
- annualized return
0.09016181711337024
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.33226530246303465
- observations
286
- risk off fraction
0.32867132867132864
- sharpe
0.8179606824125406
- start
2002-08-31
- total return
6.8259074733833
- volatility
0.11384310087207021
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
30
- risk off fraction
0.348762109795479
- same close status
not_used
- signal span
1949-01-31/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb12.lag1.t1p0
- threshold
1.0
- unavailable signal observations
12
recessionalert.1345.unrate_regime.lb21.lag1.tm0p5
- available signal observations
920
- claim kind
inferred
- classification
inferred negative long-lookback variant
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb21.lag1.tm0p5
- input names
UNRATE
- lag bars
1
- lookback
21
- metrics spy bil
- annualized return
0.05463588592459101
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.38809262976694914
- observations
228
- risk off fraction
0.39035087719298245
- sharpe
0.5415486333207293
- start
2007-06-30
- total return
1.7475673909545022
- volatility
0.10954556510390455
- metrics spy ief
- annualized return
0.06915131227328475
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.41023092316366905
- observations
286
- risk off fraction
0.3776223776223776
- sharpe
0.6609508380014584
- start
2002-08-31
- total return
3.92153182714026
- volatility
0.11073455419527127
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
25
- risk off fraction
0.38804347826086955
- same close status
not_used
- signal span
1949-10-31/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb21.lag1.tm0p5
- threshold
-0.5
- 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 date
2012-03-06
- database
data/recessionalert.sqlite opened read-only
- fetched at
2026-08-22T23:39:13Z
- inventory
research/findings/recessionalert_inventory.md
- manifest
research/artifacts/recessionalert/manifest.json
- native span
undisclosed; one dated article snapshot and no source-linked Fear observations
- publication lag
unknown; the article's two-week NBER phrase is not a recurring release lag
- sha256
sha256:2cb8464ee21e8b28af0f8dcbf7bacbd3ddeffc040c53717a198c0b701fa019dd
What the source claims
The article describes global Google search volume for recession as a promising recession indicator and fear gauge, with contextual 2008 NBER and August 2011 observations but no downloadable series.
The article says the 2008 NBER start was within a two-week lag of the search peak; this is event context, not an executable release lag.
Monthly FRED UNRATE rate-of-change is used as a long-history recession-risk proxy with explicitly inferred lookbacks, thresholds, and lags.
SPY risk-on versus IEF/BIL defensive sleeves are descriptive comparison overlays; the source discloses no allocation or target.
Rules actually disclosed
The article describes Google global search volume for recession as a fear gauge and gives only contextual 2008 NBER and August 2011 observations.
No buy/sell/hold side, threshold, query configuration, native observations, recurring publication lag, target, sizing, or exit rule is disclosed.
What had to be inferred
FRED UNRATE monthly rate-of-change was selected as the longest public recession-relevant proxy; SPY/IEF/BIL are descriptive sleeves.
Lookbacks 3/6/12/21, thresholds -0.5/0/0.5/1, and lag 0/1/2 were exploratory choices, not source settings.
Research questions
What can be learned from the SHA-verified RecessionAlert Google-search fear-gauge narrative using transparent public proxies when its series, thresholds, publication lag, and market rule are incomplete?
Data
- canonical source
sha256:2cb8464ee21e8b28af0f8dcbf7bacbd3ddeffc040c53717a198c0b701fa019dd
- canonical source paths
research/findings/recessionalert_inventory.md
research/artifacts/recessionalert/manifest.json
data/recessionalert.sqlite
- database policy
All reads use SQLite mode=ro; no crawl or market cache mutation.
- primary common window
2007-06 through 2026-06 after monthly alignment
- proxy inputs
FRED UNRATE snapshot in data/market.sqlite
Yahoo SPY/IEF/BIL snapshots in data/market.sqlite
- redistribution
Derived proxy metrics and summaries only; no raw page/media, credentials, cookies, or private account data.
Baseline implementation
- available signal observations
938
- claim kind
inferred
- classification
inferred lookahead diagnostic
- execution
one available monthly bar lag is causal baseline; lag 0 is research-only
- exploratory
True
- family
unrate_regime
- id
recessionalert.1345.unrate_regime.lb3.lag0.t0p0
- input names
UNRATE
- lag bars
0
- lookback
3
- metrics spy bil
- annualized return
0.10223803996031511
- benchmark total return
5.775363419995794
- end
2026-06-30
- max drawdown
-0.2420584677802402
- observations
228
- risk off fraction
0.29385964912280704
- sharpe
0.8894778625274528
- start
2007-06-30
- total return
5.356711589315653
- volatility
0.11758829494387918
- metrics spy ief
- annualized return
0.10231288563106111
- benchmark total return
11.39742578500792
- end
2026-06-30
- max drawdown
-0.2542612240937828
- observations
286
- risk off fraction
0.2727272727272727
- sharpe
0.8822748507509688
- start
2002-08-31
- total return
9.192164075887439
- volatility
0.1188110240974314
- missingness
warm-up and unavailable states excluded, never converted to risk-on
- publication lag months
unknown_native; one available month causal baseline
- risk off events
89
- risk off fraction
0.3336886993603412
- same close status
research_only_sensitivity
- signal span
1948-04-30/2026-06-30
- source identity
UNRATE aggregate fallback; not native Google Trends/RecessionAlert
- spec id
recessionalert.1345.unrate_regime.lb3.lag0.t0p0
- threshold
0.0
- unavailable signal observations
3
What to try interactively
- default
recessionalert.1345.unrate_regime.lb6.lag1.t0p0
- description
Choose an inferred proxy variant; no setting is disclosed by RecessionAlert.
- name
variant
- values
recessionalert.1345.unrate_regime.lb3.lag0.t0p0
recessionalert.1345.unrate_regime.lb6.lag1.t0p0
recessionalert.1345.unrate_regime.lb12.lag2.t0p5
recessionalert.1345.unrate_regime.lb6.lag1.t0p5
recessionalert.1345.unrate_regime.lb12.lag1.t1p0
recessionalert.1345.unrate_regime.lb21.lag1.tm0p5
- default
1
- description
Lag 1 is causal baseline; lag 0 is research-only sensitivity.
- name
execution_lag
- values
0
1
2
- default
IEF
- description
Descriptive inferred sleeve; source target is undisclosed.
- name
defensive_sleeve
- values
IEF
BIL
Suggested next research
Can an authorized redistributable source-linked Google Trends series and query configuration be obtained?
What exact threshold, smoothing, state, and market mapping did the source use?
What recurring publication timestamps, vintages, revisions, and point-in-time cutoffs apply?
Can the reported 2008 and 2011 narratives be recomputed from source observations?
Trial ledger
- iteration
1
- status
published
- summary
Offline public-proxy campaign; native source-fidelity gaps remain.
Parameter sensitivity
Timing changes the IEF total to 8.4878 (lag 0), 6.3458 (lag 1), and 9.7664 (lag 2), all below SPY; threshold and lookback neighbors are negative or weaker.
State-space exploration
Six inferred variants were executed on the tracked cache and all remain in state-space.json with signal counts, risk-off fractions, events, and IEF/BIL versus SPY totals.
The causal lb6/threshold0/lag1 baseline returned 6.3458 in the IEF sleeve versus 11.3974 for SPY and 3.2554 in BIL versus 5.7754 for SPY.
The lag-0 lb3 diagnostic returned the highest IEF total among tested variants but is lookahead and not deployable.
Timing and cost sensitivity
Native Google Trends publication and vintage timing are unknown. Lag 1 is the conservative causal baseline; lag 0 is shown only as a research-only sensitivity. Transaction costs are not disclosed by the source and are not fabricated.
What did not work
No tested proxy variant beat aligned SPY in either defensive sleeve comparison, and aggregate UNRATE cannot validate the native Google-search identity.
What the signal looks like
The interactive lab plots the inferred UNRATE signal and normalized SPY market path; lag 1 is the causal baseline and lag 0 is research-only.
What worked
The proxy campaign is reproducible offline, has a long UNRATE history, preserves unavailable warm-up values, and exposes a readable interactive signal/equity lab.
Next questions
Can an authorized redistributable source-linked Google Trends series and query configuration be obtained?
What exact threshold, smoothing, state, and market mapping did the source use?
What recurring publication timestamps, vintages, revisions, and point-in-time cutoffs apply?
Can the reported 2008 and 2011 narratives be recomputed from source observations?
Review status
published. Research publication does not imply official admission.
Return to pending research