Bybee, Kelly, Manela & Xiu turn decades of WSJ text into topic attention series that track the economy—a plain-language template for NLP alt-data practice in Python.
Bybee, Kelly, Manela, and Xiu show that what business newspapers talk about — and how much attention each theme gets over time — can summarise the state of the economy. From hundreds of thousands of Wall Street Journal articles they estimate a topic model, build daily and monthly attention series, and show those series track real activity and help with macro and market forecasts. For after-work learners, the transferable idea is simple: news text → interpretable themes → time series you can plot and join to other data. This Hub note is educational reading for after-work Python practice. It is not investment advice, not a trading signal, and not an offer to buy or sell any security.
Prices and official macro numbers arrive as tidy tables. News arrives as messy prose. If you only keep headlines or a handful of keyword counts, you throw away most of the structure. If you try to read every article by hand, you never finish after a full workday. The practical question for someone learning Python in the evening is: how do you turn a large news archive into a small set of readable themes with dates attached?
The paper estimates a topic model (LDA-style themes) on the full text of about 800,000 WSJ articles spanning 1984–2017. Each topic is a bag of words that tends to travel together — think “recession and unemployment” versus “oil and energy,” not a single magic keyword. For each day or month, the model estimates how much of the newspaper’s attention sits on each topic. Those attention weights become numeric time series.
Those series closely track many economic activities. Text-augmented forecasting setups (for example a text-augmented VAR in the paper) show news attention adds information beyond standard numerical predictors. The authors also retrieve the narratives behind improvements in market and business-cycle forecasts — so the model is not only a black box score.
You do not need to rebuild their full corpus tonight. The research site structureofnews.com and related data pages publish topic attention series and word weights for study. Treat the paper as a template: archive → topics → attention over time → join to returns or macro series for learning, not for a live book.
Authors: Leland Bybee, Bryan Kelly, Asaf Manela, Dacheng Xiu. Open PDF via NBER. Landing: NBER w29344.
One evening exercise (educational only):
.txt files — not the full WSJ corpus.str.split) or a tiny nltk/spaCy setup if you already have it.sklearn.decomposition.LatentDirichletAllocation on a bag-of-words matrix (CountVectorizer), or skip fitting and plot the authors’ published monthly attention CSV for two topics.Keep the notebook under one sitting. The skill is the pipeline shape, not recreating Journal of Finance tables.
When you want structured evening lessons on Python itself — variables, loops, functions, files, and first libraries — start with Introduction to Python Programming. Quant and macro courses are not the CTA here; build the language first.