QVeris
市场数据指南

免费股票 API:可靠接入指南

上线前比较行情、历史、基本面、延迟、限额、授权条款和故障处理。

免费股票 API:可靠接入指南

先定义免费股票 API 需求

先明确你的决策或产品目标。自选股需要当前行情,回测需要复权历史数据,选股器需要基本面,Agent 工作流则需要稳定字段与来源元数据。

“免费股票数据”并不是单一产品。行情接口可能只返回最新成交价,日线数据集可以覆盖多年,却没有盘中更新;基本面数据通常跟随公司财报周期,监管申报则可能以文档而非整齐表格提供。因此在比较供应商之前,应先写清市场范围、资产类别、数据频率、历史深度以及可接受的延迟。

对于研究任务,只有价格字段通常不够。你还可能需要交易日历、代码变更、退市记录、币种、交易所标识和公司行动。这些参考字段能减少幸存者偏差,也能让价格与基本面正确关联。来源清楚、标识一致的小型数据集,往往比来源不明、复权规则模糊的大型数据源更有价值。

行情与快照

最新价、涨跌、买卖价、交易状态和时间戳。务必确认数据是实时行情、延迟行情、参考报价还是日终数据。

历史 OHLCV

按周期提供开高低收和成交量。计算收益率前,要核对拆股、分红与复权收盘价的方法。

基本面

利润表、资产负债表、现金流、比率和公司资料。注意报告期、币种以及后续重述。

参考与来源元数据

代码映射、交易所、时区、数据血缘和供应商身份,让结果更容易解释与审计。

先确认股票数据需求

常见免费端点

免费股票 API 通常提供延迟行情、日线 OHLCV、代码搜索、公司资料与部分基本面。

选型标准

比较交易所覆盖、延迟、复权规则、调用额度、稳定性、文档与商业使用条款。

接入模式

保留原始响应,统一为自有字段结构,缓存稳定数据,并在使用前验证时间戳。

免费边界

免费 API 可能延迟或限流,也不一定允许实时交易、公开展示或再分发。

如何比较免费股票 API 方案

没有一种来源适合所有工作流。交易所和监管机构最接近一手记录,但文件往往需要更多清洗;市场数据 API 查询方便,不过免费套餐通常以较低调用限额、延迟行情、较短历史或较窄市场覆盖来换取便利。券商数据适合个人交易流程,而可下载文件更适合可重复的研究分析。

来源提供内容适合场景注意事项
交易所或监管机构权威的上市信息、公告与申报文件。核验与一手资料研究。可能分散,且不一定便于 API 调用。
免费市场数据 API标准化的行情、历史与基本面。应用、Agent、原型与可重复研究。有调用限额、延迟和授权限制。
券商数据与账户关联的行情和交易上下文。个人投资组合与交易执行流程。可能要求符合条件的账户。
CSV 或批量数据集便于分析与归档的可移植文件。表格、Notebook 与回测。通常不如实时 API 更新及时。

不要只看功能清单,最好用同一组小样本横向测试:选择一只高流动性股票、一只成交稀疏的证券、一个曾更换代码的标的,以及包含拆股或分红的日期。对比时间戳、缺失记录、数值精度、复权方式和错误信息。即使字段名称相同,这种测试也能快速发现不同供应商对交易时段和指标定义的差异。

结合已核验的限制与数据角色比较供应商

与供应商名称相比,更重要的是明确它在工作流中承担的任务。Alpha Vantage 提供免费 API Key,并说明其免费服务中的大多数数据集每天最多可调用 25 次;其支持页面同时说明,美国股票实时数据和 15 分钟延迟数据属于付费能力。Financial Modeling Prep 要求 API Key,提供行情、历史价格、公司资料、财务报表和公司行动等标准化端点。Massive(原 Polygon.io)的文档说明,其美国股票数据来自交易所、SIP、FINRA 设施及 OTC 市场,实际可用范围由套餐与授权决定。这些服务适合作为应用数据源,但免费范围和许可条款应在接入当天重新核验。

