Python量化交易必备工具AkShare深度解析,金融数据神器全攻略!

1. 前言:别让数据阻挡你的发财路!😂

你有没有过这样的体验?兴冲冲地想写个量化交易策略,结果光是找数据就跑遍了各大网站,API文档比《红楼梦》还难懂,关键还各种限流、收费,看着账户余额直接把梦想掐灭了。

别慌!今天花姐就给大家带来一款 完全免费 的金融数据接口库——AkShare!🎉

无论是 股票、期货、基金、债券,还是加密货币,通通搞定!想做量化交易?AkShare 必须安排上!


2. AkShare 是什么?💡

AkShare 是一个基于 Python 的 金融数据接口库,完全开源,支持 股票、期货、基金、外汇、债券、指数、加密货币 等多种市场的数据获取。

👉 核心特点:

  • 免费开源:不用掏一分钱,白嫖党狂喜!
  • 数据丰富:A 股、美股、港股、期货、基金、外汇,样样齐全。
  • 简单易用:不需要复杂的 API 注册,直接 Python 一键获取数据。
  • 持续更新:开发者维护活跃,数据源不断拓展。
  • 这么香的工具,赶紧来看看怎么用!🔥


    3. 安装 AkShare 🚀

    直接使用 pip 安装,一行命令搞定:

    pip install akshare
    

    安装速度取决于网速,如果遇到安装慢的情况,可以使用国内源:

    pip install akshare -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    安装完成后,我们就可以开始愉快地拉取金融数据啦!📊


    4. AkShare 核心功能详解 🔥

    4.1 获取股票数据(A 股、美股、港股)

    ✅ 查询 A 股实时行情
    import akshare as ak
    
    df = ak.stock_zh_a_spot()
    print(df)
    

    输出结果:

       代码    名称     最新价   涨跌额    涨跌幅      买入      卖出      昨收      今开      最高      最低        成交量          成交额       时间戳
    0     bj430017  星昊医药   17.00  0.29  1.735   17.00   17.05   16.71   16.81   17.40   16.72  2377569.0   40624439.0  10:34:17
    1     bj430047  诺思兰德   13.72  0.19  1.404   13.71   13.72   13.53   13.63   13.78   13.42   813702.0   11086837.0  10:34:17
    2     bj430090  同辉信息    7.78  0.40  5.420    7.77    7.78    7.38    7.45    7.79    7.40  5773317.0   43927823.0  10:34:17
    3     bj430139  华岭股份   27.91  0.70  2.573   27.91   27.98   27.21   27.30   28.20   27.12  3639672.0  100696054.0  10:34:17
    4     bj430198  微创光电   16.17  0.31  1.955   16.16   16.17   15.86   15.89   16.36   15.71  2645957.0   42524050.0  10:34:17
    ...        ...   ...     ...   ...    ...     ...     ...     ...     ...     ...     ...        ...          ...       ...
    5391  sz301626  苏州天脉   90.99  1.88  2.110   90.98   90.99   89.11   88.80   91.50   88.65   586400.0   52904732.0  10:36:03
    5392  sz301628  强达电路  102.16 -2.24 -2.146  102.15  102.16  104.40  102.50  104.10  100.00  1695387.0  172488306.0  10:36:03
    5393  sz301631  壹连科技  134.36  0.48  0.359  134.37  134.50  133.88  133.90  134.70  133.00   403772.0   54013048.0  10:36:00
    5394  sz301633  港迪技术   87.38 -0.84 -0.952   87.38   87.40   88.22   88.30   88.86   87.01   336300.0   29438178.0  10:36:00
    5395  sz302132  中航成飞   61.96 -0.19 -0.306   61.91   61.96   62.15   62.00   62.50   61.58  2023800.0  125329607.0  10:36:03
    
    [5396 rows x 14 columns]
    

    🔹 解读:

  • stock_zh_a_spot() 获取 A 股市场全部的实时数据。
  • 直接返回一个 Pandas DataFrame,包含股票代码、名称、最新价、涨跌幅等信息。
  • ✅ 查询指定股票的历史数据
    df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20230101", end_date="20240301" ,adjust="qfq")
    print(df)
    

    输出结果:

     日期    股票代码     开盘     收盘     最高     最低      成交量           成交额    振幅   涨跌幅   涨跌额   换手率
    0    2024-01-02  000001   8.43   8.25   8.46   8.25  1158366  1.075742e+09  2.49 -2.14 -0.18  0.60
    1    2024-01-03  000001   8.23   8.24   8.26   8.19   733610  6.736736e+08  0.85 -0.12 -0.01  0.38
    2    2024-01-04  000001   8.23   8.15   8.23   8.12   864194  7.874701e+08  1.33 -1.09 -0.09  0.45
    3    2024-01-05  000001   8.14   8.31   8.48   8.11  1991622  1.852660e+09  4.54  1.96  0.16  1.03
    4    2024-01-08  000001   8.27   8.19   8.34   8.15  1121156  1.029007e+09  2.29 -1.44 -0.12  0.58
    ..          ...     ...    ...    ...    ...    ...      ...           ...   ...   ...   ...   ...
    283  2025-03-10  000001  11.66  11.59  11.67  11.55   663834  7.692614e+08  1.03 -0.69 -0.08  0.34
    284  2025-03-11  000001  11.54  11.61  11.61  11.52   608975  7.042405e+08  0.78  0.17  0.02  0.31
    285  2025-03-12  000001  11.60  11.85  11.87  11.56  1877318  2.210904e+09  2.67  2.07  0.24  0.97
    286  2025-03-13  000001  11.81  11.84  11.91  11.78  1312371  1.555123e+09  1.10 -0.08 -0.01  0.68
    287  2025-03-14  000001  11.82  11.98  11.99  11.82   836460  9.980182e+08  1.44  1.18  0.14  0.43
    
    [288 rows x 12 columns]
    

    🔹 解读:

  • symbol="000001" 是平安银行的股票代码。
  • period="daily" 获取日线数据(支持日、周、月周期)。
  • start_dateend_date 指定时间范围。
  • adjust 前复权:qfq,后复权hfq ,不复权:不填
  • 是不是比某些收费 API 还方便?💰 省下 API 费用,直接加仓不香吗?😂


    4.2 期货数据获取

    ✅ 查询国内期货实时行情
    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    锡连续  110337  264860.0  291510.0  264080.0       291510.0   291510.0        0.0     3255         0  41903.0  346237        0.0         0.0           265010.0
    

    🔹 解读:

  • futures_zh_spot() 新浪财经-期货页面的实时行情数据
  • symbol="SN0" 指定具体的期货合约代码。
  • market: "CF": 商品期货, "FF": 金融期货
  • adjust:'0'; '1': 返回合约、交易所和最小变动单位的实时数据

  • 4.3 获取基金数据 🏦

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

    输出结果:

    基金代码            基金简称 2025-03-13-单位净值 2025-03-13-累计净值 2025-03-12-单位净值 2025-03-12-累计净值    日增长值  日增长率  申购状态  赎回状态    手续费
    0      519212    万家宏观择时多策略混合A          2.1819          2.1819          2.0895          2.0895  0.0924  4.42   限大额  开放赎回  0.15%
    1      017787    万家宏观择时多策略混合C          2.1593          2.1593          2.0679          2.0679  0.0914  4.42   限大额  开放赎回  0.00%
    2      519185         万家精选混合A          1.5552          2.9295          1.4935          2.8678  0.0617  4.13   限大额  开放赎回  0.15%
    3      015566         万家精选混合C            1.53          1.6562          1.4693          1.5955  0.0607  4.13   限大额  开放赎回  0.00%
    4      161032  富国中证煤炭指数(LOF)A           1.858           1.295           1.785           1.244   0.073  4.09  开放申购  开放赎回  0.00%
    ...       ...             ...             ...             ...             ...             ...     ...   ...   ...   ...    ...
    20564  021095       东方低碳经济混合C                                                                                暂停申购  暂停赎回  0.00%
    20565  022657         建信丰融债券A                                                                                暂停申购  暂停赎回  0.08%
    20566  022658         建信丰融债券C                                                                                暂停申购  暂停赎回  0.00%
    20567  023396  宝盈北证50成份指数发起式C                                                                                暂停申购  暂停赎回  0.00%
    20568  022493    金元顺安鑫怡混合发起式C                                                                                暂停申购  暂停赎回  0.00%
    
    [20569 rows x 11 columns]
    

    🔹 解读:

  • fund_open_fund_daily_em 东方财富网-天天基金网-基金数据-开放式基金净值
  • 返回基金的代码、名称、净值等信息。
  • 4.3.2 获取开放式基金-单位净值走势
    df = ak.fund_open_fund_info_em(symbol="015566", indicator="单位净值走势" ) #万家精选混合C 走势
    print(df)
    

    输出结果:

               净值日期    单位净值  日增长率
    0    2022-04-25  1.2707  0.00
    1    2022-04-26  1.2302 -3.19
    2    2022-04-27  1.2696  3.20
    3    2022-04-28  1.3437  5.84
    4    2022-04-29  1.3587  1.12
    ..          ...     ...   ...
    697  2025-03-07  1.4558  0.81
    698  2025-03-10  1.4755  1.35
    699  2025-03-11  1.4759  0.03
    700  2025-03-12  1.4693 -0.45
    701  2025-03-13  1.5300  4.13
    
    [702 rows x 3 columns]
    

    🔹 解读:

  • fund_open_fund_info_em 东方财富网-天天基金网-基金数据-具体基金信息
  • symbol 代表基金代码。
  • indicator 值可选 单位净值走势、累计净值走势
  • period 该参数只对 累计收益率走势 有效, 可选择的值有 "1月", "3月", "6月", "1年", "3年", "5年", "今年来", "成立来"

  • 4.4 获取加密货币数据💰

    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
    5      Kraken(美国)  LTCUSD       67.410       0.50  0.75       68.760       66.250  28818.47  2023-10-02 22:45:09
    6      OKCoin(中国)  BTCUSD    28312.570    1205.51  4.45    28482.250    27063.520      1.81  2023-10-02 22:45:09
    7    Bitfinex(香港)  BCHUSD        0.000       0.00  0.00        0.000        0.000      0.00  2020-11-16 21:02:04
    8    Bitfinex(香港)  BTCUSD    28323.000    1198.00  4.42    28611.000    27063.000   2656.08  2023-10-02 22:45:09
    9      Kraken(美国)  BTCUSD    28320.000    1217.60  4.49    28572.500    27059.600   3632.92  2023-10-02 22:45:09
    

    🔹 解读:

  • crypto_js_spot 单次返回主流加密货币当前时点行情数据

  • 5. AkShare 进阶玩法 🌟

    结合 pandas 进行数据分析

    import pandas as pd
    
    stock_df = ak.stock_zh_a_spot()
    filtered_df = stock_df[stock_df["涨跌幅"] > 5]  # 找出涨幅超过 5% 的股票
    print(filtered_df)
    

    🔹 解读:

  • 直接用 Pandas 进行数据筛选,找出涨幅超过 5% 的股票。
  • 结合 matplotlibseaborn 可以直接绘制数据可视化。

  • 6. 使用建议

    AKShare本质是帮我们把全网公开金融数据都写成了爬虫,数据获取对网络要求比较高,频繁访问会导致IP被封。经过多次使用,使用东方财富网的数据接口对IP限制比较少,不容易被封IP,速度还快。

    同时推荐把历史数据存放数据库或者存成本地csv文件再进行量化效果更好。

    7. 总结 🎯

    AkShare 绝对是 Python 量化分析必备的神器,不仅 免费,还支持超多金融数据,API 设计简单易用。

    📌 适用人群:
    ✅ 量化交易爱好者
    ✅ 金融数据分析师
    ✅ 股票、期货、基金、加密货币研究者

    💡 核心亮点:

  • 数据齐全:涵盖全球主要金融市场。
  • 开源免费:不用担心 API 限流或高昂费用。
  • Python 友好:直接返回 Pandas DataFrame,和数据分析无缝衔接。
  • 强烈建议大家赶紧试试 AkShare,别让数据难住你的财富之路!💰

    👉 顺手点赞 + 在看就是对花姐最大的支持!🎉

    作者:花小姐的春天

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python量化交易必备工具AkShare深度解析,金融数据神器全攻略!

    发表回复