A股全量历史数据,下载全记录:踩了5天坑,最终搞定5199只股票
THE SIGNAL REVIEW
深度分析
2026 年 4 月 21 日 · 星期二
凌的FIRE笔记 · 长文拆解
ANALYSIS · 深读
上篇文章我说下数据很简单,结果翻车了
前几天我发了一篇文章,标题叫「用WorkBuddy下载A股全量历史数据,连代码都不用写」。文章写得信心满满,说AI多厉害,自然语言对话就能搞定全量数据。
然后我就自己动手了。
结果就是这篇文章。前后折腾了3天,写了200多个调试脚本。但好消息是:最终拿到了一个1.87GB、5199只股票、987万条K线记录、100%验证通过的前复权日线数据库。脚本和数据库我都放在百度网盘了,文末有链接。
凌的FIRE笔记
WHY · 为什么下个数据这么难?
第一轮:3663只成功,1539只失败
我的目标很简单:下载A股全部正常交易股票的前复权日线数据,存到本地SQLite,用于量化回测。
选了baostock作为数据源,免费开源,证券公司做的,数据质量在免费方案里最好。
第一轮跑完:成功3663只,失败1539只。将近30%下不了。
失败列表几乎全是创业板(300/301开头)和科创板(688开头),外加部分沪市新股。失败原因出奇一致:查询超时。
创业板和科创板是A股最有活力的板块,回测数据缺了它们,等于用一半的信息做判断。
现实的毒打
PITFALLS · 踩过的坑
坑1:会话会过期,超时要重试
baostock要求先登录再查询,但一次登录大概只能撑200-300次查询,超过就间歇性报错。不是每次都失败,而是第201次突然挂,重试又好了,到第250次又挂。
而且失败列表里的股票不是真的查不到,是这次查不到。我试过,一只失败的股票隔10分钟重试就成功了。baostock的超时是服务器端的问题。
最终方案:每200只重新登录 + 每只股票最多重试5次,每次间隔2秒。实测这套组合能解决90%以上的失败。
测试了不知道多少轮
坑2:自己算前复权?别作死
baostock有两种方式拿前复权数据:用官方的(adjustflag=”2″),或者自己拿原始价格乘复权因子。
我试了后者,用mootdx拿复权因子自己算。偏差最大的一只股票,自己算的前复权价格跟官方值差了148%。
原因:mootdx的复权因子不含现金分红,只管了送股转增。
结论:永远用官方前复权,不要自己算。
血的教训
坑3:日期范围不要拆
为了加速下载,我把2010-2026拆成16个年度分别查。结果更容易超时,因为查询次数从5千多次暴增到8万多次,服务器压力更大。
一只股票一次查完整时间范围,不要拆。
少走弯路
RESULT · 最终成果
数据概览
经过5天折腾,最终拿到的数据:
文件大小:1.87 GB
股票数量:5,199 只(A股全部正常交易股票)
K线记录:9,872,863 条
日期范围:2011-12-28 ~ 2026-04-17
数据来源:Baostock 官方前复权
验证通过率:100%
上交所2,311只(411万条K线),深交所2,888只(575万条K线)。不包含已退市和未上市新股。
这个数据库我已经放在百度网盘了,文末可以直接下载。
踩了5天坑的成果
CODE · 脚本和数据下载
最终版下载器:bs_qfq_downloader.py
5天的踩坑经验浓缩成一个脚本。自动获取全部A股列表、官方前复权、断点续传、每200只重新登录、失败重试5次每次间隔2秒、进度实时显示。
你也可以让AI帮你写一个下载脚本,AI确实能写出来,也会在遇到报错时自动修正。但这个过程会消耗不少时间和token。
我现在把这5天反复调试后的最终版脚本和已经下载好的完整数据库都放在百度网盘了。直接用就行,省得你从头踩一遍坑,也省下一堆token。
踩了5天坑的结晶
百度网盘下载
包含内容:
• astocks_qfq.db — 完整数据库(1.87GB,5199只股票,987万条K线)
• bs_qfq_downloader.py — 通用下载器(可自行更新数据)
数据库是SQLite格式,任何SQLite工具都能打开。想更新到最新日期,运行下载器即可(支持断点续传)。仅供学习研究使用,数据版权归Baostock所有。
链接:https://pan.baidu.com/s/1eud87QPE9qyjtw3y9KADwg?pwd=bq8c
提取码:bp8c
拿去用
NEXT · 下一步
接下来干嘛?
数据到手了,接下来用这份数据跑量化回测。均线金叉死叉、MACD背离之类的经典策略,看看在A股到底能不能赚钱。
到时候会把回测结果写出来。毕竟光有数据没分析,等于买了菜不会做饭。
如果你已经在做量化研究,或者对回测感兴趣,评论区聊聊,我可以根据大家的兴趣决定先测哪类策略。
下期预告
结论
上篇文章我说「下数据很简单」,结果自己花了5天。但这恰恰是我的风格:说了就要亲自验证。
验证结论:下数据确实不难,前提是用对方法、避开坑。我把方法总结好了,脚本直接用,数据库直接下。
如果你觉得有用,点个「在看」。关注「凌的FIRE笔记」,下篇写我用这份数据跑的第一个回测策略。
下载数据遇到问题可以留言,我来帮你。想看我测什么策略,也可以在评论区说。
THE SIGNAL REVIEW · 深度分析
单一主题 · 深入拆解 · 观点提炼
by 凌的FIRE笔记 · 2026.04.21
夜雨聆风