Stock Peers Bulk同业公司批量
该接口以单次 CSV 流式响应批量导出全市场上市公司的同行业可比公司映射全表,逐行给出每只股票对应的同行竞争对手代码集合,专为本地量化数据库初始化行业相对估值矩阵与配对交易标的池而设计。
https://quote-fmp.com/stable/peers-bulk数据更新周期
4-6 Hours
接口说明
- 全市场同行图谱入库:单次流式请求即可拉回全市场数万只证券的同行映射关系,免去按单只股票逐个循环请求可比公司接口的漫长耗时,数秒内完成本地同行关系图谱建表。
- 相对估值中位数计算:在计算个股相对于同业竞争对手的市盈率、市净率与企业价值倍数溢价率时,投研系统可直接读取本批量表构建动态同业比较基准,摆脱静态粗粒度行业分类的局限。
- 统计套利与配对选股:量化多空策略可利用本表提供的细粒度业务竞争对手簇,结合历史价格协整检验与基本面因子暴露,在高度同质化的同行股票对中挖掘均值回归与事件传导机会。
- 流式导出响应:调用
/stable/peers-bulk获取同业公司批量时返回标准 CSV 流,切勿调用resp.json(),推荐解析后直接存为本地 Parquet 分区文件。 - 跨模块关联接口:Eod Bulk(日线行情批量) · Income Statement Bulk(利润表批量获取) · Key Metrics TTM(TTM 关键指标) · Stock Price and Volume Data(日线完整行情)
调用代码示例
Python 关键代码请求 /stable/peers-bulk 导出同业公司批量时响应为 CSV 流而非 JSON,请设 60s 超时并用 pd.read_csv 解析 peers(同业公司代码列表)、symbol(证券代码)(如 peers=600036.SS)。
import io
resp = requests.get(
"https://quote-fmp.com/stable/peers-bulk",
params={"apikey": FMP_KEY},
timeout=60,
)
resp.raise_for_status()
# 同业公司批量返回 CSV 文本流,使用 io.StringIO 配合 pd.read_csv 解析
df = pd.read_csv(io.StringIO(resp.text))参数使用和避坑
3 组参数组合 · 2 条避坑以下列出本接口在高频投研与回测场景下的常用 Query 参数组合写法:
| 投研场景 | Query 参数组合示例 | 返回数据特征与用途 |
|---|---|---|
| 一次性拉取全量同业公司批量初始化本地主表 | GET /stable/peers-bulk(免参数) | /stable/peers-bulk 不收业务参数,一次调用拿回全部 2 列(peers、symbol);初始化主表与全量对账都靠这一跳。 |
| 以 symbol 为唯一键覆盖写入,避免全表重复 | GET /stable/peers-bulk → upsert on symbol | 该表以 symbol 唯一(样本 000001.SZ),共 2 列;upsert 到本地表时按 symbol 覆盖写,重复拉取不会产生脏行。 |
| 落库后自检:symbol 唯一性与 peers 空值率 | GET /stable/peers-bulk → count(distinct symbol) / null_ratio(peers) | 先用 symbol 去重计数校验 2 列是否完整落库,再看 peers(样本 600036.SS)的空值率;两者都正常才认为该批次可用。 |
/stable/peers-bulk 直接输出全市场 CSV 流(含 peers 样本 600036.SS 及 symbol),调用 resp.json() 会抛异常,须用 pd.read_csv(io.StringIO(resp.text))。
将同业公司批量(/stable/peers-bulk)落库时,建议以 (symbol) 建唯一索引;文本列 peers(同业公司代码列表,样本 600036.SS)入库前宜执行 .str.strip() 去除首尾空白。
返回数据
2 个字段本接口示例响应共包含 2 个字段(数值型 0 个,文本/日期/布尔型 2 个)。下表列出全部字段名、类型、首条记录真实样本值与中文释义,实际返回会因接口与数据状态有所不同。
| 字段 | 类型 | 示例值 | 说明 |
|---|---|---|---|
symbol | string | "000001.SZ" | 证券代码 |
peers | string | "600036.SS" | 同业公司代码列表 |
查看响应数据示例(原始 JSON)
[
{
"symbol": "000001.SZ",
"peers": "600036.SS"
}
]常见问题解答(FAQ)
2 个问题同业公司 Bulk 与单公司同业查询分别怎么使用?
Bulk 适合一次下载 symbol 到 peers 的全市场映射,响应按 CSV 文本解析,在本地按目标 symbol 取子集;单公司查询适合只查一个标的及其同业资料。peers 是证券代码集合,不能转成数值或当作同业数量;形成股票池后还需核对上市状态和业务可比性。
如何确保从 /stable/peers-bulk 拉取的同业公司批量覆盖完整目标区间且不触发空跑?
为保障采集稳定性,请每日定时调用一次 /stable/peers-bulk 将全量字典同步至本地;并针对 /stable/peers-bulk 返回的 peers(如 600036.SS)建立自动化数据质量断言。
同模块相关接口对比
Profile本接口路径 /stable/peers-bulk,无必填参数。 同一模块「Profile」下共 11 个接口,下表列出其余 10 个, 按粒度与查询维度对比,避免选错接口。
| 接口 | 路径 | 核心差异与适用场景 |
|---|---|---|
| 公司概况批量Company Profile Bulk | /stable/profile-bulk | 以 CSV 流式分片形式一次性返回全市场上市公司的档案主表 |
| 评级批量Stock Rating Bulk | /stable/rating-bulk | 以单次 CSV 流式响应批量导出全市场股票的综合财务评级快照 |
| DCF 批量估值DCF Valuations Bulk | /stable/dcf-bulk | 一次请求即可返回多个代码的现金流折现(DCF)估值,含隐含价格变动空间与百分比差异 |
| 财务评分批量Financial Scores Bulk | /stable/scores-bulk | 以单次 CSV 流式响应批量返回全市场股票的 Piotroski F-Score与 Altman Z-Score截面 |
| 目标价汇总批量Price Target Summary Bulk | /stable/price-target-summary-bulk | 以单次 CSV 流式响应批量导出全市场覆盖股票的分析师目标价汇总截面 |
| ETF持股批量查询ETF Holder Bulk | /stable/etf-holder-bulk | ETF 持仓资产的详细清单,每项资产的持股数量、权重占比、市值 |
| 评级共识批量数据Upgrades Downgrades Consensus Bulk | /stable/upgrades-downgrades-consensus-bulk | 批量获取全部股票代码的分析师评级总览,一次请求即可拿到分析师上调评级、下调评级与共识推荐 |
| TTM 关键指标批量Key Metrics TTM Bulk | /stable/key-metrics-ttm-bulk | 以单次 CSV 流式响应批量导出全市场上市公司的滚动十二个月(TTM)关键财务指标截面 |
| TTM 财务比率批量Ratios TTM Bulk | /stable/ratios-ttm-bulk | 以单次 CSV 流式响应批量导出全市场上市公司的滚动十二个月(TTM)财务比率截面 |
| 批量财报超预期Earnings Surprises Bulk | /stable/earnings-surprises-bulk | 一次返回多家公司年度财报意外数据,实际 EPS 与预期 EPS 对比 |