IMF All-Commodity Price Index vs S&P 500 total return (Shiller)."> Commodities vs Stocks – 10-Year Rolling Annualized Returns
Commodities · BLS PPI · IMF · S&P 500 incl. dividends · Monthly · 1950–2026 · pp
Commodities vs Stocks 10-year rolling annualized returns · commodities minus S&P 500 total return (pp)
Commodities vs S&P 500 · 10-year rolling annualized return difference (pp)
Loading commodities data…
Drag = pan · shift+drag = box-zoom · scroll = zoom X · drag Y-axis = zoom Y · double-click = reset
%
This is an independent recreation inspired by a published BofA Global Research chart ("Commodities = outperformers of the 2020s", Chart 5 in the Flow Show). It is not affiliated with or endorsed by BofA Securities, and it is not investment advice. The original plots commodities vs developed-market stocks using Bloomberg terminal data; this page uses the free public series below, so levels differ in places (see Data).
What this shows: for each month, the annualized return of a broad commodity index over the trailing ten years minus the annualized total return of the S&P 500 over the same ten years, in percentage points. When the line is above 0%, commodities have outperformed stocks over the prior decade; below 0%, stocks have outperformed. The 1970s were commodities' decade (oil embargo, inflation); 1980–2020 was stocks' era (disinflation, tech); the 2020s reopening and energy/critical-materials cycle has been narrowing the gap again.

Commodity leg: a broad spot commodity price index built from two free series, ratio-linked at the 1991-12 seam: FRED PPIACO (BLS Producer Price Index: All Commodities, 1913+) through 1991, then the IMF PALLFNFINDEXM (All-Commodity Price Index, 2016=100) from 1992. Both are spot/price indices — they exclude the futures roll income captured by BofA's Bloomberg commodity index, so this line runs a few points below the original in roll-rich decades (notably the late 1970s and the 2000s).

Stock leg: S&P 500 total return (monthly close plus dividends) from Robert Shiller's long-run dataset (1871+, maintained mirror). BofA's original uses MSCI World total return; the S&P 500 stands in for developed-market stocks (the US is ~70% of the developed-market cap) and, like the original, includes dividends.

Reading the chart: the line is a 10-year rolling window, so it moves slowly and lags markets; each point answers "which asset class won the last decade?". The dashed line marks parity (0). The red dot is the latest month. Zoom in (scroll / shift+drag) to isolate episodes. Data may be revised.

Data: chart data (JSON) · source series (CSV) · FRED PPIACO · FRED PALLFNFINDEXM