S&P 500 vs Fed Balance Sheet: Paired Monthly Time Series for Post-GFC Liquidity-Equity Analysis Since 2002

S&P 500 vs Fed Balance Sheet is an Eco3min monthly composite that pairs the S&P Composite price index (Shiller) with Fed total assets (WALCL) on aligned timestamps, enabling direct visual and statistical comparison of equity prices and central bank balance sheet expansion since December 2002.

S&P 500 vs Fed Balance Sheet is an Eco3min monthly composite that pairs the S&P Composite price index with Fed total assets (WALCL) on aligned timestamps. From 2009 to 2022, the visual co-movement of these two series defined the post-GFC investment narrative: “stocks follow the Fed’s balance sheet.” This dataset provides the raw paired series required to evaluate that thesis quantitatively rather than rhetorically. Coverage runs from December 2002, when WALCL began on FRED, through the latest complete month.

Dataset: S&P 500 vs Fed Balance Sheet (2002–2026) · Updated —

Latest Value
6,746,548.00
dual · Sep 1, 2026
Historical Percentile
79.4th
Above average
Historical Average
4,000,619.42
dual · 286 observations
Historical Range
HIGH Apr 1, 2022
8,939,199.00
LOW Jan 1, 2003
712,809.00
dual

You have the data. Get what it means. New analyses and the live macro-regime read — only when there's something worth your time. No filler.



Loading FRED data…

Source: Robert J. Shiller, S&P Composite monthly series · Federal Reserve H.4.1 (WALCL) via FRED


Macro Takeaway

The S&P 500 vs Fed Balance Sheet dataset is the empirical foundation of one of the most-cited macro-financial relationships of the post-GFC era. The point is set out at length in our study of the 2008 financial crisis. Between 2009 and 2021, rolling correlations between changes in WALCL and in the S&P 500 were frequently reported above 0.5, though the figure depends heavily on the frequency and window chosen. The 2022 episode — quantitative tightening alongside an equity drawdown of roughly −25% on the S&P 500 — was widely cited as confirmation of the relationship.

However, the relationship is weaker than visual co-movement suggests. During the 2018–2019 QT episode, the S&P 500 ultimately rose despite WALCL contraction. In 2023–2024, equities recovered sharply while WALCL continued to decline. The Net Liquidity Index — WALCL minus TGA and RRP — provides a refined measure that the Eco3min research argues captures the equity–liquidity link more reliably.

Set in dialogue with the Fed balance sheet series alone, the Net Liquidity Index, and the S&P 500 to M2 Ratio situates this paired dataset within the broader equity–liquidity framework.


Construction & Components

S&P 500 vs Fed Balance Sheet is not a ratio or a derived indicator: it is a paired time series. The Eco3min pipeline aligns the two components on a monthly grid to enable direct visual and statistical comparison. The file carries the two levels only; no ratio column is computed, because dividing an index level by a balance sheet in millions of dollars produces a number with no interpretable unit.

Formula:

Paired series:  (date, sp500_t, fed_assets_millions_t)

Components:

  • S&P Composite Price Index, from Robert J. Shiller’s ie_data workbook, column P. Monthly, and each value is the average of that month’s daily closing prices, not the month-end close.
  • Fed Total Assets (WALCL) — FRED series WALCL (Federal Reserve H.4.1 release) — published weekly on the Wednesday balance, in millions of USD, and reduced here to the last weekly observation of each month.

Frequency reconciliation: the equity series is the binding frequency, because Shiller publishes monthly. WALCL, published weekly, is reduced to its last observation in each month. A weekly pairing would be the finer instrument and would allow the Wednesday-on-Wednesday alignment that avoids look-ahead bias, but it is not what this file contains: pairing a monthly equity average with a weekly balance sheet snapshot would introduce exactly the timestamp mismatch such an alignment exists to prevent.

Coverage: December 2002 onward, limited by the start of the WALCL series on FRED (December 18, 2002, the first H.4.1 release published in the modern format). For pre-2003 Fed balance sheet analysis, the FRED series WSHOTSL (Total Securities Held Outright) provides a longer but narrower view.


Dataset Overview

IndicatorS&P 500 vs Fed Balance Sheet (2002–2026)
GeographyUnited States
FrequencyMonthly
PeriodDecember 2002 onward
Variablesdate, sp500, fed_assets_millions
FormatCSV, Excel (XLSX)
SourcesRobert J. Shiller, S&P Composite (ie_data) & Federal Reserve H.4.1 (WALCL) via FRED
Last updated

Dataset Variables

