开源神器!12.3K star 金融数据接口,零成本搞定量化交易数据

朋友们,过几天我打算更新一个系列,利用langchain搭建金融分析智能体,感兴趣可以关注一下。那么今天做一下前期的准备工作,既然是做金融分析,就需要有各种金融数据,今天跟大家介绍一个开源、强大的python开源金融数据接口库——Akshare

开篇:数据荒漠中的绿洲

想象一下这样的场景:你满怀激情地准备开发一个构思许久的量化策略,脑海中已经构思好了算法的各种细节,甚至连庆祝盈利的香槟都准备好了。然而,当你打开电脑准备获取数据时,现实却给了你当头一棒——

各大数据平台要么收费昂贵得让人肉疼,要么API接口复杂得像天书,更别提那些动不动就限流、断连的”贵族”服务了。就在你准备放弃梦想,回去老老实实搬砖的时候,AkShare悄然出现,如同数据荒漠中的一片绿洲,拯救了无数量化交易者的梦想!

AkShare究竟是何方神圣?

一句话概括:免费、开源、全能的金融数据接口库

AkShare是一个基于Python的开源金融数据接口库,专门为量化投资者、金融研究人员以及数据科学家量身打造。它的核心使命就是让每个人都能轻松获取高质量的金融数据,而不必为昂贵的数据费用而苦恼。

为什么说它是”神器”?

覆盖面广得惊人

  • • 股票市场:A股、美股、港股、新三板,应有尽有
  • • 期货商品:商品期货、金融期货、期权数据
  • • 基金债券:公募基金、私募基金、国债、企业债
  • • 宏观数据:GDP、CPI、PMI等经济指标
  • • 另类数据:新闻舆情、社交媒体情绪、ESG评级

完全免费,良心到爆
在这个数据即金钱的时代,AkShare坚持开源免费的理念,让每个有梦想的量化交易者都能站在同一起跑线上。

简单易用,上手即飞
告别复杂的API注册流程,告别繁琐的认证机制,只需要几行Python代码,海量金融数据瞬间到手!

快速上手:从安装到数据获取

安装篇:一行命令搞定

# 标准安装
pip install akshare

# 如果网络较慢,使用清华源加速
pip install akshare -i https://pypi.tuna.tsinghua.edu.cn/simple

三、核心功能深度解析:从入门到精通的完整路径

3.1 基础数据获取:让数据触手可及

A股实时行情数据

import akshare as ak

# 获取A股实时行情数据
stock_zh_a_spot_em_df = ak.stock_zh_a_spot_em()
print(stock_zh_a_spot_em_df.head())

   序号      代码    名称    最新价    涨跌幅    涨跌额      成交量           成交额     振幅     最高  ...     量比    换手率  市盈率-动态   市净率          总市值         流通市值   涨速  5分钟涨跌  60日涨跌幅  年初至今涨跌幅
1   2300094  国联水产   4.3620.11   0.7336584851.525082e+0917.91   4.36  ...   8.4633.09203.982.67   4918809223   48200558600.0    0.0   24.93    15.04
2   3300160  秀强股份   6.6420.07   1.1114984179.511209e+0820.25   6.64  ...  13.7819.65   15.252.03   5132363379   50620671930.0    0.0   22.74    24.34
3   4300961  深水海纳  21.6620.00   3.61   2501045.345791e+08   5.7121.66  ...   1.0916.47   94.025.00   3839884800   32899630240.0    0.0   32.48   115.52
4   5300821  东岳硅材   9.3020.00   1.55   9763488.435028e+0821.29   9.30  ...   4.84   8.14   75.782.2611160000000111579726000.0    0.0   11.91    20.00

获取A股历史行情数据

# 例如获取平安银行的历史行情数据
stock_zh_a_daily_qfq_df = ak.stock_zh_a_daily(symbol="sz000001", start_date="19910403", end_date="20231027", adjust="qfq")
print(stock_zh_a_daily_qfq_df)

            date  open  high   low  close       volume        amount  outstanding_share  turnover
