name: akshare category: data-source description: AKShare financial data aggregator (18k+ stars). Free, no API key. Covers A-shares, US, HK, futures, macro, forex. Primary fallback for tushare and yfinance.
Overview
AKShare is a completely free, open-source Python financial data library. No registration or API key required. It aggregates data from public sources (Sina, East Money, etc.) covering Chinese and global markets.
- GitHub: https://github.com/akfamily/akshare (18k+ stars)
- Install:
pip install akshare
Quick Start
import akshare as ak
# A-share daily OHLCV (前复权)
df = ak.stock_zh_a_hist(symbol="000001", period="daily",
start_date="20240101", end_date="20260101", adjust="qfq")
# US stock daily
df = ak.stock_us_hist(symbol="105.AAPL", period="daily",
start_date="20240101", end_date="20260101", adjust="qfq")
# HK stock daily
df = ak.stock_hk_hist(symbol="00700", period="daily",
start_date="20240101", end_date="20260101", adjust="qfq")
Top 10 High-Frequency Interfaces
A-shares
| Function | Description | Key Params |
|---|---|---|
stock_zh_a_hist() | A-share OHLCV | symbol, period, start_date, end_date, adjust |
stock_zh_a_spot_em() | Real-time A-share quotes | (none) |
stock_individual_info_em() | Stock basic info | symbol |
stock_zh_a_hist_min_em() | Intraday bars | symbol, period(1/5/15/30/60) |
US / HK
| Function | Description | Key Params |
|---|---|---|
stock_us_hist() | US stock OHLCV | symbol (e.g. "105.AAPL"), period, start_date, end_date |
stock_hk_hist() | HK stock OHLCV | symbol (e.g. "00700"), period, start_date, end_date |
Macro / Forex / Futures
| Function | Description |
|---|---|
macro_china_gdp() | China GDP data |
macro_china_cpi() | China CPI data |
futures_main_sina() | Futures main contract quotes |
currency_boc_sina() | BOC forex rates |
Column Names
AKShare returns Chinese column names by default:
| Chinese | English | Description |
|---|---|---|
| 日期 | date | Trade date |
| 开盘 | open | Open price |
| 最高 | high | High price |
| 最低 | low | Low price |
| 收盘 | close | Close price |
| 成交量 | volume | Volume |
| 成交额 | amount | Turnover |
| 涨跌幅 | pct_change | % change |
| 换手率 | turnover_rate | Turnover rate |
Date Format
- Input:
YYYYMMDDstring (e.g."20240101") - Output:
日期column as string, convert withpd.to_datetime()
Symbol Format
- A-shares: pure digits
"000001"(no .SZ suffix) - US stocks:
"105.AAPL"(NASDAQ prefix 105),"106.BABA"(NYSE prefix 106) - HK stocks:
"00700"(5-digit zero-padded)
Built-in Loader
The project has a built-in AKShare DataLoader at backtest/loaders/akshare_loader.py. When backtesting, the runner automatically falls back to AKShare when tushare/yfinance are unavailable.
Reference Docs
For less common interfaces, see the references/ subdirectory or the official docs at https://akshare.akfamily.xyz/