【Python】开源库:获取股票、基金和期货数据
获取开源库的股票、基金等行情数据,进行数据处理、量化分析。
如何获取股票、期货数据
一、Efinance
efinance 是由个人打造的用于获取股票、基金、期货数据的免费开源 Python 库,你可以使用它很方便地获取数据以便更好地服务于个人的交易系统需求。
来源:https://pypi.org/project/efinance/
Installation
-
通过 安装pip
pip install efinance -
通过 更新pip
pip install efinance --upgrade
Examples
- 获取单只股票
# 导入 efinance 库
import efinance as ef
# 股票代码
stock_code = '000001'
# 获取股票的一些基本信息(返回 pandas.Series)
series = ef.stock.get_base_info(stock_code)
print(series)
------------------------------------
股票代码 000001
股票名称 平安银行
净利润 14096000000.0
总市值 222391822549.080017
流通市值 222387853401.000031
所处行业 银行
市盈率(动) 3.94
市净率 0.51
ROE 2.8
毛利率 0.0
净利率 41.816726
板块编号 BK0475
- 获取单只股票指定时间段的日K线数据
# 导入 efinance 库
import efinance as ef
beg = '20250519'
# 结束日期
end = '20250529'
# 获取股票日 K 数据
df = ef.stock.get_quote_history("300750", beg=beg, end=end)
print(df.to_string(index=False))
------------------------------------------------------------------------------------------------------------
股票名称 股票代码 日期 开盘 收盘 最高 最低 成交量 成交额 振幅 涨跌幅 涨跌额 换手率
宁德时代 300750 2025-05-19 260.50 260.00 260.54 257.27 169740 4.399898e+09 1.26 0.25 0.64 0.43
宁德时代 300750 2025-05-20 264.44 263.00 265.50 255.20 346424 9.053425e+09 3.96 1.15 3.00 0.89
宁德时代 300750 2025-05-21 266.99 274.08 279.99 265.80 565245 1.547059e+10 5.40 4.21 11.08 1.45
宁德时代 300750 2025-05-22 277.80 270.37 277.94 268.27 276081 7.470701e+09 3.53 -1.35 -3.71 0.71
宁德时代 300750 2025-05-23 271.01 266.99 274.00 266.95 230004 6.218224e+09 2.61 -1.25 -3.38 0.59
宁德时代 300750 2025-05-26 265.00 255.90 266.38 252.90 330122 8.477229e+09 5.05 -4.15 -11.09 0.85
宁德时代 300750 2025-05-27 255.89 253.99 257.21 252.39 176680 4.491281e+09 1.88 -0.75 -1.91 0.45
宁德时代 300750 2025-05-28 255.61 253.60 258.27 253.32 154563 3.946773e+09 1.95 -0.15 -0.39 0.40
宁德时代 300750 2025-05-29 253.00 251.91 253.98 249.00 192594 4.850627e+09 1.96 -0.67 -1.69 0.49
- 根据股票名称获取日K线数据
# 导入 efinance 库
import efinance as ef
# 股票名称
stock_name = '平安银行'
# 获取股票日 K 线数据
ds = ef.stock.get_quote_history(stock_name)
print(ds)
--------------------------------------------------------------------------------------
股票名称 股票代码 日期 开盘 ... 振幅 涨跌幅 涨跌额 换手率
0 平安银行 000001 1991-04-03 -2.22 ... 0.00 2.20 0.05 0.00
1 平安银行 000001 1991-04-04 -2.22 ... 0.00 0.00 0.00 0.00
2 平安银行 000001 1991-04-05 -2.22 ... 0.00 0.00 0.00 0.00
3 平安银行 000001 1991-04-06 -2.22 ... 0.00 0.00 0.00 0.00
4 平安银行 000001 1991-04-08 -2.22 ... 0.00 0.00 0.00 0.00
... ... ... ... ... ... ... ... ... ...
8157 平安银行 000001 2025-05-23 11.55 ... 1.47 -0.78 -0.09 0.50
8158 平安银行 000001 2025-05-26 11.44 ... 0.87 -0.35 -0.04 0.36
8159 平安银行 000001 2025-05-27 11.45 ... 1.05 0.61 0.07 0.41
8160 平安银行 000001 2025-05-28 11.50 ... 0.96 0.35 0.04 0.34
8161 平安银行 000001 2025-05-29 11.52 ... 0.87 -0.61 -0.07 0.39
- 获取美股、港股、英股等市场的股票日K线数据
# 导入 efinance 库
import efinance as ef
# 股票代码
stock_code = 'JD'
# 获取股票日 K 线数据
dd = ef.stock.get_quote_history(stock_code)
print(dd)
-----------------------------------------------------------------------------------------
股票名称 股票代码 日期 开盘 ... 振幅 涨跌幅 涨跌额 换手率
0 京东集团-SW 09618 2020-06-18 224.764 ... 4.91 3.78 8.0 1.12
1 京东集团-SW 09618 2020-06-19 219.764 ... 1.00 -0.18 -0.4 0.29
2 京东集团-SW 09618 2020-06-22 215.564 ... 1.46 -2.55 -5.6 0.33
3 京东集团-SW 09618 2020-06-23 212.764 ... 2.62 0.94 2.0 0.22
4 京东集团-SW 09618 2020-06-24 218.364 ... 1.67 2.22 4.8 0.27
... ... ... ... ... ... ... ... ... ...
1209 京东集团-SW 09618 2025-05-23 132.700 ... 1.58 -0.45 -0.6 0.23
1210 京东集团-SW 09618 2025-05-26 130.800 ... 1.90 -1.74 -2.3 0.28
1211 京东集团-SW 09618 2025-05-27 127.000 ... 5.86 -1.00 -1.3 0.67
1212 京东集团-SW 09618 2025-05-28 127.200 ... 2.10 -1.40 -1.8 0.38
1213 京东集团-SW 09618 2025-05-29 123.800 ... 7.11 3.79 4.8 0.62
- 获取ETF K线数据
# 导入 efinance 库
import efinance as ef
# ETF代码
etf_code = '513050'
de = ef.stock.get_quote_history(etf_code)
print(de)
--------------------------------------------------------------------------------------------
股票名称 股票代码 日期 开盘 ... 振幅 涨跌幅 涨跌额 换手率
0 中概互联网ETF 513050 2017-01-18 0.989 ... 2.00 -2.30 -0.023 0.14
1 中概互联网ETF 513050 2017-01-19 0.978 ... 1.23 1.23 0.012 0.11
2 中概互联网ETF 513050 2017-01-20 0.989 ... 0.40 -0.10 -0.001 0.02
3 中概互联网ETF 513050 2017-01-23 0.988 ... 0.30 0.00 0.000 0.01
4 中概互联网ETF 513050 2017-01-24 0.989 ... 0.51 0.10 0.001 0.01
... ... ... ... ... ... ... ... ... ...
2023 中概互联网ETF 513050 2025-05-23 1.408 ... 1.50 -0.14 -0.002 5.82
2024 中概互联网ETF 513050 2025-05-26 1.402 ... 1.71 -1.29 -0.018 4.79
2025 中概互联网ETF 513050 2025-05-27 1.379 ... 1.74 0.58 0.008 5.54
2026 中概互联网ETF 513050 2025-05-28 1.386 ... 1.65 -1.73 -0.024 5.21
2027 中概互联网ETF 513050 2025-05-29 1.371 ... 2.05 1.61 0.022 9.02
- 获取多只股票指定时间段的日K线数据
# 导入 efinance 库
import efinance as ef
# 股票代码列表
stock_codes = ['600519', '300750']
# 开始日期
beg = '20250526'
# 结束日期
end = '20250528'
# 获取多只股票日 K 数据(得到的是 dict)
dfs = ef.stock.get_quote_history(stock_codes, beg=beg, end=end)
# 查看代码为 600519 的股票
print(dfs['300750'])
--------------------------------------------------------------------------------------------
股票名称 股票代码 日期 开盘 ... 振幅 涨跌幅 涨跌额 换手率
0 宁德时代 300750 2025-05-26 265.00 ... 5.05 -4.15 -11.09 0.85
1 宁德时代 300750 2025-05-27 255.89 ... 1.88 -0.75 -1.91 0.45
2 宁德时代 300750 2025-05-28 255.61 ... 1.95 -0.15 -0.39 0.40
二、Akshare
AKShare 是基于 Python 的财经数据接口库,目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具,主要用于学术研究目的。
来源:https://akshare.akfamily.xyz/
为了支持更多特性,请将 Python 升级到 3.9.0 及以上版本!
Installation
- 通过 pip 安装:
直接使用pip install akshare安装大概率会失败。
请使用管理员权限安装:pip install --user akshare
Examples
- 接口:深圳证券交易所-市场总貌-地区交易排序
import akshare as ak
# 接口:深圳证券交易所-市场总貌-地区交易排序
stock_szse_area_summary_df = ak.stock_szse_area_summary(date="202412")
print(stock_szse_area_summary_df)
--------------------------------------------------------------------------------------------------
序号 地区 总交易额 占市场 股票交易额 基金交易额 债券交易额
0 1 上海 9.487525e+12 16.349 5.951120e+12 4.247199e+11 3.111261e+12
1 2 深圳 7.224594e+12 12.450 4.630469e+12 3.935335e+11 2.200312e+12
2 3 浙江 5.290404e+12 9.117 4.360136e+12 1.182085e+11 8.120595e+11
3 4 北京 5.233418e+12 9.018 3.416063e+12 2.662883e+11 1.550712e+12
...
31 32 内蒙古 1.694187e+11 0.292 1.277484e+11 2.512480e+09 3.915781e+10
32 33 宁夏 1.117968e+11 0.193 9.845570e+10 2.297211e+09 1.104391e+10
33 34 青海 3.967756e+10 0.068 2.884644e+10 4.814743e+08 1.034965e+10
- 接口:东方财富-个股-股票信息
import akshare as ak
stock_individual_info_em_df = ak.stock_individual_info_em(symbol="000001")
print(stock_individual_info_em_df)
----------------------------------
item value
0 总市值 222391822549.080017
1 流通市值 222387853401.000031
2 行业 银行
3 上市时间 19910403
4 最新 11.46
5 股票代码 000001
6 股票简称 平安银行
7 总股本 19405918198.0
8 流通股 19405571850.0
- 接口: 雪球财经-个股-公司概况-公司简介
import akshare as ak
stock_individual_basic_info_xq_df = ak.stock_individual_basic_info_xq(symbol="SH601127")
print(stock_individual_basic_info_xq_df)
-------------------------------------------------------------------------------------------------
item value
0 actual_controller 张兴海 (13.07%)
1 actual_issue_vol 142500000.0
2 actual_rc_net_amt 738451000.0
3 affiliate_industry {'ind_code': 'BK0025', 'ind_name': '汽车整车'}
4 chairman 张正萍
5 classi_name 民营企业
6 currency CNY
7 currency_encode 019001
8 district_encode 500106
9 email 601127@seres.cn
10 established_date 1178812800000
11 executives_nums 20
12 fax 86-23-65179777
13 general_manager 张正萍
14 issue_price 5.81
15 legal_representative 张正萍
16 listed_date 1465920000000
17 main_operation_business 新能源汽车及核心三电等产品的研发、制造、销售及服务。
18 office_address_cn 重庆市沙坪坝区五云湖路7号
19 office_address_en None
20 online_success_rate_of_issue 0.110176
21 operating_scope 一般项目:制造、销售:汽车零部件、机动车辆零部件、普通机械、电器机械、电器、电子产品(不...
22 org_cn_introduction 赛力斯始创于1986年,是以新能源汽车为核心业务的技术科技型汽车企业。现有员工1.6万人,A...
23 org_id T000071215
24 org_name_cn 赛力斯集团股份有限公司
25 org_name_en Seres Group Co.,Ltd.
26 org_short_name_cn 赛力斯
27 org_short_name_en SERES
28 org_website www.seres.com.cn
29 pe_after_issuing 18.19
30 postcode 401335
31 pre_name_cn 重庆小康工业集团股份有限公司
32 provincial_name 重庆市
33 reg_address_cn 重庆市沙坪坝区五云湖路7号
34 reg_address_en None
35 reg_asset 1633366086.0
36 secretary 申薇
37 staff_num 18838
38 telephone 86-23-65179666
三、Tushare Pro
Tushare Pro所提供的数据内容将扩大到包含股票、基金、期货、债券、外汇、行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台,为各类金融投资和研究人员提供适用的数据和工具。
来源:https://tushare.pro/
由于Tushare需要注册用,并获取Token才能调用数据。实际使用跟前两个都类似,可以根据官方文档示例进行编码,交给你们自己啦~
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)