Methodology
How every FinanceLab narrative attention index is built, validated, and cited. This is the shared framework - the same method runs on each index; the specific results appear on each index page.
Each index tracks daily media attention to a market theme - how much of the world's relevant news coverage is about it - indexed to 100 = its own historical average. A reading of 200 means roughly twice the usual attention; 80 means below-average. It is a descriptive measure of coverage, not a price or a forecast.
Source. Global news from GDELT, passed through a relevance gate that keeps only market-relevant articles (curated outlet list; the gate hits ~96-100% precision vs ~50% for keyword filters).
Labels. Each article is classified by domain, region, and impact severity, and scored for sentiment (FinBERT), by a distilled model.
Attention. The impact- and relevance-weighted share of the day's coverage in the theme, divided by the whole day's coverage (so it controls for overall news volume), then indexed to 100 = the full-history average.
Smoothing. A 7-day average for a clean daily series.
Spikes are genuine local peaks: detected by prominence over a local window (only bumps that rise clearly above their surroundings - a small move in a busy stretch is ignored), required to sit above the 100 baseline, and kept distinct (min 15 days apart). Every spike is grounded in the actual headlines that drove it, each linked to its source outlet.
Every index runs the same battery of pre-registered tests - quality is measured, not asserted. The methods are shared; the numbers vary by index, and each index page reports its own results.
Tracks real stress (convergent validity). Over 2021-present, each index is compared against the established market gauge of its own theme - oil volatility (OVX) for Energy, the St. Louis Fed Financial Stress Index for Bank, realized bitcoin volatility for Crypto - and against a generic fear control (the equity VIX). A tight match with its own gauge plus independence from generic fear means it measures theme-specific stress, not a repackaged risk proxy. All are coincident, not leading.
Catches the major events. Against an independently curated calendar of 91 major real-world events (2021-2026, assembled without reference to the index), a spike counts as a catch if it lands within three weeks. Coverage of an unfolding crisis builds over days, so the smoothed index peaks about a week in - it flags the episode as it happens, it does not predict it. Recall and reaction latency vary by index.
Spikes mark new narratives. Measuring how different each day's coverage is from the trailing two months (text novelty), spike days score about 0.9 standard deviations above normal across all indexes - versus roughly zero on ordinary days. The index rises on new information, not repetition.
Markets: no, by design. For traded markets - prices, volatility, returns - the indexes are coincident, not predictive: public markets price the same news in real time. We tested this directly and exhaustively (next-day and multi-week volatility, returns, regime duration, and credit spreads, across horizons and both linear and non-linear models) and found no market-timing edge. Use the indexes for context, monitoring, and research - not to predict returns.
The real economy: mostly no, with one exception. The open question is slow, non-market economic data that markets do not instantly price. We test each index for a genuine lead there - it must beat the tradable price and survive excluding crisis windows. Most indexes are coincident even here. The Energy index is the exception: it carries a confirmed lead to next-month CPI inflation. See the Energy index for that result.
FinanceLab. [Index name]. https://financelab.ai/indexes/[slug] (data through [date]). A suggested citation appears on each index page.
Descriptive, not investment advice. These indexes measure news attention - descriptive analytics for research and context, not trading signals, forecasts, or investment advice.