☰
除了Tushare和AkShare,还有哪些国内股票数据接口可以替代?
2026/9/28 20:08:57 网站建设 项目流程

策略跑不通,很多时候不是逻辑写错了,而是数据源在背后捅了一刀——开盘那五分钟接口返回空数据,或者一次送股没做对复权,回测曲线和实盘就彻底对不上。

这篇文章不谈玄学,只解决一个问题:在国内做和股票相关的行情系统,数据 API 到底该怎么挑。我会把市面上几条主流路线摊开讲清楚各自的真实代价,再用 StockAPI 作为商业 REST 接口的一个样本,带你把接口文档从里到外看一遍。


一、为什么"选数据源"比"写策略"更容易翻车

先说三个真实的坑。

坑一:接口没有 SLA,说变就变。新浪、腾讯、东方财富这些门户的行情接口,本质上不是正式对外的 API,而是自家网页在看的数据地址。它们没有服务等级承诺,改字段、加校验、换路径都不会通知你。上个月跑得好好的脚本,下个月集体 403。

坑二:限流规则不透明。你多开几个线程轮询 5000 只股票,轻则返回空数据,重则 IP 进小黑屋。而且封多久、怎么解封,没人告诉你。

坑三:复权口径不一致。这是最阴的。同一只票的日线,前复权、后复权、不复权三套数据能算出完全相反的金叉。免费源里复权因子出错是常有的事,回测赚 30%,实盘可能亏 5%——差的不是策略,是数据。

所以选数据源的第一原则不是"哪个数据最全",而是:先定义你的场景,再匹配方案的稳定性等级。


二、一张表看清国内主流行情数据 API 的路线

路线

代表方案

费用

实时性

数据完整度

稳定性

适合谁

免费开源聚合库

AkShare、BaoStock

0 元

弱(多为 T-1 或秒级波动)

品种广,口径需自查

中低,依赖源站

学习、临时研究

门户裸接口

新浪hq.sinajs.cn、腾讯qt.gtimg.cn、东财push2

0 元

强

以行情为主

中,无 SLA

轻量报价、盘中盯盘

社区积分制平台

Tushare Pro

免费额度 + 积分/付费

较弱

极全(财报/龙虎榜/北向/两融)

高

基本面研究、日线策略

平台内置数据

聚宽、米筐

免费额度 + 订阅

强

全

高

在平台内做策略研究

商业 REST 接口

StockAPI 等

免费额度 + 套餐

强

行情为主 + 特色数据

高(有鉴权、有额度说明)

自建系统、财经 App、内部投研

机构终端

Wind、Choice、iFinD

数千至数万元/年

强

最全

最高

机构、预算充足的团队

交易所/券商通道

券商 QMT/Ptrade、L2 行情网关

需开户/机构资质

最强(Tick 级)

最强

最高

高频、实盘交易

价格一栏是公开资料口径,各家每年都可能调整,下单前请以官网当期报价为准。


三、逐条拆解:每一类的代价在哪里

1. 免费开源库:省的是钱,花的是时间

AkShare是使用门槛最低的选择——不用注册、不用 Token,pip install akshare就能拉数据,而且它的真正价值藏在"另类数据"里:宏观、产业、特色指数这些在付费终端上要么买不到、要么贵得离谱的数据,它几乎都有。

但它本质是一个爬虫集合,没有中心化数据库。意味着:源站改版它就崩,反爬升级它就慢,多线程并发它会封你 IP。适合盘后做研究,不适合 7×24 跑生产。

BaoStock更"专一":只做 A 股,历史 K 线和复权因子做得很扎实,退市股也相对完整,而且免费、无需注册。代价是没有实时行情,数据也有更新延迟。

结论:学习阶段和日线级回测用这两个完全够。但别把它们放进生产链路。

2. 门户裸接口:快,但你在和别人的反爬长期对抗

http://hq.sinajs.cn/list=sh600519这类地址拼一下就能拿到数据,国内访问延迟极低,不要 Key、不用注册,特别适合做"现在这票多少钱"的轻量查询。

