用 Python 批量下载全量 A 股历史行情数据:基于 AKShare 的高效实践

关键词:AKShare, A股数据, 股票历史行情, 量化分析, Python 金融, 断点续传
适用读者:量化交易初学者、金融数据分析师、Python 爱好者、学术研究者

💡 为什么需要本地化 A 股历史数据?

在量化投资、策略回测、因子挖掘等场景中,高质量、完整、本地存储的历史行情数据是不可或缺的基础。然而:

  • 商业数据接口(如 Wind、Tushare Pro)往往收费或有调用限制;
  • 免费接口(如早期 Tushare)可能不稳定或字段不全;
  • 网页爬虫易被反爬,维护成本高。

幸运的是,开源项目 AKShare 提供了免费、稳定、覆盖全面的中国金融市场数据接口,包括:

  • A 股日线、分钟线
  • 指数、基金、期货、期权
  • 宏观经济、新闻舆情等

本文将带你用 不到 70 行代码,实现:
✅ 自动获取全部 A 股列表
✅ 批量下载 2018 年至今的日线数据(前复权)
✅ 支持断点续传,避免重复下载
✅ 合并为统一 CSV 文件,便于后续分析


🛠️ 技术栈与依赖

作用
akshare核心数据源,提供 A 股行情接口
pandas数据处理与合并
tqdm进度条,提升体验
os, time文件操作与请求节流

安装命令

pip install akshare pandas tqdm 
💡 建议使用国内镜像加速安装:

🔍 核心代码解析

1️⃣ 获取 A 股股票列表

