akshare README

The project's README from github.com/akfamily/akshare. As one markdown file: README.md.

资源分享:对于想了解更多财经数据与量化投研的小伙伴,推荐一个专注于财经数据和量化研究的知识社区。 该社区提供相关文档和视频学习资源,汇集了各类财经数据源和量化投研工具的使用经验。 有兴趣深入学习的朋友可点此了解更多,也推荐大家关注微信公众号【数据科学实战】。

重磅推荐:AKQuant 是一款专为 量化投研 (Quantitative Research) 打造的高性能量化回测框架。它以 Rust 铸造极速撮合内核, 以 Python 链接数据与 AI 生态,旨在为量化投资者提供可靠高效的量化投研解决方案。参见AKQuant

工具推荐:期魔方是一款本地化期货量化分析工具,适合数据分析爱好者使用。无需复杂部署,支持数据分析和机器学习功能,研究功能免费开放。 如需了解更多信息可访问期魔方。

AKShare Logo

PyPI - Python Version PyPI PyPI Downloads Documentation Status Ruff akshare Checks Status Release Status MIT Licence

Overview

AKShare requires Python(64 bit) 3.11 or higher and aims to simplify the process of fetching financial data.

Write less, get more!

Installation

General

pip install akshare --upgrade

China

pip install akshare -i https://mirrors.aliyun.com/pypi/simple/ --upgrade

Docker

Pull images

docker pull registry.cn-shanghai.aliyuncs.com/akfamily/aktools:jupyter

Run Container

docker run -it registry.cn-shanghai.aliyuncs.com/akfamily/aktools:jupyter python

Test

import akshare as ak

print(ak.__version__)

Usage

Data

Code:

import akshare as ak

stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20170301", end_date="20231022", adjust="")
print(stock_zh_a_hist_df)

Output:

      日期          开盘   收盘    最高  ...  振幅   涨跌幅  涨跌额  换手率
0     2017-03-01   9.49   9.49   9.55  ...  0.84  0.11  0.01  0.21
1     2017-03-02   9.51   9.43   9.54  ...  1.26 -0.63 -0.06  0.24
2     2017-03-03   9.41   9.40   9.43  ...  0.74 -0.32 -0.03  0.20
3     2017-03-06   9.40   9.45   9.46  ...  0.74  0.53  0.05  0.24
4     2017-03-07   9.44   9.45   9.46  ...  0.63  0.00  0.00  0.17
          ...    ...    ...    ...  ...   ...   ...   ...   ...
1610  2023-10-16  11.00  11.01  11.03  ...  0.73  0.09  0.01  0.26
1611  2023-10-17  11.01  11.02  11.05  ...  0.82  0.09  0.01  0.25
1612  2023-10-18  10.99  10.95  11.02  ...  1.00 -0.64 -0.07  0.34
1613  2023-10-19  10.91  10.60  10.92  ...  3.01 -3.20 -0.35  0.61
1614  2023-10-20  10.55  10.60  10.67  ...  1.51  0.00  0.00  0.27
[1615 rows x 11 columns]

AKShare ships an offline interface registry, so you can look up an interface by keyword without leaving Python and without any network request. This is especially handy for LLM-driven programs that need to resolve a description into a callable interface name.

Code:

import akshare as ak

search_df = ak.search("可转债 实时行情", limit=5)
print(search_df)

# full metadata of a single interface: params, output columns and a usage example
interface_info_dict = ak.interface_info("bond_cb_jsl")
print(interface_info_dict)

Output:

                      接口名    类目                                                       描述  有无文档   匹配分
0             bond_cb_jsl  bond  集思录可转债实时数据,包含行情数据(涨跌幅,成交量和换手率等)及可转债基本信息(转股价,溢价率和到期收益率等)  True  27.0
1      bond_zh_hs_cov_min  bond                                           东方财富网-可转债-分时行情  True  20.0
2  bond_zh_hs_cov_pre_min  bond                                      东方财富网-可转债-分时行情-盘前分时  True  20.0
3     bond_cov_comparison  bond                                   东方财富网-行情中心-债券市场-可转债比价表  True  17.0
4        fund_etf_spot_em  fund                                            东方财富-ETF 实时行情  True  17.0

Passing a full interface name always ranks that interface first, which makes it a reliable way to confirm a half-remembered name. Note this is keyword matching rather than semantic search — see the interface search docs for what it can and cannot do.

Plot

Code:

import akshare as ak
import mplfinance as mpf  # Please install mplfinance as follows: pip install mplfinance

stock_us_daily_df = ak.stock_us_daily(symbol="AAPL", adjust="qfq")
stock_us_daily_df = stock_us_daily_df.set_index(["date"])
stock_us_daily_df = stock_us_daily_df["2020-04-01": "2020-04-29"]
mpf.plot(stock_us_daily_df, type="candle", mav=(3, 6, 9), volume=True, show_nontrading=False)

Features

