S&P 500 Index标普500成分股
该接口提供标普 500 指数的详细数据:跟踪这一重要股指成分公司的表现和关键信息。
https://quote-fmp.com/stable/sp500-constituent数据更新周期
1-3 Days
接口说明
- 公司级数据:获取标普 500 中每家公司的详细信息,包括板块和细分行业,调用后可获取
name(名称)、sector(板块)与subSector(子板块) 等核心要素,减少跨市场数据入库时的字段映射工作。 - 历史纳入记录:跟踪公司首次纳入标普 500 的时间,了解指数成分随时间的变化,围绕
sector(板块)与subSector(子板块) 等字段,可在回测中还原历史任意时点的真实截面。 - 地理信息:获取每家公司的总部所在地,提供指数的地理视角,若需补充上下文维度,可搭配同模块的「道琼斯指数成分」交叉比对核心指标。
- 上下游关联接口:Stock Market Indexes List(指数清单) · Index Quote(指数实时报价) · Stock Screener(条件选股) · Exchange Stock Quotes(交易所全量报价)
调用代码示例
Python 关键代码访问 /stable/sp500-constituent 获取标普500成分股(仅 apikey),单条记录含 name(名称)、sector(板块)、subSector(子板块) 等 8 个字段。
resp = requests.get(
"https://quote-fmp.com/stable/sp500-constituent",
params={"apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 提取 标普500成分股 核心列:symbol, name, sector, subSector
df = df[["symbol", "name", "sector", "subSector"]].dropna(how="all")参数使用和避坑
3 组参数组合 · 2 条避坑以下列出本接口在高频投研与回测场景下的常用 Query 参数组合写法:
| 投研场景 | Query 参数组合示例 | 返回数据特征与用途 |
|---|---|---|
| 一次性拉取全量标普500成分股初始化本地主表 | GET /stable/sp500-constituent(免参数) | 该接口不吃 Query 条件:请求 /stable/sp500-constituent 直接下发全表 8 列,name、sector、subSector 全在其中。 |
| 以 symbol 为唯一键覆盖写入,避免全表重复 | GET /stable/sp500-constituent → upsert on symbol | 落库键选 symbol(如 HONA),8 列逐行覆盖;同模块没有带参接口,想补单条只能再拉一次全表。 |
| 落库后自检:symbol 唯一性与 name 空值率 | GET /stable/sp500-constituent → count(distinct symbol) / null_ratio(name) | 先用 symbol 去重计数校验 8 列是否完整落库,再看 name(样本 Honeywell Aerospace Inc)的空值率;两者都正常才认为该批次可用。 |
访问 /stable/sp500-constituent 提取标普500成分股(免业务参数),单条 JSON 含 name(Honeywell Aerospace Inc)、sector(Technology)等 8 个字段,空列表响应代表该条件下无披露记录。
从 /stable/sp500-constituent 抽取 name(样本 Honeywell Aerospace Inc)入库时,以 (symbol, cik, sector) 建唯一索引可安全支持定时全量或增量刷新。
返回数据
8 个字段本接口示例响应共包含 8 个字段(数值型 0 个,文本/日期/布尔型 8 个)。下表列出全部字段名、类型、首条记录真实样本值与中文释义,实际返回会因接口与数据状态有所不同。
| 字段 | 类型 | 示例值 | 说明 |
|---|---|---|---|
symbol | string | "HONA" | 证券代码 |
name | string | "Honeywell Aerospace Inc" | 名称 |
sector | string | "Technology" | 板块 |
subSector | string | "Aerospace & Defense" | 子板块 |
headQuarter | string | "Charlotte, North Carolina" | 总部所在地 |
dateFirstAdded | string | "2026-06-29" | 首次加入日期 |
cik | string | "0002089271" | SEC CIK 编号(SEC 10 位定长中央索引键,落库须定义为 VARCHAR(10) 字符串以防前导零丢失) |
founded | string | "1913-12-31" | 成立年份 |
查看响应数据示例(原始 JSON)
[
{
"symbol": "HONA",
"name": "Honeywell Aerospace Inc",
"sector": "Technology",
"subSector": "Aerospace & Defense",
"headQuarter": "Charlotte, North Carolina",
"dateFirstAdded": "2026-06-29",
"cik": "0002089271",
"founded": "1913-12-31"
}
]常见问题解答(FAQ)
2 个问题如何区分「Latest Constituents」模块的标普500成分股与 纳斯达克指数?/stable/sp500-constituent 的传参要求是什么?
两者的差异在于入口与字段集:/stable/sp500-constituent(标普500成分股)要求免业务参数并产出 8 列(含 name=Honeywell Aerospace Inc);Nasdaq Index(纳斯达克指数)要求无必填参数并产出 8 列。
拉取 /stable/sp500-constituent 的标普500成分股数据时,如何处理历史回溯、空结果判定或代码格式?
针对 /stable/sp500-constituent,推荐每日定时调用一次 /stable/sp500-constituent 将全量字典同步至本地;这样既能稳定获取 name(名称),又能避免单次请求载荷过大。
同模块相关接口对比
Latest Constituents本接口路径 /stable/sp500-constituent,无必填参数。 同一模块「Latest Constituents」下共 3 个接口,下表列出其余 2 个, 按粒度与查询维度对比,避免选错接口。