The CSV and Excel files contain the following columns.

ColumnTypeDescription
dateDate (YYYY-MM-DD)First day of the observation month
sp500FloatS&P Composite index level, monthly average of daily closes
fed_assets_millionsFloatFed total assets in millions USD, last weekly observation of the month

Column names match the CSV headers exactly.


Download the Complete Dataset

The full dataset is available in CSV and Excel formats.

You have the data. Get what it means. New analyses and the live macro-regime read — only when there's something worth your time. No filler.


Source Data Access

The two component series can be retrieved directly from their own publishers:

S&P Composite (monthly)   https://shillerdata.com/  ->  ie_data.xls, column P
Fed total assets          https://fred.stlouisfed.org/graph/fredgraph.csv?id=WALCL

The equity component is not taken from the FRED series SP500. That series is distributed under an S&P Dow Jones Indices copyright requiring prior written permission, and FRED serves only a rolling ten-year window of it, which would not reach 2002. The Shiller workbook carries no such restriction and reaches back to 1871.

Direct CSV Access — Eco3min Structured Dataset

https://eco3min.fr/dataset/sp500-vs-fed-balance-sheet.csv

This URL returns the pre-aligned monthly paired series. It can be used directly in pandas, R, curl, or any data tool.


Using the Dataset in Python

import pandas as pd

url = "https://eco3min.fr/dataset/sp500-vs-fed-balance-sheet.csv"
df = pd.read_csv(url, parse_dates=["date"])

print(df.head())
print(df["fed_assets_millions"].describe())

Using the Dataset in R

library(readr)

url <- "https://eco3min.fr/dataset/sp500-vs-fed-balance-sheet.csv"
df <- read_csv(url)

head(df)
summary(df$fed_assets_millions)

Both examples load the dataset directly from the URL — no download or API key required.


Methodology

The S&P 500 vs Fed Balance Sheet paired series is rebuilt monthly by an Eco3min pipeline. WALCL is pulled from FRED and reduced to its last weekly observation in each month; the S&P Composite price is read from Shiller’s ie_data workbook, which is already monthly. The two are joined on the month, and months where either component is missing are dropped rather than filled.

Two methodological choices are worth stating plainly, because both affect how the pair should be read. First, WALCL is kept in its native unit, millions of USD, in fed_assets_millions; no rescaling is applied. Second, and more consequential, the equity value for month t is the average of that month’s daily closes, while the balance sheet value is a point observation at the end of the month. Averaging one side and not the other damps the equity series slightly relative to the balance sheet, which matters when computing correlations of changes rather than reading levels off a chart.


Data Quality & Provider Notes

The S&P 500 vs Fed Balance Sheet dataset inherits the latency profile of WALCL, which is the slower of the two components:

  • Release cadence. WALCL is published every Thursday at 4:30 PM ET for the prior Wednesday’s balance, so the monthly value for month t is final within days of month end. The Shiller equity series is updated monthly and can lag by several weeks, which makes it the binding constraint on freshness. Datasets claiming “daily Fed balance sheet” pricing are interpolated, not native.
  • Revisions are rare but possible. The Federal Reserve occasionally restates historical H.4.1 figures when accounting classifications change (e.g., reclassification of MBS holdings, securities lending facilities). Any such revision propagates to the historical paired series at the next Eco3min refresh.
  • Why the paired format is useful, and what it does not solve. No public source publishes a pre-aligned, downloadable pair of these two series, and the long equity history needed to cover 2002 is not available from FRED at all. This file supplies both. It does not solve the timestamp problem: the equity value is a monthly average and the balance sheet value is a month-end point, so anyone computing correlations of changes should expect a mild damping of the equity side and should not treat this pair as a like-for-like snapshot.

What This Index Captures (And What It Doesn’t)

This dataset is the empirical input behind one of the most reproduced visual narratives in post-GFC macro: the “stocks follow the Fed’s balance sheet” chart. Reading the paired series with discipline requires distinguishing what is visible from what is causally interpretable. That distinction is developed in where the balance-sheet signal breaks down as a market gauge.

What it captures:

  • The contemporaneous co-movement of US equity prices and the Fed’s balance sheet size from the start of QE1 (2008–2009) onward
  • Multi-year regimes of QE expansion (2009–2014, 2020–2022) and QT contraction (2018–2019, 2022–2024)
  • A common time grid required to compute rolling correlations, regression coefficients, or beta estimates between the two series

