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
Survived FDR q < 0.05, |ρ| ≥ 0.2, and appeared in ≥ 10 of the last 14 runs.
The identical analysis run on IAAFT surrogates: same values, same wiggliness, no real relationships. If this side has edges too, calibrate your trust accordingly.
| Metric A | Metric B | ρ (changes) | ρ, stress removed | q-value | Runs seen | Timing |
|---|---|---|---|---|---|---|
| Broad dollar index | USD/EUR exchange rate | -0.87 | -0.87 · holds | 0.000 | 14/14 | same day |
| Attention: Executive order | Attention: Tariff | +0.73 | +0.75 · holds | 0.000 | 14/14 | same day |
| Attention: Federal Reserve | Attention: Tariff | +0.56 | +0.54 · holds | 0.000 | 14/14 | changes in “Attention: Tariff” precede “Attention: Federal Reserve” by 1d (not causal) |
| Attention: Executive order | Attention: Recession | +0.55 | +0.57 · holds | 0.000 | 14/14 | changes in “Attention: Executive order” precede “Attention: Recession” by 6d (not causal) |
| Attention: Recession | Attention: Tariff | +0.54 | +0.56 · holds | 0.000 | 14/14 | changes in “Attention: Recession” precede “Attention: Tariff” by 1d (not causal) |
| 10y-2y yield spread | News: sanctions | +0.52 | +0.53 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “News: sanctions” by 2d (not causal) |
| 10y-2y yield spread | News: immigration | +0.48 | +0.48 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “News: immigration” by 1d (not causal) |
| Attention: Recession | 10y-2y yield spread | -0.48 | -0.53 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “Attention: Recession” by 5d (not causal) |
| Attention: Executive order | Attention: Federal Reserve | +0.46 | +0.42 · holds | 0.000 | 14/14 | same day |
| Attention: Federal Reserve | News: interest rates | +0.43 | +0.44 · holds | 0.000 | 14/14 | same day |
| Attention: Federal Reserve | Attention: Recession | +0.42 | +0.42 · holds | 0.000 | 14/14 | same day |
| Attention: Recession | News: sanctions | -0.37 | -0.40 · holds | 0.000 | 14/14 | same day |
| 10y-2y yield spread | News: outbreaks | -0.36 | -0.38 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “News: outbreaks” by 1d (not causal) |
| Executive orders / day | Proclamations / day | +0.36 | +0.34 · holds | 0.000 | 14/14 | same day |
| Attention: Executive order | Executive orders / day | +0.35 | +0.28 · holds | 0.000 | 14/14 | same day |
| Executive orders / day | Presidential memoranda / day | +0.35 | +0.12 · weekends, not stress | 0.000 | 14/14 | same day |
| News: immigration | News: protests | +0.34 | +0.33 · holds | 0.000 | 14/14 | same day |
| News: ceasefire | News: sanctions | +0.34 | +0.38 · holds | 0.000 | 14/14 | changes in “News: ceasefire” precede “News: sanctions” by 7d (not causal) |
| News: immigration | News: outbreaks | -0.34 | -0.34 · holds | 0.000 | 14/14 | changes in “News: immigration” precede “News: outbreaks” by 2d (not causal) |
| 10-year Treasury yield | WTI crude oil price | +0.33 | +0.33 · holds | 0.000 | 14/14 | same day |
| 10y-2y yield spread | News: natural disasters | -0.32 | -0.31 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “News: natural disasters” by 6d (not causal) |
| Attention: Executive order | News: immigration | +0.31 | +0.32 · holds | 0.000 | 14/14 | same day |
| 10y-2y yield spread | News: interest rates | -0.31 | -0.31 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “News: interest rates” by 3d (not causal) |
| Attention: Executive order | News: outbreaks | -0.31 | -0.36 · holds | 0.000 | 14/14 | changes in “Attention: Executive order” precede “News: outbreaks” by 7d (not causal) |
| Attention: Executive order | Presidential memoranda / day | +0.31 | +0.13 · weekends, not stress | 0.000 | 14/14 | changes in “Presidential memoranda / day” precede “Attention: Executive order” by 7d (not causal) |
| News: natural disasters | News: sanctions | -0.30 | -0.31 · holds | 0.000 | 14/14 | changes in “News: natural disasters” precede “News: sanctions” by 7d (not causal) |
| News: ceasefire | News: interest rates | -0.30 | -0.28 · holds | 0.000 | 14/14 | changes in “News: interest rates” precede “News: ceasefire” by 5d (not causal) |
| Attention: Tariff | News: outbreaks | -0.29 | -0.36 · holds | 0.000 | 14/14 | changes in “Attention: Tariff” precede “News: outbreaks” by 6d (not causal) |
| Attention: Federal Reserve | News: natural disasters | +0.29 | +0.26 · holds | 0.000 | 14/14 | changes in “News: natural disasters” precede “Attention: Federal Reserve” by 5d (not causal) |
| News: natural disasters | News: interest rates | +0.28 | +0.27 · holds | 0.000 | 14/14 | changes in “News: natural disasters” precede “News: interest rates” by 3d (not causal) |
| VIX volatility index | News: natural disasters | -0.28 | n/a: is the control | 0.000 | 14/14 | changes in “News: natural disasters” precede “VIX volatility index” by 7d (not causal) |
| Attention: Recession | VIX volatility index | +0.28 | n/a: is the control | 0.000 | 14/14 | same day |
| Attention: Tariff | 10y-2y yield spread | -0.28 | -0.28 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “Attention: Tariff” by 7d (not causal) |
| 10-year Treasury yield | Broad dollar index | +0.28 | +0.28 · holds | 0.000 | 14/14 | same day |
| 10-year Treasury yield | USD/EUR exchange rate | -0.27 | -0.27 · holds | 0.000 | 14/14 | same day |
| Attention: Federal Reserve | News: sanctions | -0.27 | -0.29 · holds | 0.000 | 14/14 | changes in “Attention: Federal Reserve” precede “News: sanctions” by 5d (not causal) |
| News: interest rates | News: sanctions | -0.26 | -0.29 · holds | 0.000 | 14/14 | same day |
| News: immigration | News: sanctions | +0.26 | +0.28 · holds | 0.000 | 14/14 | changes in “News: sanctions” precede “News: immigration” by 7d (not causal) |
| Attention: Federal Reserve | 10y-2y yield spread | -0.25 | -0.24 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “Attention: Federal Reserve” by 7d (not causal) |
| 10y-2y yield spread | News: protests | +0.24 | +0.25 · holds | 0.000 | 14/14 | changes in “10y-2y yield spread” precede “News: protests” by 1d (not causal) |
| Presidential memoranda / day | Proclamations / day | +0.24 | -0.00 · weekends, not stress | 0.000 | 14/14 | same day |
| Attention: Recession | News: interest rates | +0.24 | +0.28 · holds | 0.000 | 14/14 | same day |
| Attention: Tariff | News: sanctions | -0.23 | -0.24 · holds | 0.000 | 14/14 | changes in “News: sanctions” precede “Attention: Tariff” by 6d (not causal) |
| Attention: Tariff | Executive orders / day | +0.23 | +0.19 · weekends, not stress | 0.000 | 14/14 | same day |
| News: outbreaks | News: protests | -0.22 | -0.24 · holds | 0.000 | 14/14 | changes in “News: protests” precede “News: outbreaks” by 7d (not causal) |
| Attention: Tariff | News: natural disasters | +0.21 | +0.24 · holds | 0.000 | 14/14 | changes in “News: natural disasters” precede “Attention: Tariff” by 7d (not causal) |
| VIX volatility index | News: interest rates | -0.20 | n/a: is the control | 0.000 | 11/14 | changes in “News: interest rates” precede “VIX volatility index” by 6d (not causal) |
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.
| Metric | Source | Last observation | Days behind |
|---|---|---|---|
| News: outbreaks | gdelt | 2026-08-14 | 6 |
| News: ceasefire | gdelt | 2026-08-14 | 6 |
| USD/EUR exchange rate | fred | 2026-08-14 | 6 |
| Broad dollar index | fred | 2026-08-14 | 6 |
| News: layoffs | gdelt | 2026-08-15 | 5 |
| News: tariffs | gdelt | 2026-08-17 | 3 |
| News: immigration | gdelt | 2026-08-17 | 3 |
| 10-year Treasury yield | fred | 2026-08-18 | 2 |
| VIX volatility index | fred | 2026-08-18 | 2 |
| WTI crude oil price | fred | 2026-08-18 | 2 |
| News: protests | gdelt | 2026-08-19 | 1 |
| News: interest rates | gdelt | 2026-08-19 | 1 |
| News: sanctions | gdelt | 2026-08-19 | 1 |
| News: artificial intelligence | gdelt | 2026-08-19 | 1 |
| News: natural disasters | gdelt | 2026-08-19 | 1 |
| 10y-2y yield spread | fred | 2026-08-19 | 1 |
| Attention: Inflation | wikipedia | 2026-08-19 | 1 |
| Attention: Recession | wikipedia | 2026-08-19 | 1 |
| Attention: Tariff | wikipedia | 2026-08-19 | 1 |
| Attention: Federal Reserve | wikipedia | 2026-08-19 | 1 |
| Attention: Executive order | wikipedia | 2026-08-19 | 1 |
| Attention: Stock market | wikipedia | 2026-08-19 | 1 |
| Attention: Unemployment | wikipedia | 2026-08-19 | 1 |
| Executive orders / day | federal_register | 2026-08-20 | 0 |
| Proclamations / day | federal_register | 2026-08-20 | 0 |
| Presidential memoranda / day | federal_register | 2026-08-20 | 0 |
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.