聊免费抓 A 股数据,评论区一定有人甩出 AkShare 的名字。这个 2019 年开源的项目现在 GitHub 上 22198 个 Star、MIT 协议、3000 多个数据接口,最近半个月(8 月 7 日到 8 月 21 日)从 1.18.83 连更到 1.18.94,十来个版本,更新勤快到不像话。但社区里同样高频出现的,是另一类帖子:照着教程装好,跑了两轮就开始限速、掉接口、字段对不上,然后发帖问"是不是我打开方式不对"。
不是打开方式不对,是定位没搞对。这篇把几篇数据源横评、社区对比卡片和实测吐槽放在一起看,说清楚三件事:AkShare 到底擅长什么、哪些活儿不该交给它、免费数据栈怎么搭才稳。
先说它是什么:一个勤快但需要验收的"数据聚合层"
真正跑过回测的人对它的结构总结得很直白:AKShare 本质是一个金融数据接口的聚合层,底层封装了各种公开数据源的爬虫逻辑。知乎好处显而易见:免费、无鉴权、接口全到离谱,宏观、期货、基金、债券、另类数据都有。代价也写在脸上:上游网页一改版,接口就可能随时漂移。

一篇实测横评跑完多个接口后,给它的结论是:这就是 AkShare 的真实使用方式:试想法很快,函数要逐个验收。知乎翻译成人话:拿来做研究、搭原型、验证想法,它是免费方案里最快上手的那个;但任何要上生产、跑长周期的环节,用之前都得自己验收一遍。
第一个误区:拿 AkShare 当行情库用
这是踩坑重灾区。很多人装完第一件事就是写个循环全市场拉日线、拉实时快照,然后收获一堆报错和空数据。
历史日线这块,免费档里最稳的选择其实没有争议:Baostock 是当前 A 股免费日线数据质量最好的选择。3000+ 只股票的历史日线,直接从交易所源数据获取,前复权/后复权/不复权三种模式齐全。知乎

实时快照则是腾讯的强项:腾讯证券的数据有两个独特优势:覆盖北交所和提供实时快照。知乎北交所这一点,不少数据源至今做不到。
而 AkShare 自己的行情类接口,定位也很清楚:AkShare 可以取得请求式实时快照,也可以轮询,更适合研究页面、小工具和低频刷新。知乎限流也不是吓唬人,有实测一次跑 198 只股票的全历史日线,上游直接封了 IP:限额触发后封的是 IP,不是账号。知乎一句话:日线回测用 Baostock,盘中实时用腾讯或新浪,把 AkShare 从"行情主力"的位置上撤下来,它能用很多年。
AkShare 真正的主场:别人不给的"非行情数据"
把它从行情位撤下来不是贬低,是让它干最值钱的活。实测对比其实早有结论:AKShare 和其他三个源不太一样——它的核心价值不是日线行情(虽然它也提供日线),而是非行情类金融数据。这些数据在 Baostock 和腾讯里都没有。知乎具体是哪些?A 股量化里真正拉开差距的,往往是这几类:
北向资金持股明细和流向
融资融券余额与个股两融数据
龙虎榜、席位动向
情绪类因子,比如 Qvix 这类恐慌指数
宏观、行业、另类数据

横评里给出的适用场景正是这几件事:情绪因子计算(Qvix 等)、北向资金分析、融资融券持仓监控、龙虎榜信号跟踪。知乎社区对比里也有人直接给了一句:AkShare 覆盖最全,含另类数据。小红书这些数据的处境曾经很尴尬:Baostock 没有,腾讯新浪不碰,Tushare 有但要积分、要付费档位。今年上半年知乎上那波"tushare 突然收费 2000 元一年是否合理"的讨论里,高赞回答把替代方案说得明明白白:AKShare + BaoStock 是国内用户替代 Tushare 的最优免费组合;yfinance + FRED 覆盖海外市场和宏观数据,四者加起来能满足绝大多数量化研究需求,且零成本。知乎至于最终定位,那篇四源对比的结论我完全认同:AKShare 不需要天天用,作为“补充数据层”是最合理的定位。主数据层要的是多年不变的稳定,补充层要的是覆盖面和免费,两者的验收标准完全不同。
免费数据栈怎么搭:三源分工
把社区的对比结论揉在一起,一个不花钱的 A 股数据栈大概长这样:

历史日线、复权、基础数据:Baostock 打底
实时行情、盘中快照、北交所:腾讯或新浪接口
北向、两融、龙虎榜、情绪、宏观:AkShare 按需取用
再对照一张多数据源的雷达评分图,各家强弱项更直观——没有全能选手,只有分工问题:

实测文章给出的收尾动作也很朴素:日线用 Baostock,没有协议风险。情绪因子用 AKShare,丰富策略维度。知乎
上生产前的验收清单
先把丑话说在前面:AkShare 稳定性依赖外部,风险较高。小红书但风险是可以管理的,给几条能直接照做的:
关键接口先抽样验收。拿你熟悉的标的核对字段和数值,再和第二个来源交叉验证,别直接信。
版本锁住。AkShare 半个月能更十几个版本,生产环境锁版本号,升级前先跑一遍核心接口的回归。
加频控、重试和降级。如果你在生产环境用 AKShare,要建立一套“接口健康检查 + 降级机制”——某个接口不可用时,不影响其他数据采集任务。知乎
高频、实盘下单链路不要用免费聚合层。这不是 AkShare 的问题,是所有免费爬虫层数据源的共性。
适合谁:写 Python 的个人投资者、刚入门量化的学生、想低成本验证策略想法的研究党。不适合谁:需要 SLA 的机构场景、高频交易者。
值得继续盯的信号:PyPI 上 akshare 的版本更新日志(接口新增和废弃都写在里面)、GitHub 的 issue 区(上游改版导致的接口问题通常第一时间在那暴露)。数据源这事没有一劳永逸,但分工搭对了,维护成本真的不高。