S&P 500 Daily OHLCV (2006–2026, 20 Years)
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
| name | type |
|---|---|
| symbol | string |
| date | date |
| open | number |
| high | number |
| low | number |
| close | number |
| volume | number |
Sample Data
| low | date | high | open | vwap | close | change | symbol | volume | changePercent |
|---|---|---|---|---|---|---|---|---|---|
| 22.11 | 2006-01-03 | 22.62 | 22.5 | 22.45 | 22.57 | 0.067383 | A | 5634391 | 0.31111 |
| 22.48 | 2006-01-04 | 22.79 | 22.6 | 22.625 | 22.63 | 0.02695 | A | 4454586 | 0.13274 |
| 22.54 | 2006-01-05 | 23.22 | 22.54 | 22.88 | 23.22 | 0.68723 | A | 5133615 | 3.02 |
| 22.97 | 2006-01-06 | 23.44 | 23.24 | 23.25 | 23.35 | 0.10106 | A | 6525368 | 0.47332 |
| 23.19 | 2006-01-09 | 23.45 | 23.35 | 23.3175 | 23.28 | -0.067369 | A | 4334661 | -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_urlsone time · open license
Details
Available formats