AKShare financial data aggregator (18k+ stars). Free, no API key. Covers A-shares, US, HK, futures, macro, forex. Primary fallback for tushare and yfinance.
68
82%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
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.
pip install akshareimport 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")| 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) |
| 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 |
| 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 |
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 |
YYYYMMDD string (e.g. "20240101")日期 column as string, convert with pd.to_datetime()"000001" (no .SZ suffix)"105.AAPL" (NASDAQ prefix 105), "106.BABA" (NYSE prefix 106)"00700" (5-digit zero-padded)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.
For less common interfaces, see the references/ subdirectory or the official docs at https://akshare.akfamily.xyz/
8643fcd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.