S&P 500 — Historical Data, Returns & Market Regimes

The S&P 500 price index is the most widely followed equity benchmark in the world, tracking the market capitalization-weighted performance of 500 large-cap US companies. This dataset provides daily closing prices from the FRED series SP500, spanning over seven decades of market history. For the tech-sector counterpart, see our Nasdaq Composite index dataset.

The S&P 500 reflects the long-term growth of US corporate earnings.
But returns are not linear: they are shaped by cycles of expansion, crashes, and valuation shifts.

Dataset: S&P 500 Price Index (1950–2026) · Updated 2026-05-15

Latest Value
$7,408.50
May 15, 2026
Historical Percentile
99.8th
Historically high
Historical Average
$3,951.74
2,515 observations
Historical Range
HIGH
$7,501.24
May 14, 2026
LOW
$2,000.54
Jun 27, 2016

New datasets. No noise. Get notified when new macro and market datasets are published.



Loading FRED data…

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

Major S&P 500 Crashes

  • 1973–74 bear market
  • 2000–2002 dot-com crash
  • 2008 financial crisis
  • 2020 COVID crash

Macro Takeaway

The S&P 500 price index alone understates total investor returns by roughly 2 percentage points per year, since it excludes reinvested dividends. Nevertheless, the price series remains the reference for technical analysis, drawdown measurement, and valuation metrics. The index’s long-term trajectory reflects the compounding of US corporate earnings growth, which has averaged approximately 6-7% nominally over the post-war period — closely tracking nominal GDP growth, as economic theory would predict.

The current price level must be interpreted relative to the underlying earnings regime and the discount rate applied by the market. A rising S&P 500 during a period of rising long-term rates implies expanding earnings expectations, while a rising index during falling rates may simply reflect multiple expansion — a distinction with very different implications for forward returns.


Dataset Overview

IndicatorS&P 500 Price Index (1950–2026)
GeographyUnited States
FrequencyDaily (business days)
Period1950–2026
Variablesdate, sp500_close
FormatCSV, Excel (XLSX)
SourcesFederal Reserve Bank of St. Louis — FRED
Last updated

Dataset Variables

The CSV and Excel files contain the following columns.

ColumnTypeDescription
dateDate (YYYY-MM-DD)Observation date
sp500_closeFloatS&P 500 daily closing price, in US dollars

Column names match the CSV headers exactly.


Download the Complete Dataset

The full dataset is available in CSV and Excel formats.

New datasets. No noise. Get notified when new macro and market datasets are published.


FRED Direct CSV Access

The underlying data is available from FRED under series code SP500:

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

Direct CSV Access — Eco3min Structured Dataset

https://eco3min.fr/dataset/sp500-price-index.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-price-index.csv"
df = pd.read_csv(url, parse_dates=["date"])

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

Using the Dataset in R

library(readr)

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

head(df)
summary(df$sp500_close)

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


Methodology

The S&P 500 price index is maintained by S&P Dow Jones Indices and reflects the float-adjusted market capitalization of 500 US-listed companies selected by committee. The index is price-return only — it does not include reinvested dividends. For total return analysis, see the S&P 500 Total Return Index (SP500TR).

The FRED series SP500 reports daily closing values. The index is calculated in real-time during trading hours and published at market close (4:00 PM ET). Weekend and holiday dates are excluded.

This dataset is updated weekly (Saturday 08:00 UTC) via automated pull from the FRED API.


Historical Regimes

1950–1968 — Post-war secular bull. The index rose from 17 to 108, a six-fold increase driven by US industrial dominance, baby boom demographics, and the Bretton Woods stability framework. This era established the “stocks for the long run” narrative.

1968–1982 — Nominal stagnation. The index moved sideways between 70 and 120 for 14 years as inflation eroded real returns. In real terms, this was a devastating bear market masked by nominal price stability.

1982–2000 — The great bull market. From 102 to 1,527 — a 15x increase driven by falling rates, deregulation, and the technology revolution. The dot-com bubble pushed the index to valuations (CAPE above 44) that would not be sustainably exceeded for two decades.

2000–2013 — Two crashes, one recovery. The index peaked at 1,527 in 2000, bottomed at 677 in March 2009, and only recovered its 2000 high in 2013 — a full 13 years later. This period illustrates the importance of starting valuations for long-term returns.

2013–present — QE era and concentration. From 1,500 to above 5,000, driven by zero rates, QE, and unprecedented earnings growth from mega-cap technology companies. By 2024, the top 10 stocks represented over 35% of the index — the highest concentration since the early 1970s.


Related Macroeconomic Datasets

Related Research


Macroeconomic Dataset Hub

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

Explore the Eco3min Dataset Hub


Sources

  • S&P Dow Jones Indices — S&P 500 Index
  • Federal Reserve Bank of St. Louis — FRED series SP500

Dataset Reference

Last updated — 16 May 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.