SEC EDGAR 承担的是另一类任务。它的申报记录与 XBRL 公司事实 API 无需密钥、会在日内更新,适合获取一手申报和基本面信息,但不是实时股价源。SEC 要求自动化客户端声明可识别的 User-Agent,并遵守每秒不超过 10 次请求的公平访问限制。因此,一个稳健的研究数据栈可以用市场数据 API 获取价格、用 EDGAR 获取申报,再用公司或交易所记录完成关键核验,而不是强求一家供应商覆盖所有任务。

候选来源适合角色已核验边界接入前测试
Alpha Vantage原型、日线、指标及部分基本面。多数免费数据集每天最多 25 次;美国实时与 15 分钟延迟数据为付费能力。端点限额、历史深度、复权字段与商用条款。
Financial Modeling Prep标准化行情、公司资料、财报与公司行动。必须使用 API Key;端点是否可用取决于当前套餐。交易所覆盖、延迟、报告期定义、修订与再分发权利。
Massive / Polygon.io美国报价、成交、聚合行情与参考数据工作流。可访问的数据流与时效由套餐和市场数据授权决定。SIP 与场所覆盖、WebSocket 行为、交易时段及展示权。
SEC EDGAR一手申报、提交记录和结构化 XBRL 公司事实。无需密钥;需标识客户端且每秒不超过 10 次请求。CIK 映射、分类标准变化、单位、申报期、修订与重述。

把股票代码视为标签,而不是永久标识

股票代码可能被重复使用,也可能因重组而变更,并且会因交易场所和股份类别而不同。应把供应商代码与交易所或 MIC、币种、证券名称和生效日期范围一起保存;若来源提供 CIK、FIGI 或 ISIN,也应作为额外关联键保留。不要只按今天的股票代码把十年价格连接到当前公司表,否则可能把旧记录错误地归给另一发行人,或悄悄丢掉已经退市的证券。

原始价格、复权价格与历史时点可得数据

历史行情端点只有在复权规则明确后才适合分析。原始 OHLC 反映每个交易时段实际观察到的价格;复权序列可能根据拆股、现金分红、特别分红或其他公司行动回写早期价格,使跨期收益更便于比较。不同供应商可能采用不同因子和修订周期。应同时保留原始字段、复权字段、复权因子、公司行动事件、供应商、抓取时间和方法版本,而不是用一个序列覆盖另一个。

避免重复复权

如果端点已经返回复权 K 线,再次应用拆股或分红因子会破坏收益率。选择一个已知公司行动日期做测试,并记录哪些字段已经复权。

建立时点证券池

回测需要知道每个历史日期当时有哪些证券存在。应纳入上市、退市、代码变更和指数成分生效日期,以减少幸存者偏差与前视偏差。

区分事件时间与交付时间

分别保存市场事件时间、供应商发布时间和系统入库时间,才能判断模型或决策运行当时真正可以获得哪些信息。

面向生产环境的 API 接入流程

可靠的工作流会把“发现数据源”和“正式使用”分开。先查看供应商文档与示例响应,再发起小规模请求,保存原始返回,并转换为自己的稳定字段结构。数据进入图表、模型、表格或 Agent 之前应先经过验证。这样未来更换数据源时,无需重写整个产品。

1. 按需求搜索

先确定股票代码和数据类型:行情、历史、基本面、公司行动或监管申报文件,不要在需求明确前锁定供应商。

2. 调用前检查

检查字段结构、交易所覆盖、延迟、示例响应、调用成本、限额、来源与商业使用规则。

3. 明确传入参数

传入代码、周期、起止日期、复权模式和输出格式,并保存每条结果对应的供应商时间戳。

4. 验证输出

分析前检查缺失交易日、重复记录、时区、拆股复权、空值和意外的字段变化。

使用 API 时,应缓存不要求秒级更新的结果,对临时失败采用指数退避,并记录请求时间、参数、状态码和供应商时间戳。使用 CSV 时,应把原始文件与清洗后的表格分开保存,同时记录下载日期、分隔符、编码和时区。两种方式都需要可重复的更新策略,避免新旧数据在无提示的情况下混合。