0     1991-04-03  0.34  0.34  0.34   0.34        100.0  5.000000e+03       3.710000e+07  0.000003
1     1991-04-04  0.34  0.34  0.34   0.34        300.0  1.500000e+04       3.710000e+07  0.000008
2     1991-04-05  0.34  0.34  0.34   0.34        200.0  1.000000e+04       3.710000e+07  0.000005
3     1991-04-08  0.34  0.34  0.34   0.34        200.0  1.000000e+04       3.710000e+07  0.000005
4     1991-04-09  0.33  0.33  0.33   0.33        400.0  1.900000e+04       3.710000e+07  0.000011

股票行业成交

stock_szse_sector_summary_df = ak.stock_szse_sector_summary(symbol="当年", date="202501")
print(stock_szse_sector_summary_df)

项目名称                   项目名称-英文  交易天数       成交金额-人民币元  成交金额-占总计        成交股数-股数  成交股数-占总计      成交笔数-笔  成交笔数-占总计
0     合计                     Total    18  12797346256776    100.00  1102116260223    100.00  1072706301    100.00
1   农林牧渔               Agriculture    18     81959102700      0.64     9399492707      0.85     7661044      0.71
2    采矿业                    Mining    18     92263889071      0.72     9878192740      0.90     9355248      0.87
3    制造业             Manufacturing    18   8629767870655     67.43   658476162920     59.75   715973899     66.74
4   水电煤气                 Utilities    18     92119234528      0.72    16229887048      1.47    12802444      1.19

获取特定股票名称

stock_info_a_code_name_df = ak.stock_info_a_code_name()
print(stock_info_a_code_name_df.head())

     code   name
0  000001   平安银行
1  000002  万  科A
2  000004  *ST国华
3  000006   深振业A
4  000007    全新好

获取新股数据

stock_new_a_spot_em_df = ak.stock_new_a_spot_em()
print(stock_new_a_spot_em_df)

    序号      代码    名称     最新价   涨跌幅   涨跌额     成交量           成交额     振幅      最高      最低  ...    量比    换手率  市盈率-动态    市净率        上市日期           总市值        流通市值    涨速  5分钟涨跌  60日涨跌幅  年初至今涨跌幅
 1  001388   C信通   63.56  0.19  0.12  191567  1.191447e+09  20.68   68.00   54.88  ...  0.76  62.66  324.38   6.96  2025-07-01   9915360000  1943200113 -0.06  -0.11  287.09   287.09
 2  603400   华之杰   53.62 -3.91 -2.18   51808  2.809649e+08   3.66   55.50   53.46  ...  0.44  26.44   30.25   4.38  2025-06-20   5362000000  1050824599  0.00   0.17  169.72   169.72
 3  301678   新恒汇   55.05 -5.43 -3.16  214172  1.237341e+09  11.68   61.60   54.80  ...  0.78  47.06   64.25   6.75  2025-06-20  13187528458  2505478154  0.04   0.09  330.08   330.08
 4  603382  海阳科技   31.37 -0.88 -0.28   45919  1.449920e+08   1.93   31.90   31.29  ...  0.75  12.93   45.04   3.33  2025-06-12   5685855414  1114289378  0.00   0.00  172.78   172.78

获取行业板块数据

stock_board_industry_name_em_df = ak.stock_board_industry_name_em()
print(stock_board_industry_name_em_df)

排名   板块名称    板块代码       最新价      涨跌额   涨跌幅            总市值   换手率  上涨家数  下跌家数   领涨股票  领涨股票-涨跌幅
1   钢铁行业  BK0479   7629.01   308.94  4.22   881701056000  2.16    47     1   柳钢股份     10.08
2   光伏设备  BK1031   1081.49    38.65  3.71  1237855600000  3.88    69     7    亚玛顿     10.00
3   水泥建材  BK0424  25835.07   556.68  2.20   335845616000  1.75    25     2   福建水泥      9.91
4   煤炭行业  BK0437  10481.46   210.26  2.05  1782541552000  1.06    33     1   安源煤业      6.98
5   玻璃玻纤  BK0546  38513.84   625.16  1.65   357762864000  4.30    13     9   耀皮玻璃      9.93

