Python 股票数据 API 终极对比:个人量化开发者如何

用户头像sh_*056uc6
2026-09-19 发布

量化策略写了两周,回测收益翻倍,一接实盘却满屏缺失值;免费接口昨天还能跑,今天字段就变了;所谓“实时行情”,实际延迟几分钟。个人量化最容易低估的不是策略难度,而是数据源决定了策略的上限。

这篇文章不堆接口名单,直接回答三个问题:历史回测用什么,盘中行情用什么,准备实盘时又该怎么搭。

先说结论:不要迷信“一个数据源包打天下”

2026 年个人开发者比较稳妥的方案,不是找到一个万能 API,而是建立三层数据结构:

数据层 主要用途 推荐选择
历史研究层 日线、财务、指数成分、因子研究 Tushare Pro、Baostock、AKShare
盘中行情层 实时快照、K 线、五档、竞价、涨停池 黑狼数据等实时行情 API
交易验证层 持仓、委托、成交、可用资金 券商提供的交易接口

历史数据追求完整和可复现,实时数据追求延迟与稳定,交易数据必须以券商回报为准。

如果你只做日频选股,没必要为毫秒行情买单;如果策略依赖集合竞价、封板资金或五档盘口,免费网页数据再省钱也可能把策略做废。

2026 年常见数据源横向对比

数据源 历史数据 实时能力 接口稳定性 使用成本 更适合谁
AKShare 较强 一般 依赖上游网页 低 学习、原型验证、多市场探索
Baostock 基础够用 较弱 相对简单 低 日线回测、入门研究
Tushare Pro 强 一般 较规范 按权限体系 因子研究、财务分析、历史数据库
黑狼数据 中等 较强 API 化接入 需申请 Token A 股盘中策略、五档和竞价研究
券商或持牌商业数据 强 强 通常较高 较高 实盘生产、资金规模较大的团队

这里没有绝对排名。数据源是否好用,取决于你的策略频率、市场范围、预算和容错能力。

日频策略和竞价策略讨论“哪个数据源最好”,就像自行车和赛车讨论哪种轮胎最好,场景根本不同。

AKShare:非常适合研究,不宜裸奔进生产

AKShare 最大的优势是覆盖面广、上手快。股票、基金、期货、宏观数据都能在一个 Python 包里调用,很适合验证想法。

它的不确定性也很明显:部分接口封装自公开网页,上游页面、参数或反爬策略发生变化,接口可能随之失效。

适合它的任务包括:

  • 快速验证一个因子有没有研究价值
  • 抓取低频公开数据
  • 补充冷门市场和另类数据
  • 制作一次性分析报告

不建议把单一 AKShare 接口直接放进无人值守的实盘链路。真要使用,至少要增加本地缓存、字段校验、异常告警和备用源。

Baostock:免费历史回测的朴素选择

Baostock 的定位比较清楚:接口简单,适合获取股票基础资料和历史行情,做日线级回测没有太高门槛。

它更像一个入门级历史数据工具,不是盘口实时数据方案。需要五档、集合竞价或盘中选股时,它通常无法独立完成任务。

如果你刚接触量化,可以用 Baostock 建立第一套本地日线库。等策略证明有价值,再升级数据源,比一开始就购买昂贵服务更合理。

Tushare Pro:历史研究和财务因子的主力

Tushare Pro 的强项是结构化历史数据。日线行情、财务指标、交易日历、指数成分等数据比较适合沉淀成本地研究数据库。

它更适合中低频研究,而不是对盘口延迟敏感的实时策略。部分接口还受到积分或权限等级约束,选型前要逐项确认所需接口权限。

做多因子、财务质量、指数增强或事件研究时,Tushare Pro 往往比网页抓取更省工程时间。

免费的数据不一定便宜。你花三天修复字段变化,成本很可能已经超过一年的接口费用。

黑狼数据:个人开发者的 A 股实时补充方案

根据黑狼数据 API 文档,其当前接口重点覆盖沪深京 A 股,并延伸到 ETF、可转债和指数等品种。

文档列出的主要能力包括:

数据能力 接口 文档标注的更新特征
实时行情 /wolf/time 交易时段每分钟更新
实时 K 线 /wolf/time/kline 交易时段秒级更新
日线快照 /wolf/time/day 支持单标的,部分权限支持全市场
买卖五档 /wolf/time/five 盘中毫秒级更新
集合竞价 /wolf/time/bid 09:15—09:25,毫秒级更新
涨停、跌停、炸板 /wolf/zt等 交易时段每分钟更新
逐笔交易 /wolf/deal 文档标明为盘后历史接口
资金流向 /wolf/money 区分主买、主卖及不同单量级
复权变更 /wolf/fq 可查询近期发生复权变化的股票

这里有几个容易看错的地方。

实时行情接口是分钟级更新,实时 K 线标注为秒级更新,五档和竞价标注为毫秒级更新。**数据源更新频率不等于你拿到数据的端到端延迟。**网络、HTTP 请求、服务排队和本地处理都会增加耗时。

