用 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

Cherry Studio+内网穿透:本地AI模型秒变远程访问的保姆级教程

Cherry Studio+内网穿透:本地AI模型秒变远程访问的保姆级教程

文章目录 * 前言 * 1. 本地安装 * 2. 配置模型服务 * 2.1 配置在线模型服务 * 2.2 配置本地模型服务 * 2.3 其他功能简单演示 * 2.3.1 创建智能体 * 2.3.2 AI文生图 * 3. 安装内网穿透工具 * 4. 配置公网地址 * 5. 配置固定公网地址 * 总结 前言 各位朋友请注意!今天为您揭晓一套突破性的AI应用方案——Cherry Studio联合cpolar内网穿透技术的创新组合。通过在Windows系统中部署这款开源AI开发平台,用户可轻松突破网络边界限制,实现对本地语言模型的远程操控,彻底摆脱对公网IP和云服务器的依赖困境。 这款全平台兼容的AI开发套件,完美适配Windows、MacOS及Linux三大操作系统。其核心优势在于同时支持OpenAI、Gemini等主流AI框架,以及Ollama等本地模型部署方案。平台内置的300+种预置AI助手模块,为开发者提供强大的定制化能力。从多模型协作对话、智能系统搭建、

By Ne0inhk
国产七大AI模型哪家强?DeepSeek、豆包、Kimi、智谱清言、通义千问深度解析!

国产七大AI模型哪家强?DeepSeek、豆包、Kimi、智谱清言、通义千问深度解析!

全球AI竞赛激烈,国内AI领域也进入白热化阶段。 Kimi、智谱清言、通义千问、文心一言、豆包、天工AI、讯飞星火这七款模型,在长文本处理、多模态交互、行业应用等赛道各展所能,竞争激烈。 下面,我们来详细梳理它们的优势与不足,帮你找到最适合的AI助手。 七款大模型实力盘点 1、 Kimi(月之暗面) 长处 处理长文档能力极为出色,能支持长达20万字的文本。面对长篇学术著作、复杂法律条文和冗长项目报告,它都能精准梳理,通过强大的上下文理解能力,把握整体逻辑与细节,在文献解析和知识推理方面实力超群。 * 学术研究人员借助Kimi,可快速梳理海量文献,提炼关键信息,助力论文撰写与研究思路搭建; * 法律从业者使用它,能在短时间内完成大量合同、法规的筛查,精准定位风险点。 不足 * 多模态功能有所欠缺,处理图片、音频等非文本信息时表现欠佳; * 实时信息更新不够及时,难以满足对信息及时性要求高的场景; * 在专业领域,术语库不够丰富,回答特定专业问题时精准度有待提高。 (图源:https://kimi.moonshot.

By Ne0inhk
AI 的大模型专栏:从部署到应用,掌握企业级 AI 技能

AI 的大模型专栏:从部署到应用,掌握企业级 AI 技能

AI 的大模型专栏:从部署到应用,掌握企业级 AI 技能 AI 的大模型专栏:从部署到应用,掌握企业级 AI 技能,本文介绍 “AI 的大模型专栏”,围绕大模型部署与应用开发,从基础到进阶展开内容,兼顾新手与有经验者。学习该专栏可提升多方面能力,包括在本地和云端部署大模型,根据场景选部署方式;掌握 API 调用与集成,处理调用问题;开发从简单到企业级的 AI 应用,兼顾多行业需求;还能提升问题解决能力。专栏分部署基础、调用集成等五部分,适合学生、职场人等,附思维导图,强调动手操作等学习建议。 前言     人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,

By Ne0inhk

browser-agent:AI驱动的浏览器代理工具使用指南

browser-agent:AI驱动的浏览器代理工具使用指南 【免费下载链接】browser-agentA browser AI agent, using GPT-4 项目地址: https://gitcode.com/gh_mirrors/br/browser-agent 一、核心功能解析:它能帮你做什么? 1.1 理解浏览器代理的AI能力 browser-agent是一款基于GPT-4的浏览器AI代理工具,它能够模拟人类在浏览器中的操作行为,自动完成网页浏览、信息提取、表单填写等任务。与传统自动化工具不同,其核心优势在于通过AI理解网页内容和上下文,而非简单执行固定脚本。 1.2 适用场景与典型应用 * 信息聚合:自动从多个网页收集并整理数据 * 流程自动化:重复的网页操作(如定期报表下载) * 智能交互:模拟用户行为与网页元素互动 二、快速上手:3分钟启动你的AI浏览器代理 2.1 环境准备与安装 首先确保你的环境已安装Rust工具链,然后执行以下命令获取项目: git

By Ne0inhk