一个真实且无需密钥的 SEC 公司事实请求

下面的请求从 SEC EDGAR 获取苹果公司的结构化公司事实。示例先检查可用分类标准字段,而不是假设每家公司都使用同一个收入标签。请把示例联系信息替换为真实项目名称和有人维护的邮箱。该端点演示的是一手基本面数据,不会返回当前股票报价。

import requests

url = "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json"
headers = {"User-Agent": "ResearchApp ops@example.com"}
response = requests.get(url, headers=headers, timeout=20)
response.raise_for_status()

payload = response.json()
print(payload["entityName"])
print(sorted(payload["facts"].get("us-gaap", {}).keys())[:10])

在生产环境中,应把原始响应写入不可变存储,记录 URL 和获取时间,再只标准化任务需要的事实字段。需要核验单位与财务期间,区分申报值和衍生指标,并保留修订信息。使用 QVeris 时,可以先查找适合的行情、历史、申报或基本面数据能力,检查输入要求和来源信息,再用明确参数调用,并把供应商原始响应与标准化结果并存。QVeris 可以帮助组织和调用这些能力,但不能替代市场数据授权,也不保证供应商的数据或许可信息一定正确。

免费股票 API 可靠性检查清单

可靠的数据源会在你正式依赖它之前,清楚展示覆盖范围、更新时间、供应商身份、请求限额、价格与授权条款。

数据质量不只是判断一个数字“看起来是否合理”。每条记录都应对应正确的交易场所、交易时段、币种和时区,还要确认时间戳表示成交时间、K 线结束时间,还是供应商发送时间。构建指标或回测时,应记录如何处理缺失交易日、零成交量、重复行、异常值、拆股、分红以及重述后的财务数据。

  • 确认市场、交易所、资产类别、周期和历史深度。
  • 记录价格是否复权,以及拆股和分红等公司行动的处理方式。
  • 为每条结果保留来源、时间戳、币种、时区和请求参数。

最后,许可证应当和字段说明一样认真阅读。免费访问可能允许个人分析,却限制公开展示、再分发、自动抓取、模型训练或商业产品。建议在项目中保存适用条款的链接或副本,并在供应商调整套餐时重新检查。如果数据用于交易、合规或面向客户的决策,关键数值还应与权威来源交叉核验。

如需检查具体股票数据来源,可打开 QVeris 中的 Financial Modeling Prep 服务商详情;接入时请参阅 QVeris REST API 参考。

常见问题

有免费的股票 API 吗?

有。许多市场数据供应商提供行情、日线历史、代码搜索或基本面的免费套餐,但通常存在调用与覆盖限制。

免费股票 API 是实时的吗?

部分是实时的,但很多返回延迟或日终数据,或只覆盖特定市场。务必检查时间戳、授权与交易所说明。

能以 CSV 下载历史股票数据吗?

许多供应商支持 CSV。下载后要核对周期、时区、缺失交易日以及收盘价是否复权。

免费数据可以商用吗?

取决于许可证。能够调用 API 不代表自动拥有展示、再分发、衍生数据或商业使用权。

JSON 和 CSV 哪种格式更合适?

JSON 更适合需要重复请求并保留结构化元数据的应用;CSV 更适合电子表格、批量下载、Notebook 和便携归档。无论选择哪种格式,在合并多个文件或供应商之前,都应统一字段名称、日期格式、数值类型和空值规则。

如何判断免费股票数据是否准确?

选择多个股票代码和历史日期,与交易所、监管机构、上市公司申报文件或另一独立来源进行对照。重点检查时间戳、小数精度、公司行动、缺失交易日与更新频率。供应商的覆盖范围和字段结构可能变化,因此准确性检查应持续进行,而不是只在首次接入时完成。

外部参考链接

免费股票 API:可靠接入指南 | QVeris Guides