Correlation Engine

A daily scan for statistical patterns across government announcements, news coverage, economic indicators, and public attention - shown next to what pure noise produces under the identical pipeline. Nothing on this page is a causal claim.

run 2026-08-20 · 26 metrics · lags −7…+7 days

4,875hypothesis tests run today (pairs × lags)
≈ 243.8hits expected from chance alone at raw p < 0.05
28.3avg edges the same pipeline finds in pure noise (20 runs)
2.05×today's 58 surviving edges as a multiple of that noise average; at or below 1× chance explains everything
5%of noise edges get the “fades” (common-driver) verdict by luck; that verdict's false-positive rate
47edges published after FDR, effect-size, and stability filters

Signal - stable edges

Survived FDR q < 0.05, |ρ| ≥ 0.2, and appeared in ≥ 10 of the last 14 runs.

Noise - placebo panel

The identical analysis run on IAAFT surrogates: same values, same wiggliness, no real relationships. If this side has edges too, calibrate your trust accordingly.

Published edges

Metric AMetric Bρ (changes)ρ, stress removedq-valueRuns seenTiming
Broad dollar indexUSD/EUR exchange rate-0.87-0.87 · holds0.00014/14same day
Attention: Executive orderAttention: Tariff+0.73+0.75 · holds0.00014/14same day
Attention: Federal ReserveAttention: Tariff+0.56+0.54 · holds0.00014/14changes in “Attention: Tariff” precede “Attention: Federal Reserve” by 1d (not causal)
Attention: Executive orderAttention: Recession+0.55+0.57 · holds0.00014/14changes in “Attention: Executive order” precede “Attention: Recession” by 6d (not causal)
Attention: RecessionAttention: Tariff+0.54+0.56 · holds0.00014/14changes in “Attention: Recession” precede “Attention: Tariff” by 1d (not causal)
10y-2y yield spreadNews: sanctions+0.52+0.53 · holds0.00014/14changes in “10y-2y yield spread” precede “News: sanctions” by 2d (not causal)
10y-2y yield spreadNews: immigration+0.48+0.48 · holds0.00014/14changes in “10y-2y yield spread” precede “News: immigration” by 1d (not causal)
Attention: Recession10y-2y yield spread-0.48-0.53 · holds0.00014/14changes in “10y-2y yield spread” precede “Attention: Recession” by 5d (not causal)
Attention: Executive orderAttention: Federal Reserve+0.46+0.42 · holds0.00014/14same day
Attention: Federal ReserveNews: interest rates+0.43+0.44 · holds0.00014/14same day
Attention: Federal ReserveAttention: Recession+0.42+0.42 · holds0.00014/14same day
Attention: RecessionNews: sanctions-0.37-0.40 · holds0.00014/14same day
10y-2y yield spreadNews: outbreaks-0.36-0.38 · holds0.00014/14changes in “10y-2y yield spread” precede “News: outbreaks” by 1d (not causal)
Executive orders / dayProclamations / day+0.36+0.34 · holds0.00014/14same day
Attention: Executive orderExecutive orders / day+0.35+0.28 · holds0.00014/14same day
Executive orders / dayPresidential memoranda / day+0.35+0.12 · weekends, not stress0.00014/14same day
News: immigrationNews: protests+0.34+0.33 · holds0.00014/14same day
News: ceasefireNews: sanctions+0.34+0.38 · holds0.00014/14changes in “News: ceasefire” precede “News: sanctions” by 7d (not causal)
News: immigrationNews: outbreaks-0.34-0.34 · holds0.00014/14changes in “News: immigration” precede “News: outbreaks” by 2d (not causal)
10-year Treasury yieldWTI crude oil price+0.33+0.33 · holds0.00014/14same day
10y-2y yield spreadNews: natural disasters-0.32-0.31 · holds0.00014/14changes in “10y-2y yield spread” precede “News: natural disasters” by 6d (not causal)
Attention: Executive orderNews: immigration+0.31+0.32 · holds0.00014/14same day
10y-2y yield spreadNews: interest rates-0.31-0.31 · holds0.00014/14changes in “10y-2y yield spread” precede “News: interest rates” by 3d (not causal)
Attention: Executive orderNews: outbreaks-0.31-0.36 · holds0.00014/14changes in “Attention: Executive order” precede “News: outbreaks” by 7d (not causal)
Attention: Executive orderPresidential memoranda / day+0.31+0.13 · weekends, not stress0.00014/14changes in “Presidential memoranda / day” precede “Attention: Executive order” by 7d (not causal)
News: natural disastersNews: sanctions-0.30-0.31 · holds0.00014/14changes in “News: natural disasters” precede “News: sanctions” by 7d (not causal)
News: ceasefireNews: interest rates-0.30-0.28 · holds0.00014/14changes in “News: interest rates” precede “News: ceasefire” by 5d (not causal)
Attention: TariffNews: outbreaks-0.29-0.36 · holds0.00014/14changes in “Attention: Tariff” precede “News: outbreaks” by 6d (not causal)
Attention: Federal ReserveNews: natural disasters+0.29+0.26 · holds0.00014/14changes in “News: natural disasters” precede “Attention: Federal Reserve” by 5d (not causal)
News: natural disastersNews: interest rates+0.28+0.27 · holds0.00014/14changes in “News: natural disasters” precede “News: interest rates” by 3d (not causal)
VIX volatility indexNews: natural disasters-0.28n/a: is the control0.00014/14changes in “News: natural disasters” precede “VIX volatility index” by 7d (not causal)
Attention: RecessionVIX volatility index+0.28n/a: is the control0.00014/14same day
Attention: Tariff10y-2y yield spread-0.28-0.28 · holds0.00014/14changes in “10y-2y yield spread” precede “Attention: Tariff” by 7d (not causal)
10-year Treasury yieldBroad dollar index+0.28+0.28 · holds0.00014/14same day
10-year Treasury yieldUSD/EUR exchange rate-0.27-0.27 · holds0.00014/14same day
Attention: Federal ReserveNews: sanctions-0.27-0.29 · holds0.00014/14changes in “Attention: Federal Reserve” precede “News: sanctions” by 5d (not causal)
News: interest ratesNews: sanctions-0.26-0.29 · holds0.00014/14same day
News: immigrationNews: sanctions+0.26+0.28 · holds0.00014/14changes in “News: sanctions” precede “News: immigration” by 7d (not causal)
Attention: Federal Reserve10y-2y yield spread-0.25-0.24 · holds0.00014/14changes in “10y-2y yield spread” precede “Attention: Federal Reserve” by 7d (not causal)
10y-2y yield spreadNews: protests+0.24+0.25 · holds0.00014/14changes in “10y-2y yield spread” precede “News: protests” by 1d (not causal)
Presidential memoranda / dayProclamations / day+0.24-0.00 · weekends, not stress0.00014/14same day
Attention: RecessionNews: interest rates+0.24+0.28 · holds0.00014/14same day
Attention: TariffNews: sanctions-0.23-0.24 · holds0.00014/14changes in “News: sanctions” precede “Attention: Tariff” by 6d (not causal)
Attention: TariffExecutive orders / day+0.23+0.19 · weekends, not stress0.00014/14same day
News: outbreaksNews: protests-0.22-0.24 · holds0.00014/14changes in “News: protests” precede “News: outbreaks” by 7d (not causal)
Attention: TariffNews: natural disasters+0.21+0.24 · holds0.00014/14changes in “News: natural disasters” precede “Attention: Tariff” by 7d (not causal)
VIX volatility indexNews: interest rates-0.20n/a: is the control0.00011/14changes in “News: interest rates” precede “VIX volatility index” by 6d (not causal)