defget_stock_list(): df = ak.stock_info_a_code_name() df.columns =["symbol","name"] df.to_csv("all_a_stocks.csv", index=False)return df 
  • ak.stock_info_a_code_name() 返回所有 A 股代码与名称(不含交易所后缀,如 600519
  • 保存为 CSV,便于后续审计或手动筛选

2️⃣ 下载单只股票日线数据

defdownload_stock(symbol): df = ak.stock_zh_a_hist( symbol=symbol, period="daily", start_date="20180101", end_date="20251231", adjust="qfq"# 前复权,消除分红送股影响)ifnot df.empty: df["symbol"]= symbol return df[["日期","symbol","开盘","最高","最低","收盘","成交量"]]returnNone
  • 前复权(qfq) 是量化回测的标准选择,确保价格连续性
  • 字段精简,仅保留 OHLCV(开盘、最高、最低、收盘、成交量)

3️⃣ 批量下载 + 断点续传

defdownload_all(stock_df): all_data =[]for _, row in tqdm(stock_df.iterrows(), total=len(stock_df)): symbol = row["symbol"] file_path =f"stock_history_ak/{symbol}.csv"# ✅ 断点续传:若已存在则跳过if os.path.exists(file_path): all_data.append(pd.read_csv(file_path))continue df_hist = download_stock(symbol)if df_hist isnotNone: df_hist.to_csv(file_path, index=False) all_data.append(df_hist) time.sleep(0.3)# 礼貌请求,避免触发限流
  • 断点续传:程序中断后可继续运行,不重复下载已完成的股票
  • 进度条tqdm 实时显示下载进度(共约 5000+ 只股票)
  • 请求节流time.sleep(0.3) 避免高频请求被临时封禁

4️⃣ 合并与标准化输出

final = pd.concat(data, ignore_index=True) final.rename(columns={"日期":"Date","开盘":"Open","最高":"High","最低":"Low","收盘":"Close","成交量":"Volume"}, inplace=True) final.to_csv("all_stock_history_ak.csv", index=False)
  • 输出为标准英文列名,兼容主流量化框架(如 backtrader, zipline
  • 单文件包含所有股票、所有日期,便于 Pandas 分组分析

📊 数据规模预估

指标数值
A 股数量~5200 只(含主板、创业板、科创板、北交所)
时间跨度2018–2025(约 7 年 × 250 交易日 ≈ 1750 行/股)
总行数≈ 5200 × 1750 ≈ 900 万行
文件大小CSV 约 800MB–1.2GB(取决于压缩与字段)
💡 建议使用 SSD 存储,并确保内存 ≥ 8GB(pd.concat 会加载全量数据)

⚠️ 注意事项与优化建议

❗ 1. AKShare 的稳定性

  • AKShare 依赖网页解析,接口可能随网站改版失效
  • 建议定期关注 AKShare 官方文档 更新
  • 如遇大规模失败,可尝试升级:pip install --upgrade akshare

⚙️ 2. 性能优化(进阶)

  • 多线程下载:使用 concurrent.futures.ThreadPoolExecutor 加速(注意 AKShare 非线程安全,需加锁)
  • 数据库存储:将 CSV 替换为 SQLite / MySQL,支持按股票/日期快速查询
  • 增量更新:仅下载最新 N 天数据,而非全量重拉

🔐 3. 合规提醒

  • AKShare 数据来源于公开网站,仅限个人学习研究使用
  • 商业用途请确认数据来源合法性,避免侵权风险

🚀 扩展应用场景

  1. 因子计算:基于 OHLCV 计算 MACD、RSI、布林带等技术指标
  2. 行业分析:按申万行业分类聚合,观察板块轮动
  3. 异常检测:识别涨停、跌停、巨量成交等事件
  4. 机器学习:构建时间序列预测模型(如 LSTM 预测股价)

✅ 总结

通过 akshare + pandas + tqdm,我们实现了:

  • 零成本获取全量 A 股历史行情
  • 自动化、可复现、可中断恢复 的下载流程
  • 标准化输出,无缝对接量化分析 pipeline

这不仅是数据采集脚本,更是量化研究基础设施的第一块基石。无论你是想回测一个简单均线策略,还是构建复杂的多因子模型,拥有一份干净、完整的本地数据集,都是成功的第一步。

Read more

用 10% GPU 跑通万亿参数 RL!马骁腾拆解万亿参数大模型的后训练实战

用 10% GPU 跑通万亿参数 RL!马骁腾拆解万亿参数大模型的后训练实战

整理 | 梦依丹 出品 | ZEEKLOG(ID:ZEEKLOGnews) 左手是提示词的工程化约束,右手是 Context Learning 的自我进化。 在 OpenAI 新发布的《Prompt guidance for GPT-5.4》中,反复提到了 Prompt Contracts(提示词合约)。要求开发者像编写代码一样,严谨地定义 Agent 的输入边界、输出格式与工具调用逻辑,进而换取 AI 行为的确定性。 但在现实操作中,谁又能日复一日地去维护那些冗长、脆弱的“提示词代码”? 真正的 Agent,不应只靠阅读 Context Engineering,更应该具备 Context Learning 的能力。 为此,在 4 月 17-18

By Ne0inhk
当OpenClaw引爆全网,谁来解决企业AI Agent的“落地焦虑”?

当OpenClaw引爆全网,谁来解决企业AI Agent的“落地焦虑”?

2026 年 3 月,开源 AI Agent 框架 OpenClaw 在 GitHub 上的星标突破28万,并一度超越 React,成为 GitHub 最受关注的软件项目之一。短时间内,开发者利用它构建了大量实验性应用:从全栈开发辅助,到自动化营销脚本,再到桌面操作自动化,AI Agent 的能力边界正在迅速被拓展。 这股热潮也带动了另一个趋势——本地部署与算力硬件需求的快速增长。越来越多开发者尝试在个人设备或企业服务器上运行 Agent 系统,以获得更高的控制权和数据安全性。 从表面上看,AI Agent 似乎正从“概念验证”走向更广泛的开发实践。但在企业环境中,情况却没有想象中乐观。当企业负责人开始追问—— “它能直接解决我的业务问题吗?” 很多演示级产品仍难以给出令人满意的答案。 如何让 Agent 真正融入企业既有系统、适配复杂业务流程,正成为大模型产业落地必须跨越的一道门槛。 与此同时,中国不同城市的产业结构差异明显:互联网、

By Ne0inhk
遭“美国政府封杀”后,Anthropic正式提起诉讼!

遭“美国政府封杀”后,Anthropic正式提起诉讼!

整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 据路透社报道,当地时间周一,AI 初创公司 Anthropic 正式对美国国防部及特朗普政府提起诉讼,抗议五角大楼将其列为“国家安全供应链风险”主体的决定。 Anthropic 在向美国加州北区地方法院提交的诉讼文件中表示,这一认定“史无前例且非法”,已对公司造成“不可挽回的损害”。公司希望法院撤销该决定,并指示联邦机构停止执行相关认定。 划定 AI 应用红线,双方观点不一 正如我们此前报道,这场争端的核心在于 Anthropic 为其核心 AI 模型 Claude 设定的两条技术使用红线,与美国国防部的使用需求发生根本冲突。 此前,Anthropic 曾与五角大楼签署一份价值最高可达 2 亿美元的合作合同,Claude 也成为少数被纳入美国机密网络环境进行测试的 AI 系统之一。 对此,Anthropic 一直坚持两条底线: * Claude 等技术不得被用于对美国民众的大规模国内监控;

By Ne0inhk
二手平台出现OpenClaw卸载服务,299元可上门“帮卸”;2026年春招AI人才身价暴涨:平均月薪超6万;Meta辟谣亚历山大·王离职 | 极客头条

二手平台出现OpenClaw卸载服务,299元可上门“帮卸”;2026年春招AI人才身价暴涨:平均月薪超6万;Meta辟谣亚历山大·王离职 | 极客头条

「极客头条」—— 技术人员的新闻圈! ZEEKLOG 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:[email protected]) 整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 一分钟速览新闻点! * 微信员工辟谣“小龙虾可自动发红包”:不要以讹传讹 * 蚂蚁集团启动春招,超 70% 为 AI 相关岗位 * 受贿 208 万!拼多多一员工被抓 * 2026 年春招 AI 人才身价暴涨: 平均月薪超 6 万元 * 二手平台出现 OpenClaw 上门卸载服务 * 权限太高,国家互联网应急中心发布 OpenClaw 安全应用的风险提示 * 字节豆包内测 AI 电商功能:无需跳转抖音,日活用户数超

By Ne0inhk