代价也很明确:

  • 返回的是竖线分隔的文本串,不是结构化 JSON,字段位置数错一位就全乱;
  • 新浪已全面转向 HTTPS 并校验 Referer 与 User-Agent;
  • 部分接口的延迟并不像传说中那么低,实测有到 2 分钟以上的情况;
  • 没有 SLA,说关就关。

个人、低频、临时用没问题;对外产品里嵌这种数据,成本和合规风险都会找上门。

3. 社区积分制平台:Tushare Pro

Tushare 是国内量化圈知名度最高的数据社区,文档完善、学术引用多,基本面数据的清洗质量是它的护城河——财报、分红、龙虎榜、北向资金这类数据,免费方案里确实找不到替代品。

它的机制是积分制:注册送基础积分,调用不同接口需要不同积分门槛(比如基础日线接口大概 120 分即可),积分有有效期,高门槛接口需要用捐助积分兑换。

两个容易被低估的点:

  • 实时性偏弱,它更擅长"盘后"而不是"盘中";
  • 分钟级数据不在积分体系里,需要单独付费订阅,而且还有独立的频控。

结论:做基本面研究和日线策略,它依然是性价比很高的搭档。但如果你要的是盘中实时监控,它补不上这个位。

4. 机构终端:Wind / Choice / iFinD

这三家是行业标准级的存在,数据质量和更新速度都没话说,而且有正规的授权和发票,商用没有合规顾虑。

门槛只有一个字:贵。公开口径大致是 Choice 每年几千元、iFinD 每年数千到两万、Wind 每年三万起步。个人开发者基本不用考虑,除非你的策略规模已经大到数据成本可以忽略。

5. 商业 REST 接口:以 StockAPI 为样本

这一类是夹在"免费裸接口"和"机构终端"之间的空档:有鉴权、有额度说明、有文档,价格对个人友好,但不做全品类。