获取概念板块数据

stock_board_concept_name_em_df = ak.stock_board_concept_name_em()
print(stock_board_concept_name_em_df)

     排名      板块名称    板块代码       最新价      涨跌额   涨跌幅             总市值    换手率  上涨家数  下跌家数  领涨股票  领涨股票-涨跌幅
1      水产养殖  BK0967    938.61    57.78  6.56    255815497000   6.88    16     1  东方海洋      9.89
2      低碳冶金  BK0979    934.74    35.26  3.92    305688288000   1.23     8     0  首钢股份      9.97
3       可燃冰  BK0818   1353.45    49.29  3.78    236533884000   1.85     9     0  神开股份     10.01
4      海洋经济  BK0623   2812.11    99.97  3.69    954606112000   4.79    45    11  东方海洋      9.89
5  昨日连板_含一字  BK1051  36113.59  1230.36  3.53    114783458000  18.38     9     6   西上海      9.98

获取ETF实时行情

fund_etf_spot_em_df = ak.fund_etf_spot_em()
print(fund_etf_spot_em_df.head())

       代码       名称    最新价  IOPV实时估值  基金折价率    涨跌额   涨跌幅      成交量          成交额  ...  小单净流入-净占比     现手     买一     卖一          最新份额        流 通市值         总市值       数据日期                      更新时间
0  515210    钢铁ETF  1.264    1.2620  -0.16  0.045  3.69  1284985  160232544.0  ...      -1.35  -1912  1.264  1.265  8.682261e+08  1097437785  1097437785 2025-07-02 2025-07-02 16:11:49+08:00
1  516290  光伏龙头ETF  0.430    0.4285  -0.35  0.014  3.37   807981   34305523.0  ...      -2.74   -273  0.431  0.432  6.571969e+08   282594665   282594665 2025-07-02 2025-07-02 16:11:47+08:00
2  516880  光伏50ETF  0.583    0.5822  -0.14  0.018  3.19   739229   42578096.0  ...      -4.96    169  0.582  0.583  1.519944e+09   886127408   886127408 2025-07-02 2025-07-02 16:11:47+08:00
3  159609  光伏龙头ETF  0.400    0.3995  -0.13  0.012  3.09   979971   38729745.9  ...      -4.42  15300  0.399  0.400  6.949034e+08   277961363   277961363 2025-07-02 2025-07-02 15:35:06+08:00

获取开放式基金净值数据

df = ak.fund_open_fund_daily_em() #当前交易日的所有开放式基金净值数据
print(df)

         基金代码                        基金简称 2025-07-02-单位净值 2025-07-02-累计净值 2025-07-01-单位净值 2025-07-01-累计净值    日增长值  日增长率  申购状态  赎回状态    手续费
0      168501                    北信瑞丰产业升级           1.152           1.152          1.0917          1.0917  0.0603  5.52  开放申购  开放赎回  0.15%
1      014917                 汇丰晋信时代先锋混合A          0.7394          0.7394          0.7015          0.7015  0.0379  5.40  开放申购  开放赎回  0.15%
2      014918                 汇丰晋信时代先锋混合C           0.726           0.726          0.6888          0.6888  0.0372  5.40  开放申购  开放赎回  0.00%
3      014423                  汇丰晋信研究精选混合          0.8001          0.8001          0.7615          0.7615  0.0386  5.07  开放申购  开放赎回  0.15%
4      008116                 银华沪深股通精选混合A          1.2324          1.2324          1.1831          1.1831  0.0493  4.17  开放申购  开放赎回  0.15%

查询国内期货实时行情

df = ak.futures_zh_spot(symbol="SN0",market="CF",adjust="0")
print(df)

  symbol    time      open      high       low  current_price  bid_price  ask_price  buy_vol  sell_vol     hold  volume  avg_price  last_close  last_settle_price
