Python AKshare 金融数据获取实战:股票基金期货全市场数据
Python AKshare 库提供开源免费的金融数据接口,支持股票、基金、期货等多市场数据获取。文章涵盖安装配置、A 股实时行情、历史 K 线、基金净值等核心功能实战代码,解决付费接口成本高及注册繁琐问题。数据源来自公开平台,适合学习研究与策略回测,不建议高频实盘交易。包含常见安装失败及频率限制问题的解决方案。

Python AKshare 库提供开源免费的金融数据接口,支持股票、基金、期货等多市场数据获取。文章涵盖安装配置、A 股实时行情、历史 K 线、基金净值等核心功能实战代码,解决付费接口成本高及注册繁琐问题。数据源来自公开平台,适合学习研究与策略回测,不建议高频实盘交易。包含常见安装失败及频率限制问题的解决方案。

做量化交易、财经数据分析、投资复盘的开发者和投资者,经常会遇到核心痛点:付费金融数据接口成本高、免费 API 注册流程繁琐、多市场数据分散难以整合。
本文就给大家详细讲解 Python 量化圈的开源神器AKshare,从安装到核心功能实战全覆盖,代码可直接复制运行,零基础也能一键获取全市场金融行情数据。
AKshare 是一款基于 Python 开发的开源金融数据接口库,专为个人投资者、量化爱好者、财经数据分析人员打造,是目前国内生态最完善、维护最活跃的免费金融数据工具之一。
它支持股票、期货、基金、外汇、债券、指数、加密货币等多种主流金融市场的数据获取,核心优势如下:
为解决国内用户 pip 安装网络超时、下载速度慢的问题,推荐使用清华镜像源安装,复制以下命令到终端 / CMD/PyCharm 终端即可一键安装:
pip install akshare -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,在 Python 环境中执行以下代码,无报错且输出版本号,即代表安装成功:
import akshare as ak # 打印 AKshare 版本号 print("AKshare 安装成功,当前版本:", ak.__version__)
以下为日常投资分析、量化研究中最高频的 4 个使用场景,所有代码均修复了笔误,可直接复制运行。
通过 stock_zh_a_spot() 接口,可一次性获取 A 股全市场所有标的的实时行情数据,无需循环调用,返回结构化的 DataFrame 数据集,适配每日复盘、标的批量筛选等场景。
# 导入 AKshare 库 import akshare as ak # 获取 A 股全市场实时行情数据 stock_zh_a_spot_df = ak.stock_zh_a_spot() # 打印输出数据 print(stock_zh_a_spot_df)
接口返回数据包含股票代码、股票名称、最新价、涨跌额、涨跌幅、买入价、卖出价、昨收价、今开价、最高 / 最低价、成交量、成交额等全维度实时行情指标。
通过 stock_zh_a_hist() 接口,可获取指定股票的历史 K 线数据,支持多周期、多复权方式,是量化策略回测、技术分析的核心基础功能。
# 导入 AKshare 库 import akshare as ak # 获取单只股票历史 K 线数据 stock_zh_a_hist_df = ak.stock_zh_a_hist( symbol="000001", # 目标股票代码,示例为平安银行 period="daily", # 数据周期,支持 daily(日线)/weekly(周线)/monthly(月线) start_date="20230101", # 数据起始日期,固定 8 位年月日格式 end_date="20240301", # 数据结束日期,固定 8 位年月日格式 adjust="qfq" # 复权方式:qfq=前复权、hfq=后复权,不填默认不复权 ) # 打印输出数据 print(stock_zh_a_hist_df)
| 参数名 | 作用 | 可选值 |
|---|---|---|
| symbol | 目标股票代码 | A 股 6 位数字股票代码 |
| period | 数据周期 | daily/weekly/monthly |
| start_date | 数据起始时间 | 8 位数字,格式:YYYYMMDD |
| end_date | 数据结束时间 | 8 位数字,格式:YYYYMMDD |
| adjust | 复权方式 | qfq (前复权)、hfq (后复权) |
接口返回数据包含交易日期、股票代码、开盘价、收盘价、最高价、最低价、成交量、成交额、振幅、涨跌幅、涨跌额、换手率等核心 K 线指标,可直接用于量化回测、技术指标计算、数据可视化。
通过 fund_open_fund_daily_em() 接口,可一键获取当前交易日全市场所有开放式基金的最新净值数据,数据源对接天天基金网,实时同步官方数据。
# 导入 AKshare 库 import akshare as ak # 获取全市场开放式基金当日净值数据 fund_open_fund_daily_df = ak.fund_open_fund_daily_em() # 打印输出数据 print(fund_open_fund_daily_df)
接口返回数据包含基金代码、基金简称、单位净值、累计净值、日涨跌幅、净值更新日期等核心信息,适配基金筛选、持仓净值跟踪、全市场基金业绩对比等场景。
通过 fund_open_fund_info_em() 接口,可获取指定基金的历史净值走势数据,支持单位净值、累计净值、累计收益率多维度查询,适配基金业绩深度分析、风险指标计算等场景。
# 导入 AKshare 库 import akshare as ak # 获取指定基金的净值历史走势数据 fund_open_fund_info_df = ak.fund_open_fund_info_em( symbol="015566", # 目标基金代码,示例为万家精选混合 C indicator="单位净值走势" # 数据类型,可选单位净值走势/累计净值走势/累计收益率走势 ) # 打印输出数据 print(fund_open_fund_info_df)
symbol:目标基金 6 位数字代码indicator:数据查询类型,可选值:单位净值走势、累计净值走势、累计收益率走势indicator 设置为 累计收益率走势 时,可新增 period 参数指定时间周期,可选值:"1 月", "3 月", "6 月", "1 年", "3 年", "5 年", "今年来", "成立来"A:优先使用本文提供的清华镜像源安装命令;若仍失败,先执行 python -m pip install --upgrade pip 升级 pip 工具,再重新执行安装命令;同时检查 Python 版本是否为 3.8 及以上。
A:AKshare 的数据源均来自公开财经平台,免费行情源存在一定的延迟(通常几秒到几十秒不等),仅适合学习研究、复盘分析、策略回测使用,不建议直接用于高频实盘交易。
A:官方无强制的调用频次限制,但建议控制请求频率,避免短时间内高频并发请求给数据源服务器造成压力,否则可能被临时限制 IP 访问。
A:AKshare 提供数百个数据接口,除本文讲解的基础功能外,还支持期货、期权、债券、外汇、美股、港股、宏观经济数据、行业数据、上市公司财务报表、龙虎榜、融资融券等多维度数据,可参考 AKshare 官方文档查看完整接口列表。
AKshare 作为开源免费的金融数据工具,完美解决了个人投资者、量化新手的金融数据获取痛点,零成本即可覆盖日常投资复盘、数据分析、策略回测的绝大多数需求。
本文为 AKshare 的入门保姆级教程,后续会持续更新 AKshare 的高阶用法、量化策略实战、Python 财经数据分析等相关内容。
免责声明:本文仅为技术工具分享,所有代码均为学习示例,不构成任何投资建议。金融市场有风险,投资需谨慎。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online