QVeris
股票数据 API 指南

查找适用于每日 OHLCV 的
免费 EOD 股票数据 API

构建数据流程前,应从市场覆盖范围、收盘价口径、数据最终确认时间、公司行为处理方式、历史跨度、请求限额和导出格式等方面评估免费的股票日终数据 API。

Hand-drawn workflow from market close and daily OHLCV data through an API request to backtesting and reporting

快速解答:免费 EOD 股票数据 API 是什么

EOD 股票数据 API 通常为每个已经结束的交易日返回一条日线记录,包括开盘价、最高价、最低价、收盘价和成交量(OHLCV)。它适合夜间投资组合估值、日频因子研究、选股、报告和回测,并不适合盘中交易执行。真正可用的免费套餐还应说明覆盖哪些交易所和证券类型、“收盘价”采用什么口径、日线何时最终确认,以及拆股、分红、代码变更和盘后修订会如何影响历史数据。

不要把收盘铃响后最先出现的数字直接当成不可变的官方收盘价。不同市场和供应商可能采用最后一笔合格成交、收盘竞价价、综合行情收盘价或供应商计算的参考价;期货等品种还可能使用结算价。对于生产级日线流程,这一口径通常比接口响应是 100 毫秒还是 500 毫秒更重要。

适用场景

适合回测、选股器、研究笔记本、投资组合报告,以及不需要实时逐笔行情的仪表盘。

要最终值,不只是延迟值

日线可能在收盘后很快出现,但在竞价、迟报成交和修订处理完成前,它仍可能只是初步值。

免费并非无限

免费套餐通常会限制调用次数、历史跨度、交易所覆盖、标的数量、批量下载、再分发或商业用途。

日线股票数据接口应返回哪些字段

字段字段含义核对事项
OHLC常规交易时段或供应商明确说明的其他时段内形成的开高低收价格。是否包含盘前盘后成交,以及“收盘价”究竟指最后成交价、收盘竞价价、官方收盘价还是结算价。
交易日标识交易日期、交易所、时区、计价币种和交易状态。提前收盘、节假日、跨市场上市证券,以及与 UTC 日期不同的本地交易日边界。
成交量指定交易时段内报告的成交股数或合约数。计量单位、跨场所汇总、零股交易、竞价成交量和盘后修订规则。
原始值与复权值未经处理的市场观测值,以及针对拆股、有时也包含分红调整后的连续序列。复权范围、因子生效日、分红处理惯例,以及是调整全部 OHLC 字段还是只调整收盘价。
发布状态日线是初步值、修订值还是最终值,并附带来源时间和更新时间。供应商的修订窗口、重述规则,以及历史版本能否追溯。
证券身份证券代码、永久标识、上市地点、资产类型和有效日期范围。退市、代码复用、并购、股份类别变更和按历史时点还原的代码映射。

值得测试的免费 EOD 股票数据 API

不存在适用于所有日线任务的唯一最佳免费接口。小型自选股可以使用按证券查询的 API;全球选股器更需要高效的多标的访问;回测则需要比近期紧凑响应更长的历史。下面根据当前官方资料整理了几个实用起点,但免费套餐边界可能变化,部署前仍应重新核验。

服务商免费起点的价值关键限制优先测试
Alpha Vantage官方 TIME_SERIES_DAILY 接口通过免费 API Key 提供全球股票原始日线 OHLCV,并支持 JSON 或 CSV。免费 compact 响应只返回最近 100 条;完整 20 多年历史以及 Daily Adjusted 接口在官方文档中属于付费能力。需要近期原始日线的小型自选股或夜间报告,而不是全市场深度历史回填。
Twelve Data其个人套餐页面把全球股票与 ETF 的 EOD 数据列入免费范围,time series 接口可返回按时间排列的 OHLC,以及适用品种的成交量。即使批量请求,额度仍按标的消耗,并按官方信用额度窗口重置;覆盖范围、历史深度、交易所访问和再分发仍取决于套餐。多资产或国际市场原型,并实测每个交易日更新完整证券池所需的总额度。
Marketstack官方 FAQ 说明免费套餐支持 EOD 数据,每月最多 1,000 次 API 请求,并提供最长 12 个月历史。12 个月不足以支持长期因子研究;如果每个标的单独请求,月度额度也可能很快耗尽。标的数量经过严格控制的近期行情看板或概念验证。

不要只比较宣传中的历史跨度。用同一组拆股日、分红日、提前收盘日、退市证券和跨市场上市证券测试所有候选。如果接口不能稳定识别同一证券,也无法解释日线为何发生变化,那么再大的标的数量也不能让数据变得可靠。

30 分钟快速验收样本

先测试 10 个有代表性的证券,而不是随机抓 100 个:两只高流动性美股、一只 ETF、一只 ADR 或海外上市证券、一只低成交量小盘股、一只发生过代码变更的证券、一只已退市证券(若支持)、一个近期拆股案例、一个现金分红除息日,以及一个提前收盘交易日。记录每家接口返回的交易日、时区、币种、原始值与复权值、缺失字段、响应时间、额度消耗,以及第二次抓取时最近日线是否变化。这样的证据比只成功请求一只热门大盘股更有判断力。