What it does NOT capture (common misinterpretations):

  • Causality from WALCL to the S&P 500. The paired chart shows correlation, not causation. Multiple counter-examples (2018–2019 QT with rising equities, 2023–2024 QT with rising equities) suggest the mechanical “Fed balance sheet drives stocks” thesis is incomplete. The Eco3min research on the liquidity illusion develops this argument empirically.
  • Effective liquidity to the financial system. WALCL measures Fed assets, but the portion of those assets that actually reaches the banking system depends on the Treasury General Account and overnight reverse repo balances. A WALCL increase offset by a TGA build-up is liquidity-neutral, and the Net Liquidity Index captures this offset.
  • International liquidity dynamics. The ECB, BoJ, and PBoC operate on independent schedules. During USD funding stress, foreign central bank liquidity (and FIMA repo usage) can dominate domestic WALCL movements for risk asset pricing.
  • Equity valuation. Pairing nominal equity prices with the balance sheet says nothing about earnings, multiples, or expected returns. For valuation context, the CAPE Ratio and the Excess CAPE Yield are more appropriate.

The paired series is best used as raw material for testing hypotheses about the equity–liquidity link rather than as a standalone signal.


Historical Regimes

The S&P 500 vs Fed Balance Sheet paired series spans the entire modern Fed balance sheet era. Reading the data through regime breakpoints clarifies where co-movement was strong, where it was not, and what conditions accompanied each phase.

  • 2003–2007 — Pre-QE baseline. WALCL was stable around $850 billion. The S&P 500 rose roughly 70% over the period. No mechanical relationship was visible; equity gains reflected the housing-credit cycle, not balance sheet expansion.
  • 2008–2009 — GFC and QE1. WALCL more than doubled (from ~$0.9T to ~$2.3T) during the September 2008–March 2009 crisis. The S&P 500 fell ~55% peak-to-trough, then bottomed in March 2009 as QE1 stabilized funding markets.
  • 2009–2014 — QE2 and QE3. WALCL rose from ~$2.3T to ~$4.5T while the S&P 500 roughly tripled. This is the period where the “stocks follow the Fed” thesis took hold in markets and financial media.
  • 2014–2018 — Stable balance sheet. WALCL plateaued around $4.5T from 2014 to mid-2017. The S&P 500 rose roughly +35% over the period despite no balance sheet expansion, providing the first significant counter-example to mechanical interpretations.
  • 2018–2019 — First QT episode. WALCL contracted by ~$700B from ~$4.5T to ~$3.8T. The S&P 500 finished 2018 down ~6% but recovered sharply in 2019 (+29%) despite continued QT until late 2019.
  • 2020–2022 — COVID liquidity injection and peak. WALCL surged from ~$4.2T to a peak near $9.0T in April 2022. The S&P 500 doubled from its March 2020 low.
  • 2022–2024 — Second QT episode. WALCL contracted from ~$9.0T toward ~$7.0T. The S&P 500 fell roughly −25% in 2022, then recovered to new highs in 2024 despite continued WALCL decline, the largest visible counter-example to the mechanical thesis.
  • 2024–2026 — Tapering of QT. The Fed slowed the pace of balance sheet runoff. The S&P 500 continued to rise.

For the analytical decomposition of these regimes — particularly the role of TGA and RRP in explaining the 2018–2019 and 2023–2024 counter-examples — see the Eco3min research on the liquidity illusion.


Related Macroeconomic Datasets

The S&P 500 vs Fed Balance Sheet dataset is best understood alongside its components and alternative formulations of the equity–liquidity relationship.

Related Research

The dataset above is the raw input. The analytical work below explains why pairing SP500 with WALCL alone produces an incomplete picture of the equity–liquidity relationship.


Macroeconomic Dataset Hub

This dataset is part of the Eco3min macro-financial data repository.

Explore the Eco3min Dataset Hub


Sources

  • Robert J. Shiller, Irrational Exuberance data, S&P Composite monthly price series (ie_data, column P), shillerdata.com
  • Federal Reserve, H.4.1 statistical release — Total assets (FRED series WALCL)

The Shiller workbook is published openly by its author and carries no licence terms restricting reuse, only a disclaimer of warranty. The index levels it contains are facts, not a protected compilation in the sense that would bar this use. It is used here in preference to the FRED series SP500, which is under S&P Dow Jones Indices copyright and cannot be redistributed.


Dataset Reference

Last updated — 22 September 2026

Disclaimer – Financial Information: The analyses, commentary, and content published on eco3min.fr are provided for informational and educational purposes only. They do not constitute investment advice or a solicitation to buy or sell financial instruments. Past performance is not indicative of future results. All investment decisions involve risk and are the sole responsibility of the reader.