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 1928, including reinvested dividends, 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. For a tech-weighted comparison over a shorter horizon, see our Nasdaq Composite index dataset.
Dataset: S&P 500 Historical Returns · Data through 2025-12-31
Loading dataset…
Source: Aswath Damodaran (NYU Stern) · S&P 500 annual total return incl. dividends (bars) vs inflation-adjusted real return (line)
Macro Takeaway
The S&P 500 has delivered an annualized nominal return of approximately 10% since 1928, but in real terms — after adjusting for CPI inflation — the figure drops to roughly 7%. 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 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. Worth reading alongside: what separates near-identical S&P 500 ETFs.
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 been associated with stronger subsequent 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
| Indicator | S&P 500 Total Returns (nominal & real) |
|---|---|
| Geography | United States |
| Frequency | Annual |
| Period | 1928–2025 |
| Variables | date, nominal return (%), CPI inflation (%), real return (%) |
| Format | CSV, Excel (XLSX) |
| Sources | Aswath Damodaran (NYU Stern) — S&P 500 returns and CPI-U inflation |
| Latest observation | 2025-12-31 |
Dataset Variables
The CSV and Excel files contain the following columns. Each row represents one calendar year.
| Column | Type | Description |
|---|---|---|
date | Date | Year-end date (December 31) of the calendar year |
nominal_return | Float | S&P 500 total return including dividends, in percent |
cpi_inflation | Float | US CPI-U change, December-over-December, in percent |
real_return | Float | Inflation-adjusted return, geometric: (1+nominal)/(1+inflation)−1, in percent |
Column names match the CSV headers exactly.
Download the Complete Dataset
The full dataset is available in CSV and Excel formats — 98 years of annual equity returns (1928–2025).
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 the CPI-U inflation series from the same workbook 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(), 'date'][:4]}")
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 roughly 2 percentage points of annual return.
Inflation is the annual CPI-U change (December-over-December), taken from the same Damodaran workbook, which compiles it from the US Bureau of Labor Statistics series. This is the standard measure used for inflation-adjusted return calculations.
Real returns use the exact geometric formula — (1 + nominal) / (1 + inflation) − 1 — not the linear approximation (nominal − inflation). The difference is most visible in high-inflation years: in 2022, a −18.0% nominal return with 6.5% inflation yields −23.0% real (geometric), versus −24.5% under the linear shortcut.
The series covers complete calendar years only. It is refreshed when Damodaran publishes the prior year’s figures, typically each January.
Historical Regimes
The series begins in 1928. The four most recent decades illustrate how regime-dependent equity returns are — and why a single long-run average obscures more than it reveals.
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. On investing after a market that has just made new highs, see what the record high actually shows.
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–2025 — 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
- US 10-Year Treasury Yield — The discount rate driving equity valuations
- Real 10-Year Treasury Yield — Real cost of capital for the economy
- US CPI Inflation History — The inflation component of real return calculations
- Credit Spreads & Recession Risk — Risk appetite indicator for cross-asset analysis
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 Stocks, Bonds and Bills (S&P 500, including dividends)
- U.S. Bureau of Labor Statistics — Consumer Price Index for All Urban Consumers (CPI-U), via the Damodaran workbook
Dataset Reference
Last updated — 4 August 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.
