Methodology

This page documents how Bubble Tracker assembles data and computes each valuation series. We aim for transparency, reproducibility, and minimal manual steps.

What we ingest

Primary data sources

  • S&P 500 price: Index levels via FRED (or Yahoo fallback).
  • Book value (quarterly): S&P Global index book value per share (BPS). We align quarterly BPS to monthly prices.
  • Forward earnings: Refinitiv I/B/E/S consensus forward EPS (or a forward P/E series from reputable research summaries such as Yardeni Research).
  • Shiller dataset: Real (inflation-adjusted) price & earnings from Robert Shiller.

Copyright note: S&P data © S&P Dow Jones Indices LLC; Refinitiv data © LSEG / Refinitiv. We show derived ratios and cite the original sources. This site is for informational purposes only and is not investment advice.

How raw data becomes a panel

Data assembly & alignment

Frequencies

  • Price: daily → resampled to month-end
  • Book value: quarterly → forward-filled over months in that quarter
  • Forward EPS: quarterly → forward-filled monthly
  • Shiller: monthly as published

We align on a monthly index and forward-fill only within each reporting period. No look-ahead leakage is introduced.

What each chart measures

Valuation metrics

1) Price-to-Book (P/B)

Definition: Index level divided by aggregate book value per share (BPS). Quarterly BPS is forward-filled to monthly frequency, matched to month-end prices.

Interpretation: High P/B means investors are paying more per $1 of net assets—often when growth/profitability or intangibles are prized.

Caveats: sector mix (e.g., asset-light tech) and accounting choices can push P/B higher without implying a bubble on their own. Use alongside Forward P/E & CAPE.

2) Forward 12M P/E

Definition: Price / consensus EPS for the next 12 months. Monthly alignment uses forward-filled quarterly forward EPS. If forward EPS isn’t available, we accept a pre-computed forward P/E series from a trusted source.

Interpretation: Reflects how optimistic investors are about near-term earnings. Multiples tend to expand with falling real rates or strong narrative regimes (e.g., AI/productivity).

Caveats: Estimate revisions matter. Rising prices with flat/declining estimates → multiple expansion. Sharp EPS downgrades can make P/E spike mechanically.

3) Shiller CAPE

Definition: Real (inflation-adjusted) price divided by the average of real earnings over the past 120 months.

Interpretation: Cycle-aware valuation. Filters recessions/booms to gauge how expensive the market is relative to long-run profitability.

Caveats: Structural shifts (tax regimes, sector composition, buybacks) can change “normal” levels over decades; compare across long horizons, not months.

One-click refresh

Refresh cadence & reproducibility

  1. Restart the web app; endpoints under /api/data/* will serve fresh JSON.

For automation, use a monthly GitHub Action / cron to execute the notebooks headlessly (e.g., Papermill) and commit updated CSVs to /data.

How to read the charts

Best practices & pitfalls

  • Use multiple lenses: no single ratio “calls a bubble.” P/B, Forward P/E, and CAPE together paint a more reliable picture.
  • Levels vs. changes: extreme levels suggest stretched valuations; rapid changes often reflect shifts in rates or earnings expectations.
  • Percentiles help: we display history back to 1985+ (or 1871 for CAPE). Consider where today sits in the historical distribution.
  • Mind data lags: book value and forward EPS are reported with delays and can be revised. We show the latest known values at each point in time.

Read this, please

Limitations & disclaimers

Bubble Tracker is an educational tool. While we source data carefully and document transformations, markets evolve and datasets are revised. Nothing on this site is investment advice. Always consult original sources and professional judgment.

S&P® and S&P 500® are trademarks of S&P Dow Jones Indices LLC. This site is not sponsored, endorsed, sold or promoted by S&P Dow Jones Indices LLC or its affiliates.

Want the raw steps? See Interactive Charts and the notebooks in the repository. Feedback welcome!