【量化投资学习专栏】利用python获取A股的实时和历史行情数据
欢迎来到python量化投资从零开始学习专栏,在这里,你将看到一名投资小白如何从零开始学习量化知识。
这是专栏的第一篇文章,主要内容是 python 如何利用 akshare 获取股票数据 。

akshare 简介
akshare 是一个 Python 数据分析领域非常实用的金融数据接口库,提供了丰富的金融市场数据, 我们可以使用它获取丰富的数据,例如:
- 获取实时行情数据: stock_zh_a_minute、stock_zh_a_hourly 等;
- 获取宏观经济数据:如通货膨胀率、GDP、CPI 等;
- 获取行业数据:如各行业指数、成分股等;
- 获取港股、美股等海外市场数据;
- 获取各类新闻资讯、公告等信息。
akshare 安装与使用
安装步骤 首先,可以通过 pip 工具安装 akshare 包:
pip install akshare
akshare 数据接口 安装完成后,我们就可以开始使用 akshare 了,常用的 akshare 获取A股数据的接口有以下这些:
# A股实时行情数据和历史行情数据
"stock_zh_a_spot" # 新浪 A 股实时行情数据
"stock_zh_a_spot_em" # 东财 A 股实时行情数据
"stock_sh_a_spot_em" # 东财沪 A 股实时行情数据
"stock_sz_a_spot_em" # 东财深 A 股实时行情数据
"stock_bj_a_spot_em" # 东财京 A 股实时行情数据
"stock_new_a_spot_em" # 东财新股实时行情数据
"stock_kc_a_spot_em" # 东财科创板实时行情数据
"stock_zh_b_spot_em" # 东财 B 股实时行情数据
"stock_zh_a_daily" # 获取 A 股历史行情数据(日频)
"stock_zh_a_minute" # 获取 A 股分时历史行情数据(分钟)
"stock_zh_a_cdr_daily" # 获取 A 股 CDR 历史行情数据(日频)
接下来,我们使用 akshare接口获取东财 A 股行情数据,并保存为csv文件。
使用python获取所有股票的实时行情数据
tock_zh_a_spot_em实时数据接口
描述: 东方财富网-沪深京 A 股-实时行情
输入参数:函数没有入参
输出参数:pandas的dataFrame格式的股票数据,包含股票代码、名称、最新价、涨跌幅、涨跌额、成交量、成交额、振幅等20多项指标:
python代码:
import akshare as ak
# 获取东方财富网-沪深京 A 股-实时行情
df = ak.stock_zh_a_spot_em()
# 保存为csv文件,encoding="utf_8_sig"确保csv文件可以正常显示中文
spath = r"./data.csv"
df.to_csv(spath, encoding="utf_8_sig", index=False)
获取的CSV数据可以通过excel打开:

使用python获取历史股票数据
stock_zh_a_hist历史数据接口 描述: 东方财富-沪深京 A 股日频率数据输入参数:

输出参数-历史行情数据

python代码获取某只股票近期天粒度的行情数据:
import akshare as ak
# 获取A股 600519 今年1月至今的行情数据
df = ak.stock_zh_a_hist(symbol="600519", period='daily', start_date='20230101', end_date='20230918')
# 保存为csv文件,encoding="utf_8_sig"确保csv文件可以正常显示中文
spath = r"../data/600519_20230101_20230918_daily.csv"
df.to_csv(spath, encoding="utf_8_sig", index=False)
文件中每一行是一天的数据,通过这些数据,我们可以对该股票近期的走势进行相应的分析。

总结
本文主要介绍了python如何利用akshare库获取股票数据,并通过代码示例讲解了如何使用tock_zh_a_spot_em接口获取 A股所有股票的实时数据 ,stock_zh_a_hist接口获取 某只具体股票的历史数据 。