Data freshness

The daily job succeeds if anything at all was fetched, so a single source can degrade quietly. This table is where that shows; rows more than 5 days behind their source's normal publication lag are flagged. Machine-readable copy: health.json.

MetricSourceLast observationDays behind
News: outbreaksgdelt2026-08-146
News: ceasefiregdelt2026-08-146
USD/EUR exchange ratefred2026-08-146
Broad dollar indexfred2026-08-146
News: layoffsgdelt2026-08-155
News: tariffsgdelt2026-08-173
News: immigrationgdelt2026-08-173
10-year Treasury yieldfred2026-08-182
VIX volatility indexfred2026-08-182
WTI crude oil pricefred2026-08-182
News: protestsgdelt2026-08-191
News: interest ratesgdelt2026-08-191
News: sanctionsgdelt2026-08-191
News: artificial intelligencegdelt2026-08-191
News: natural disastersgdelt2026-08-191
10y-2y yield spreadfred2026-08-191
Attention: Inflationwikipedia2026-08-191
Attention: Recessionwikipedia2026-08-191
Attention: Tariffwikipedia2026-08-191
Attention: Federal Reservewikipedia2026-08-191
Attention: Executive orderwikipedia2026-08-191
Attention: Stock marketwikipedia2026-08-191
Attention: Unemploymentwikipedia2026-08-191
Executive orders / dayfederal_register2026-08-200
Proclamations / dayfederal_register2026-08-200
Presidential memoranda / dayfederal_register2026-08-200

Methodology, including why you should stay skeptical

Correlation, never causation. An edge means two change series moved together, possibly at a lag. Government announcements usually respond to events, so even a suggestive lead–lag ordering routinely points backwards, and most co-movement is driven by some third thing.

Changes, not levels. Every series is differenced until it passes a stationarity test, then adjusted for day-of-week cycles. Correlating raw trending levels manufactures fake relationships; this pipeline refuses to do it.

Multiple comparisons. Testing 4,875 hypotheses guarantees chance hits; the strip above says how many. Benjamini–Hochberg correction bounds the expected false-discovery share at 5%. The lags of a single pair are not independent tests, so treat q-values as approximate - which is what the noise panel is for. The calibration number in the strip above makes that comparison daily and quantitative: today's surviving edges as a multiple of what the identical pipeline averages on phase-and-amplitude-matched noise, with every dependence (lags, shared metrics, autocorrelation, ties) priced in empirically. Until it sits well above 1×, the correct level of trust is none.

Common drivers. The likeliest reason two series move together is that both react to the same events. Each published edge is therefore re-tested with changes in “VIX volatility index” conditioned out (a partial Spearman ρ, computed only on days that series trades): “holds” means the edge keeps its size, “fades” means conditioning pushed it below the effect-size floor, and “weekends, not stress” means the edge was already below the floor on trading days, so the drop is about weekend rows, not the market. Verdicts compare the partial ρ against the raw ρ recomputed on the same days, never against the full-sample ρ, so a shrunken sample cannot masquerade as a common driver. In today's noise panel 87% of noise edges “held”, so treat holding as the default outcome, not as evidence. This is context, not a filter; the publication gate ignores it. Nor is it a causal cleanup: market stress is itself driven by news, so conditioning can erase genuinely stress-mediated relationships and can occasionally manufacture association out of nothing (collider bias).

Stability. A pattern that appears once is noise. Edges are published only after recurring, with the same sign, across most of the recent daily runs.

Audit trail. Every fetched observation and every daily result is committed to the repository, so the full history of what this tool saw and claimed is public in the commit log.