Skip to main content
Skip to main content

S&P 500 Daily OHLCV (2006–2026, 20 Years)

DatasetCSV.GZOpenFinanceStocksOHLCVSP500HistoricalBacktestingFree

Twenty years of daily open/high/low/close/volume bars for every current S&P 500 constituent (503 tickers including dual-class shares like BRK.A/BRK.B and GOOG/GOOGL). Date range: 2006-01-03 through 2026-09-05. Sourced live from Financial Modeling Prep and packaged as a single gzipped CSV — one row per (symbol, date), sorted by symbol then date ascending. Pandas, DuckDB, R, and most data tools read .csv.gz natively. Bedrock dataset for backtesting, factor research, event studies, and ML training. Note: prices reflect FMP's reported values at fetch time and are dividend/split adjusted as provided by FMP.

Use Cases

  • Equity strategy backtesting (mean reversion, momentum, factor rotation)
  • Event studies around earnings, M&A, index rebalancing
  • Volatility / drawdown research across full GFC + COVID + 2022 bear + 2024–25 cycles
  • Training ML models on a clean, single-vendor OHLCV history
  • Quick visualizations and dashboards (Grafana, Plotly, etc.)

Methodology

Fetched ticker-by-ticker from FMP's historical-price-eod/full endpoint in two date windows (2006–2015 and 2016–2026), deduplicated by date, sorted ascending. Constituent list is the current S&P 500 as reported by FMP at build time.

Update Schedule

Static snapshot (no automatic refresh). The dataset reflects the day it was generated.

Attribution

Data: Financial Modeling Prep. Constituent list: S&P 500 as of build date.

Schema

nametype
symbolstring
datedate
opennumber
highnumber
lownumber
closenumber
volumenumber

Sample Data

lowdatehighopenvwapclosechangesymbolvolumechangePercent
22.112006-01-0322.6222.522.4522.570.067383A56343910.31111
22.482006-01-0422.7922.622.62522.630.02695A44545860.13274
22.542006-01-0523.2222.5422.8823.220.68723A51336153.02
22.972006-01-0623.4423.2423.2523.350.10106A65253680.47332
23.192006-01-0923.4523.3523.317523.28-0.067369A4334661-0.29979

Get this via API

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'S&P 500 Daily OHLCV (2006–2026, 20 Years)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls

# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
#    Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
#    Cursor / Claude Code / others: mcp.json
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview 'S&P 500 Daily OHLCV (2006–2026, 20 Years)' and, if it fits, claim it and download the files."
#    Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls
Free

one time · open license

Details

Date Range2006-01-032026-09-04
Rows2,406,477
Size35 MB
Files1
FormatCSV.GZ

Available formats

CSV.GZ35 MB
Freeopen