逐笔交易接口在文档中属于盘后历史数据,不能直接理解为盘中逐笔推送。做盘口策略前,一定要把“更新频率”“查询频率”和“数据生成时间”分开测试。

文档还显示,部分全市场 all 参数与包年权限有关。不要看到示例能传 all,就默认自己的 Token 也能全市场拉取。

一段可以落地的 Python 接入代码

公开文档当前展示的基础地址为 http://api.fxyz.site,认证信息通过 token 参数传递。下面把地址和 Token 都放进环境变量,避免写死在代码仓库中。

import os
import requests

API_BASE_URL = os.getenv(
    "FXYZ_API_BASE_URL",
    "//api.fxyz.site",
)
API_TOKEN = os.environ["FXYZ_API_TOKEN"]


def get_fxyz(path: str, **params):
    request_params = {
        **params,
        "token": API_TOKEN,
    }

    response = requests.get(
        f"{API_BASE_URL}{path}",
        params=request_params,
        timeout=(3, 10),
    )
    response.raise_for_status()

    data = response.json()
    if data is None:
        raise RuntimeError(f"接口返回空数据:{path}")

    return data


kline = get_fxyz(
    "/wolf/time/kline",
    symbol="stock",
    code="000001",
    period="1m",
    cq="1",
    startDate="2026-09-18",
    endDate="2026-09-18",
)

five_levels = get_fxyz(
    "/wolf/time/five",
    symbol="stock",
    code="000001",
)

不要打印包含 Token 的完整请求 URL,也不要把 Token 提交到 Git。

由于公开文档展示的是 HTTP 地址,准备处理实盘数据前,应向服务商确认是否支持 HTTPS,并核实 Token 生命周期、限流规则、并发上限、服务可用性承诺及故障补偿方式。

不同策略到底应该怎么选

只做日线选股和回测

推荐组合是 Tushare Pro 或 Baostock,加上 DuckDB、Parquet 或 PostgreSQL 本地存储。

行情收盘后增量更新一次即可,不需要持续轮询实时接口。财务数据必须同时保存报告期和公告日期,避免把未来才公布的财报带进历史回测。

预算非常有限时,可以用 Baostock 建主库,用 AKShare补充缺失字段。

做分钟级盘中选股

推荐历史库加实时 API 的组合。

历史部分负责预计算均线、波动率和因子排名,盘中接口只拉最新快照或 K 线。这样能降低调用次数,也能避免每分钟重复下载大量不变数据。

黑狼数据的实时行情、实时 K 线和日线快照可以覆盖这类需求,但全市场权限、实际延迟与高峰期稳定性要经过实测。

做涨停、炸板和强势股策略

这类策略需要的不只是收盘价,还包括首次封板时间、最后封板时间、封板资金、炸板次数、连板数和盘中更新时间。

黑狼数据文档提供了涨停板、跌停板、炸板和强势股接口,字段与 A 股短线研究比较贴近。它可以减少开发者自己拼接多个网页数据源的工作量。

不过,分钟级更新适合盘中筛选和研究,未必满足抢单型交易对延迟的要求。能做实时选股,不代表能做高频交易。

做集合竞价和五档盘口策略

这时应重点关注时间戳、快照频率、丢包率和买卖档位的一致性,而不是只看“是否提供五档”。

黑狼数据文档列出了集合竞价与五档接口,适合个人开发者搭建竞价研究链路。真正投入交易前,建议连续记录至少 20 个交易日,与券商终端随机抽样对账。

如果策略收益依赖几十毫秒的领先优势,普通 HTTP API 通常不是最终方案,应评估券商柜台、专线行情或持牌低延迟数据服务。

准备长期实盘

生产环境不要只有一个行情源。

主数据源负责实时决策,备用数据源负责监控和故障切换,券商成交回报负责校准真实持仓。三个来源都不一致时,应暂停开仓,而不是猜哪个数字正确。

资金规模扩大后,合规授权、SLA、数据留存权和再分发限制的重要性,会超过接口单价。

预算接近零、还在学习阶段:用 AKShare 或 Baostock,先把研究流程和本地数据仓库跑通。

主要研究日频因子和财务数据:用 Tushare Pro 做历史主库,AKShare承担补充数据。

研究 A 股盘中、涨停、竞价和五档盘口:可以重点测试黑狼数据,用历史主库补齐长期样本,用券商终端做准确性校验。

策略已经稳定运行并管理较大资金:迁移到有明确授权和 SLA 的商业行情服务,同时保留第二数据源监控。

2026 年个人量化的数据源终极选型,不是选最贵的,也不是选接口最多的,而是选一个与你的策略频率匹配、能够被验证、发生故障时还能退出的系统。

数据决定回测是否可信,风控决定实盘能活多久。策略代码,反而常常是最容易的那一部分。

开源项目地址:https://github.com/fxyzsite/FxyzSkill

评论