0    锡连续  001408  269000.0  269980.0  268550.0       269430.0   269420.0   269430.0        1         9  31945.0   28119        0.0         0.0           269300.0

加密货币实时行情

df = ak.crypto_js_spot() 
print(df)

               市场    交易品种         最近报价        涨跌额   涨跌幅       24小时最高       24小时最低   24小时成交量                 更新时间
0    Bitfinex(香港)  LTCUSD       67.465       0.59  0.87       68.867       66.259   6893.13  2023-10-02 22:45:09
1    Bitflyer(日本)  BTCJPY  4244238.000  191147.00  4.72  4278000.000  4042615.000   1803.99  2023-10-02 22:45:09
2    Bitstamp(美国)  BTCUSD    28309.000    1192.00  4.40    28592.000    27044.000   2667.55  2023-10-02 22:45:09
3      CEX.IO(伦敦)  BTCUSD    28332.400    1200.50  4.42    28548.400    27071.000      8.04  2023-10-02 22:45:09
4  Kraken_EUR(美国)  BTCEUR    26960.100    1328.10  5.18    27187.800    25572.800   1492.30  2023-10-02 22:45:09

AkShare的独特优势

1. 数据源的丰富性与实时性

AkShare整合了众多权威数据源,包括新浪财经、东方财富、同花顺等,确保数据的准确性和及时性。更重要的是,开源社区会根据市场变化持续更新数据接口,让你始终能获取到最新的市场信息。

2. 零门槛的使用体验

与传统金融数据服务商相比,AkShare最大的优势就是”零门槛”:

  • • 无需注册:不用填写繁琐的申请表格
  • • 无需认证:不用等待漫长的审核流程
  • • 无需付费:完全免费使用所有功能
  • • 无需限流:合理使用范围内不受频次限制

3. 社区驱动的持续发展

AkShare拥有活跃的开源社区,开发者会根据用户需求不断添加新的数据接口和功能。这种社区驱动的发展模式确保了工具的持续进化和完善。

实际应用场景

个人投资者的智能选股

小张是一名程序员,工作之余想要进行股票投资,但苦于没有专业的数据分析工具。使用AkShare后,他可以:

# 每日自动筛选优质股票
defdaily_stock_screening():
    # 获取所有股票数据
    all_stocks = ak.stock_zh_a_spot()
    
    # 筛选条件:涨幅在2%-8%之间,成交量放大
    filtered_stocks = all_stocks[
        (all_stocks['涨跌幅'] >= 2) & 
        (all_stocks['涨跌幅'] <= 8) &
        (all_stocks['成交量'] > all_stocks['成交量'].quantile(0.7))
    ]
    
    print(f"今日符合条件的股票有{len(filtered_stocks)}只:")
    return filtered_stocks[['代码', '名称', '最新价', '涨跌幅', '成交量']]

# 每日执行
daily_picks = daily_stock_screening()


今日符合条件的股票有267只:
            代码    名称    最新价    涨跌幅          成交量
67    bj832786  骑士乳业  12.052.119   31564714.0
105   bj834639  晨光电缆   9.424.667   20264787.0
171   bj838402  硅烷科技  10.937.685   23215536.0
274   sh600010  包钢股份   1.832.235584236081.0
275   sh600011  华能国际   7.382.929   89718580.0

AkShare作为开源免费金融数据工具,其使用需注意以下几点:

数据使用的合规性

  • • 遵守相关法律法规和交易所规定。
  • • 避免过度频繁请求数据,减轻数据源压力。
  • • 商业使用前需确认数据授权范围。

结语

AkShare实现了金融数据的“民主化”,赋能量化交易者洞察市场、发现机会、创造价值。无论新手还是专业人士,它都能提供强大数据支持。请记住,工具是手段,关键在于运用数据构建有效的投资策略。欢迎分享你的经验和想法,共同交流进步!