Tutorials

  1. Overview
  2. Installation
  3. Interface Search
  4. Tutorial
  5. Data Dict
  6. Indicator
  7. Data Tips
  8. Trade

Contribution

AKShare is still under development, feel free to open issues and pull requests:

See the contributing guide before opening a pull request.

Notice: We use Ruff to format the code

Statement

  1. All data provided by AKShare is just for academic research purpose;
  2. The data provided by AKShare is for reference only and does not constitute any investment proposal;
  3. Any investor based on AKShare research should pay more attention to data risk;
  4. AKShare will insist on providing open-source financial data;
  5. Based on some uncontrollable factors, some data interfaces in AKShare may be removed;
  6. Please follow the relevant open-source protocol used by AKShare;
  7. Provide HTTP API for the person who uses other program language: AKTools.

Show your style

Use the badge in your project's README.md:

[![Data: akshare](https://img.shields.io/badge/Data%20Science-AKShare-green)](https://github.com/akfamily/akshare)

Using the badge in README.rst:

.. image:: https://img.shields.io/badge/Data%20Science-AKShare-green
    :target: https://github.com/akfamily/akshare

Looks like this:

Data: akshare

Citation

Please use this bibtex if you want to cite this repository in your publications:

@misc{akshare,
    author = {Albert King and Yaojie Zhang},
    title = {AKShare},
    year = {2022},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/akfamily/akshare}},
}

Acknowledgement

Special thanks FuShare for the opportunity of learning from the project;

Special thanks TuShare for the opportunity of learning from the project;

Thanks for the data provided by 东方财富网站;

Thanks for the data provided by 新浪财经网站;

Thanks for the data provided by 金十数据网站;

Thanks for the data provided by 生意社网站;

Thanks for the data provided by 中国银行间市场交易商协会网站;

Thanks for the data provided by 99期货网站;

Thanks for the data provided by 中国外汇交易中心暨全国银行间同业拆借中心网站;

Thanks for the data provided by 和讯财经网站;

Thanks for the data provided by DACHENG-XIU 网站;

Thanks for the data provided by 上海证券交易所网站;

Thanks for the data provided by 深证证券交易所网站;

Thanks for the data provided by 北京证券交易所网站;

Thanks for the data provided by 中国金融期货交易所网站;

Thanks for the data provided by 上海期货交易所网站;

Thanks for the data provided by 大连商品交易所网站;

Thanks for the data provided by 郑州商品交易所网站;

Thanks for the data provided by 上海国际能源交易中心网站;

Thanks for the data provided by Timeanddate 网站;

Thanks for the data provided by 河北省空气质量预报信息发布系统网站;

Thanks for the data provided by Economic Policy Uncertainty 网站;

Thanks for the data provided by 申万指数网站;

Thanks for the data provided by 真气网网站;

Thanks for the data provided by 财富网站;

Thanks for the data provided by 中国证券投资基金业协会网站;

Thanks for the data provided by Expatistan 网站;

Thanks for the data provided by 北京市碳排放权电子交易平台网站;

Thanks for the data provided by 国家金融与发展实验室网站;

Thanks for the data provided by 义乌小商品指数网站;

Thanks for the data provided by 百度迁徙网站;

Thanks for the data provided by 思知网站;

Thanks for the data provided by Currencyscoop 网站;

Thanks for the data provided by 新加坡交易所网站;

akshare (akfamily/akshare)

Searching Database…

这是做什么用的?AKShare 是一个免费开源的 Python 库,把大量金融数据接口封装成简单的函数调用——一行代码就能获取一个数据集。
它是一个我可以导入的 Python 库,还是通过 HTTP 调用的服务?它是一个在 Python 代码中导入使用的库。对于其他语言,还有一个独立的配套项目 AKTools,可以通过 HTTP 提供同样的数据。
怎么安装?运行它需要什么条件?需要 64 位的 Python 3.11 或更新版本,然后用 pip 安装这个包;另外还有专门面向国内用户的安装方式,以及现成的 Docker 镜像。
这些数据可靠到可以作为交易决策的依据吗?不行——README 明确说明所有内容仅供学术研究参考,不构成投资建议,而且部分接口可能因项目方无法控制的因素而被移除。
它覆盖哪些市场和数据来源?以中国市场为主:上海、深圳和北京的证券交易所,各大中国期货交易所,以及东方财富、新浪财经和金十数据等门户网站。其中也混入了少量国外来源,比如新加坡交易所和 Timeanddate。
AKShare 还在积极维护吗?是的。它从 2019 年 10 月起步,GitHub 上有大约 23k 颗星,目前仍在开发中——项目欢迎提交 issue 和 pull request,并配有 CI 检查和 Ruff 格式化。
README 里推荐的 AKQuant 是什么?它是一个相关的独立项目,不是这个库的一部分:一个面向量化研究的高性能回测框架,撮合核心用 Rust 编写,Python 则负责串联数据和 AI 生态。
Creator
akfamily
Size
6.6 MB
Stars
23K
Age
7y
Commits · 90 Days