如何评估免费 EOD 股票数据 API

定义交易日何时最终确认

检查交易所时区、提前收盘、竞价、迟到成交和供应商发布时间。当地时间 16:01 获取的日线可能仍是初步值,之后还会修订。

同时保留原始与复权日线

要求原始 OHLCV 加拆股、分红事件或明确复权因子。计算收益时不能把复权收盘与未复权开高低价混在一起。

按照交易所日历调度

在各市场预期完成窗口后运行,跳过节假日和临时休市,并区分缺失交易日与证券真实零成交。

对账盘后修订

重复抓取短期滚动窗口,比较数据哈希,为变化的日线设置版本并记录原因。日频管道更需要受控修订,而不是极高请求速度。

测试特殊交易日,而不只看近期普通交易日

应抽查提前收盘日、节假日前后、拆股除权日、特别分红日、停牌日、发生迟报修订的日期以及已退市证券。这些场景更容易暴露日历、复权和证券身份问题,而大型活跃股票的一周正常数据往往看不出来。

核算完整回填成本与许可边界

把免费限额换算为完成整个股票池回填所需的请求数和时间,并核对缓存、衍生数据、再分发及商业使用条款。接口价格为零,并不等于它适合生产产品。

拆股与分红示例:如果一只股票在 1 拆 2 前收于 100 美元,除权日开盘约为 50 美元,原始价格序列会显示接近 50% 的下跌,但一股旧股实际已经变成两股新股。拆股复权应把拆股前价格除以 2,同时把拆股前成交股数乘以 2;如果成交量也按价格方向除以 2,就会破坏换手和成交量分析。现金分红采用另一套回报口径:若股票在每股 1.00 美元现金分红前收于 50.00 美元,除息日收于 49.50 美元,价格收益为 49.50 ÷ 50.00 - 1 = -1.0%,而不考虑税费与再投资时点的含分派回报为 (49.50 + 1.00) ÷ 50.00 - 1 = 1.0%。应保留原始日线、公司行为记录、复权因子和回报计算口径,使用户能够复现任一序列。

可靠的 EOD 数据接入流程

  1. 依据交易所日历建立预期交易日清单,纳入提前收盘、节假日和临时休市;不能只根据接口返回的行来推断是否开市。
  2. 按照供应商注明的发布时间调度,而不是简单从名义收盘时间起算;同时获取原始日线、复权输入和数据状态元信息。
  3. 检查 OHLC 逻辑关系、非负成交量、币种、交易日期、证券身份及股票池完整性。异常数据应进入待核队列,不能静默向前填充。
  4. 不可变地保存原始响应,把首个版本标记为初步值,并滚动复查近期数据。来源修订日线时,应同时保留新旧数值。
  5. 在独立且可追溯的层中应用拆股和分红调整,使研究既能复现市场原始序列,也能复现选定的总回报口径。
  6. 在下游报告或回测启动前,发布每日质量清单,列出缺失证券、陈旧日线、来源时间、复权版本和最终确认状态。

借助 QVeris 发现股票数据能力

QVeris 可帮助智能体发现并检查可调用的金融数据能力,无需一开始就在代码中绑定某一家供应商。对于 EOD 流程,应先检查证券代码与日期参数、交易所覆盖、原始值与复权字段、返回时间戳和错误处理方式,再调用相应工具。结果仍需经过自己的质量校验、来源版本和许可控制;能够发现并调用接口,并不意味着不同供应商的数据口径可以直接互换。

常见问题

EOD 股票数据何时可用?

具体时间取决于交易所和供应商。日线可能在收盘数分钟后出现,但在竞价、迟报成交和修订处理完成前仍是初步值。应按照公开的发布时间调度,并滚动复查近期交易日。

官方收盘价等于最后成交价吗?

不一定。官方收盘价可能来自收盘竞价或交易所计算,而最后一笔报告成交可能迟报、发生在场外,或不符合收盘价资格。必须核对接口采用的价格定义。

EOD 价格是否应当复权?

应把原始市场观测和公司行为作为底层事实,再生成单独设有版本的复权序列。这样既能避免混用复权与未复权字段,也能复现所采用的拆股和分红口径。

免费 EOD 数据能否用于回测?

如果历史跨度、退市证券、时点化代码映射、公司行为、缺失交易日和许可条件都满足要求,它可以支持日频研究。只包含当前证券代码的数据会产生幸存者偏差。

如何处理盘后修订?

应保存不可变的原始版本,滚动重抓近期窗口,比较变化字段,并记录来源时间与采集时间。只有经过预先定义的修订窗口后,才能把初步日线提升为最终值。

权威参考资料

查找适用于每日 OHLCV 的 免费 EOD 股票数据 API | QVeris Guides