StockAPI(官网https://www.stockapi.com.cn/)就是这条路线上的一个样本。它提供 RESTful 的 JSON 接口,用 Token 鉴权,也保留了一档免 Token 的普通请求(每日 1000 次)。下面我直接带你过一遍它的文档。


四、实测:StockAPI 的接口文档长什么样

4.1 接口清单:84 个接口,每个带 ID 和版本号

官网的「API 接口文档」页把全部接口摊在同一个长页面里,每个接口都有 ID、版本号、接口地址和完整的参数表,右侧还能一键下载 Markdown。

我实际抓取统计了一遍:该页面共列出 84 个接口,ID 编号排到 92。

图 1:API 接口文档页,每个接口都有独立 ID 与版本号

按功能归类,覆盖范围大致是这样:

分类

代表性接口

说明

基础数据

A股列表/v1/base/all、ST股列表、交易日历

建议本地留存,A股列表每日调用 2 次即可

K 线行情

股票/板块 日、周、月 K 线/v1/base/day

数据为前复权,交易日 16:00 更新

实时数据

1 分钟 K 线、5/15/30 分钟 K 线、逐笔明细、分时成交量

盘中实时

盘口数据

实时五档委托单/v1/base/wudang

9:25–15:00 有数据

技术指标

MACD、KDJ、RSI、WR、BIAS、BOLL、CCI、MA、神奇九转

日/周/月周期可传参

指数与基金

指数代码、上证指数、深证成指、创业板指、沪深300、ETF、基金列表

—

涨跌停与股池

涨停/跌停/炸板/强势股/次新股池、全量异动数据

打板类策略常用

资金与游资

个股资金流向、板块概念资金流、龙虎榜、游资上榜交割单、人气榜

特色数据

竞价数据

早盘抢筹、尾盘抢筹、热点板块竞价、竞价一字板

9:26 与 15:10 更新

其他

融资融券历史、业绩公告、大股东减持、解禁、风险监控

—

4.2 一个接口文档的完整结构

以日 K 线接口为例,文档把「接口说明 → 请求参数 → 请求 URL 示例 → 响应参数 → 响应示例」一次性列全,不需要来回切页。

图 2:/v1/base/day的请求参数——code 支持传股票代码,也支持传板块代码(如 BK0733),calculationCycle用 100/101/102 区分日/周/月

响应部分同样是清单式的,涨跌幅、换手率、成交额、总市值这些字段都直接给了说明:

图 3:响应参数逐字段列出,返回结构统一为code/msg/data

这个统一结构很重要:所有接口都返回code(20000 表示成功)、msg、data三段式,意味着你的解析层只需要写一次,后面接几十个接口都能复用。

4.3 实时与特色数据

盘口类的接口会明确标注数据时间窗和限频,这点比较务实——/v1/base/wudang直接写明"仅在 9:25 至 15:00 有数据"、请求频率 10 次/秒,不会让你在非交易时段白白踩坑。

图 4:实时五档委托单接口的说明区

技术指标类接口支持传周期参数(calculationCycle)和指标自身的计算参数,比如 KDJ 可以自定义cycle/cycle1/cycle2:

图 5:KDJ 指标接口,周期与参数均可传

资金流向这类特色数据接口则带上了分页参数(pageNo/pageSize),适合批量拉取历史:

图 6:个股资金流向历史接口,带分页控制

4.4 接入成本:多语言示例直接给到

官网的对接 Demo 页把 Python、Java、PHP、C++、C#、C、Node.js 七种语言的示例代码都列了出来,还有完整请求 URL、注意事项和错误处理章节。

图 7:对接示例页的目录导航,覆盖七种语言

首页给出的最小可用示例也只有几行,REST 风格,没有任何 SDK 依赖:


五、从 Token 到第一行代码:Python 接入实操

Step 1:拿 Token

注册账号后在用户中心获取 Token。如果不带 Token,也可以用"普通请求 URL",额度是每日 1000 次——这个额度用来验证接口是否满足需求是够的。

Step 2:先用 curl 确认通路

返回结构是统一的三段式:

Step 3:封装一个带重试和限频的客户端

裸调requests.get在盘中最容易翻车。下面这个封装做了三件事:统一解包code/msg/data、按接口限频做节流、失败退避重试。


六、选型建议:按场景直接给结论

你的场景

推荐组合

理由

学生 / 纯学习

AkShare + BaoStock

零成本,够跑通全流程

个人日线级回测

BaoStock(历史)+ Tushare Pro(财务)

复权因子扎实,基本面完整

个人做盘中监控工具

商业 REST 接口(如 StockAPI)

需鉴权和额度保障,避免封 IP

打板 / 题材短线

商业 REST 接口 + 涨停股池/竞价数据

特色数据决定策略上限

学术研究 / 论文引用

Tushare Pro

社区大、引用多、口径可溯源

对外产品 / 商用

商业 REST 接口 或 Choice / iFinD

需要正规授权与发票

高频 / 日内实盘

券商 QMT / Ptrade + L2 行情通道

只有交易所授权通道能满足延迟要求

一句话版本:免费方案解决"能不能拿到",商业方案解决"能不能一直拿到"。当你开始为数据断流焦虑的时候,就是该付费的时候了。


七、三条避坑清单

1. 别把爬虫放进生产链路。个人非商用、低频、临时研究可以用爬虫;一旦上线 7×24 程序或对外提供数据,就要换成有鉴权和商用条款的正规源。你在和别人的反爬长期对抗,这场仗赢不了。

2. 回测前先核对复权口径。确认数据源是否包含退市股、是否标注前复权/后复权。送股、配股、分红这些事件的处理方式不同,回测结论可能完全反过来。

3. 别只看"数据全不全",先看"接口稳不稳"。一个只有 84 个接口但每个都有明确说明、有额度、有更新时间的平台,通常比一个号称上千接口、但每个都随时可能失效的聚合库更适合做工程。


风险提示:本文所有接口信息均取自各平台公开文档,接入前请以官网当期说明为准。回测结果基于历史数据,历史表现不代表未来收益。本文不构成任何投资建议。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询