FRED SP500 — Daily CSV Download (S&P 500 Price Index)

The S&P 500 historical returns dataset provides annual total returns of the benchmark US equity index since 1990, including dividends reinvested, CPI inflation, and inflation-adjusted real returns. This is the reference dataset for long-term equity performance analysis, asset allocation backtesting, and real purchasing power calculations.

Dataset: S&P 500 Historical Returns · Updated —

Latest Value
327.46%
Feb 1, 2026
Historical Percentile
99.9th
Historically high
Historical Average
124.28%
949 observations
Historical Range
HIGH
327.46%
Feb 1, 2026
LOW
21.48%
Jan 1, 1947


Loading FRED data…

Source: FRED series SP500 · Federal Reserve Bank of St. Louis / Damodaran


Macro Takeaway

The S&P 500 has delivered an annualized nominal return of approximately 10-11% since 1990, but in real terms — after subtracting CPI inflation — the figure drops to roughly 7-8%. This gap is the inflation tax on capital, and it compounds dramatically over decades. An investor who measures performance only in nominal terms systematically overestimates their actual wealth accumulation. The dispersion across decades is equally striking: the 2010s delivered annualized real returns above 11%, while the 2000s — bookended by the dot-com crash and the Global Financial Crisis — produced a negative real return over the full decade.

This variance underscores a structural reality: equity returns are not a constant but a function of the starting valuation regime. Periods of above-average real interest rates and compressed valuations have historically preceded stronger forward returns. The real 10-year yield and the CAPE ratio provide complementary lenses for assessing where the current regime sits in this long-term distribution.


Dataset Overview

IndicatorS&P 500 Total Returns (nominal & real)
GeographyUnited States
FrequencyAnnual
Period1990–2026
VariablesYear, nominal return (%), CPI inflation (%), real return (%)
FormatCSV, Excel (XLSX)
SourcesAswath Damodaran (NYU Stern), Bureau of Labor Statistics (CPI-U)
Last updated

Dataset Variables

The CSV and Excel files contain the following columns. Each row represents one calendar year.

ColumnTypeDescription
yearIntegerCalendar year
nominal_returnFloatS&P 500 total return including dividends, in percent
cpi_inflationFloatUS CPI year-over-year change, in percent
real_returnFloatInflation-adjusted return (nominal minus CPI), in percent

Column names match the CSV headers exactly.


Download the Complete Dataset

The full dataset is available in CSV and Excel formats — 36 years of annual equity returns.


FRED Direct CSV Access

The S&P 500 price series is available via FRED under code SP500:

https://fred.stlouisfed.org/graph/fredgraph.csv?id=SP500

However, FRED provides only the daily price index — not annual total returns with dividends and inflation adjustment. The Eco3min dataset combines Damodaran’s total return data (which includes reinvested dividends) with BLS CPI-U data to produce a single, analysis-ready annual series with nominal returns, inflation, and real returns in one file.

Direct CSV Access — Eco3min Structured Dataset

https://eco3min.fr/dataset/sp500-historical-returns.csv

This URL returns the complete dataset in CSV format. 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-historical-returns.csv"
df = pd.read_csv(url)

print(df.head())
print(f"Average real return: {df['real_return'].mean():.2f}%")
print(f"Best year: {df.loc[df['real_return'].idxmax(), 'year']}")

Using the Dataset in R

library(readr)

url <- "https://eco3min.fr/dataset/sp500-historical-returns.csv"
df <- read_csv(url)

head(df)
summary(df$real_return)

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


Methodology

The nominal return series is sourced from Aswath Damodaran’s annual dataset published by New York University’s Stern School of Business. Damodaran’s methodology includes both price appreciation and reinvested dividends, making it a total return measure — a critical distinction, as dividends have historically contributed approximately 2 percentage points of annual return.

Inflation data is derived from the Bureau of Labor Statistics Consumer Price Index for All Urban Consumers (CPI-U), measured on a December-over-December basis. This is the standard measure used by the Federal Reserve and most financial institutions for inflation-adjusted calculations.

Real returns are calculated using the Fisher equation approximation: real return ≈ nominal return − CPI inflation. For most practical purposes, this linear approximation is sufficiently accurate. The geometric (exact) formula — (1 + nominal) / (1 + inflation) − 1 — produces marginally different results only in periods of very high inflation.

The dataset is updated annually in January, when Damodaran publishes the previous year’s return data. A provisional mid-year update may be added using FRED SP500 price data, but the definitive figures are always the January release.


Historical Regimes

1990–1999 — The great bull market. The S&P 500 delivered annualized nominal returns exceeding 18%, fueled by the technology revolution, declining interest rates (the Fed Funds rate fell from 8% to 5.5%), and the longest peacetime expansion in US history at the time. Real returns averaged roughly 15% annually — a pace that subsequent decades would not replicate. The period ended with CAPE ratios at all-time highs above 44.

2000–2009 — The lost decade. Two major bear markets (dot-com crash and Global Financial Crisis) produced a cumulative nominal return near zero over the full decade. In real terms, investors lost purchasing power. This decade illustrates the asymmetry of equity returns: a 50% drawdown requires a 100% recovery to break even. The decade also coincided with the Fed cutting rates to 1% (2003) then to 0% (2008), laying the groundwork for the next regime.

2010–2019 — QE-fueled recovery. Annualized real returns exceeded 11%, driven by three Federal Reserve QE programs, corporate buybacks averaging $500 billion per year, and profit margin expansion. By 2019, the 10-year Treasury yield had fallen below 2%, compressing the equity risk premium and mechanically inflating valuations. The period was characterized by historically low volatility and a near-absence of significant drawdowns outside of brief corrections.

2020–2026 — Pandemic, inflation, and concentration. The COVID-19 crash (−34% in 23 trading days) was followed by the fastest recovery in market history. The subsequent inflation shock and Fed tightening cycle (2022–2023) produced the first meaningful correction in real terms since 2008. A notable structural feature of this period is extreme sector concentration: the top 7 stocks accounted for over 30% of the index by late 2024, raising questions about the representativeness of “the market” as a measure of broad economic performance.


Related Macroeconomic Datasets

Related Research


Macroeconomic Dataset Hub

This dataset is part of the Eco3min macro-financial data repository. Explore all available datasets including inflation, interest rates, equity returns, credit spreads, and currency indicators.

Explore the Eco3min Dataset Hub


Sources

  • Aswath Damodaran — NYU Stern School of Business, Annual Returns on the S&P 500
  • U.S. Bureau of Labor Statistics — Consumer Price Index for All Urban Consumers (CPI-U)

Suggested Citation