Skip to main content
Skip to main content

Index Constituent Membership History — S&P 500, NASDAQ-100, Dow Jones

by dAgentBaseData quality A · 90/100
DatasetCSV.GZOpenFinanceIndicesConstituentsSurvivorship BiasBacktestingSP500NASDAQDowFree

Two-file companion dataset for survivorship-bias-free backtesting. (1) Current constituents (635 rows): every member of the S&P 500, NASDAQ-100, and Dow Jones Industrial Average as of build date, with sector, sub-sector, headquarters, founding year, CIK, and date first added to the index. (2) Historical changes (2055 rows): every add/drop event for these three indices, stretching back to 1957 (S&P 500), 1985 (NASDAQ-100), and 1994 (Dow Jones), with the symbol added, the symbol replaced, the date, and the reason given by S&P/NASDAQ/Dow. Why this matters: every realistic backtest of an index strategy on point-in-time membership requires knowing who was IN the index at each historical date — without this, you suffer survivorship bias (only seeing winners that survived to today). Reconstruct membership at any past date by starting with current and replaying changes backwards. Read with pandas.read_csv(path, compression='gzip', parse_dates=['date']).

Use Cases

  • Survivorship-bias-free backtesting (reconstruct point-in-time index membership)
  • Index turnover analysis: which sectors are gaining / losing weight over time
  • Trading the rebalance: studying announcement-effect alpha around add/drop events
  • Long-horizon performance studies on "survived" vs "removed" populations
  • Building accurate benchmark portfolios for any historical date

Methodology

Six FMP calls: sp500-constituent, nasdaq-constituent, dowjones-constituent for current membership; historical-sp500-constituent, historical-nasdaq-constituent, historical-dowjones-constituent for change history. Combined into two CSVs (current and historical) with an index column distinguishing the three indices.

Update Schedule

Static snapshot. S&P / NASDAQ / Dow only change a handful of times per year — refresh quarterly if needed.

Attribution

Source: index methodology committees (S&P Dow Jones Indices, NASDAQ) via Financial Modeling Prep.

Schema

nametype
indexstring
symbolstring
namestring
sectorstring
subSectorstring
dateFirstAddeddate
cikstring
foundedstring

Sample Data

ciknameindexsectorsymbolfoundedsubSectorheadQuarterdateFirstAdded
0000320193Apple Inc.Dow JonesTechnologyAAPL1976-04-01Consumer ElectronicsCupertino, CA2015-03-19
0000318154Amgen Inc.Dow JonesHealthcareAMGN1980-04-08Drug Manufacturers - GeneralThousand Oaks, CA2020-08-31
0001018724Amazon.com, Inc.amazon.comDow JonesConsumer CyclicalAMZN1994-07-05Specialty RetailSeattle, WA2024-02-26

Get this via API

Choose your client and connect your agent
# Example for Cursor (.cursor/mcp.json).
# For Claude, ChatGPT and Codex, use the Connect your agent guide.
# Read-only keys can preview and query data you already have access to.
{
  "mcpServers": {
    "dagentbase": {
      "url": "https://dagentbase.com/api/mcp",
      "headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
    }
  }
}

# 2. Then ask your agent, in plain language:
#    "Preview listing 4fdbe015-bcd1-4ed1-86ee-14aa1eac44b5 and explain its coverage and license."
#    Tools: preview_listing -> describe_dataset -> query_dataset
#    Claim or purchase in the platform before querying with a read-only key.
Free

one time · open license

Details

Date Range1957-03-03 — 2026-09-05
Rows2,690
Size65.8 KB
Files2
FormatCSV.GZ

Available formats

CSV.GZ2 files · 65.8 KB
Freeopen
Index Constituent Membership History — S&P 500, NASDAQ-100, Dow Jones | dAgentBase