AKShare 开源金融数据接口库 - 支持A股、港股、美股、期货、期权、基金、债券、外汇、宏观数据,免费无需API Key。
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install aakshare或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install aakshare⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/aakshare/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: akshare description: AKShare 开源金融数据接口库 - 支持A股、港股、美股、期货、期权、基金、债券、外汇、宏观数据,免费无需API Key。 version: 1.2.0 homepage: https://github.com/akfamily/akshare metadata: {"clawdbot":{"emoji":"💹","requires":{"bins":["python3"]}}} ---
AKShare 是一个全面的免费Python金融数据API库,覆盖A股、港股、美股、期货、期权、基金、债券、外汇和宏观经济数据。无需注册或API Key,所有函数返回 pandas.DataFrame。
> 文档:https://akshare.akfamily.xyz/
pip install akshare --upgrade
需要 Python 3.9+(64位)。
import akshare as ak
# 获取平安银行日K线数据
df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20240101", end_date="20240630")
print(df)
{asset_type}_{market}_{data_type}_{data_source}
stock (stocks), futures (futures), fund (funds), bond (bonds), forex (foreign exchange), option (options), macro (macroeconomics), index (indices)zh (China), us (United States), hk (Hong Kong), or exchange codesspot (real-time), hist (historical), daily (daily bars), minute (minute bars)em (East Money), sina (Sina Finance), exchange abbreviations---
import akshare as ak
# 获取全部A股实时行情
df = ak.stock_zh_a_spot_em()
# 返回字段: 序号、代码、名称、最新价、涨跌幅、涨跌额、成交量、成交额、振幅、最高、最低、今开、昨收、量比、换手率、市盈率、市净率 ...
# 获取指定股票历史日K线数据
df = ak.stock_zh_a_hist(
symbol="000001", # 股票代码(不带前缀)
period="daily", # 周期: "daily"(日), "weekly"(周), "monthly"(月)
start_date="20240101", # 开始日期,格式YYYYMMDD
end_date="20240630", # 结束日期
adjust="" # 复权: ""(不复权), "qfq"(前复权), "hfq"(后复权)
)
# 返回字段: 日期、开盘、收盘、最高、最低、成交量、成交额、振幅、涨跌幅、涨跌额、换手率
# 获取分钟级K线数据
df = ak.stock_zh_a_hist_min_em(
symbol="000001",
period="5", # 分钟间隔: "1", "5", "15", "30", "60"
start_date="2024-01-02 09:30:00",
end_date="2024-01-02 15:00:00",
adjust="" # 复权类型
)
# 获取个股基本信息
df = ak.stock_individual_info_em(symbol="000001")
# 返回字段: 总市值、流通市值、行业、上市时间、股票代码、股票简称、总股本、流通股 ...
---
# 港股实时行情
df = ak.stock_hk_spot_em()
# 港股历史K线数据
df = ak.stock_hk_hist(
symbol="00700", # 腾讯控股
period="daily", # 日线
start_date="20240101",
end_date="20240630",
adjust="qfq" # 前复权
)
---
# 美股日线数据
df = ak.stock_us_daily(symbol="AAPL", adjust="qfq")
# 美股实时行情
df = ak.stock_us_spot_em()
---
# A股指数历史数据 (e.g., Shanghai Composite Index 000001)
df = ak.stock_zh_index_daily_em(symbol="sh000001")
# 指数成分股 (e.g., CSI 300)
df = ak.index_stock_cons_csindex(symbol="000300")
---
# ETF实时行情
df = ak.fund_etf_spot_em()
# ETF历史K线数据
df = ak.fund_etf_hist_em(
symbol="510300", # 沪深300ETF
period="daily",
start_date="20240101",
end_date="20240630",
adjust="qfq"
)
# 开放式基金每日净值
df = ak.fund_open_fund_daily_em(symbol="000001")
# 基金评级
df = ak.fund_rating_all()
---
# 期货日线数据(按交易所汇总)
from akshare import get_futures_daily
df = get_futures_daily(start_date="20240101", end_date="20240102", market="CFFEX")
# 交易所选项: "CFFEX"(中金所), "SHFE"(上期所), "DCE"(大商所), "CZCE"(郑商所), "INE"(上海国际能源交易中心), "GFEX"(广期所)
# 期货实时行情
df = ak.futures_zh_spot()
# 期货库存数据
df = ak.futures_inventory_99(symbol="豆一")
---
# 交易所期权历史数据
df = ak.option_hist_dce(symbol="豆粕期权")
# 上证50ETF期权
df = ak.option_sse_spot_price(symbol="510050")
---
# 可转债列表
df = ak.bond_zh_cov()
# 可转债历史K线数据
df = ak.bond_zh_hs_cov_daily(symbol="sz123456")
# 中国债券现货报价
df = ak.bond_spot_quote()
---
# 外汇实时行情(东方财富)
df = ak.forex_spot_em()
# 外汇即期报价(中国外汇交易中心)
df = ak.fx_spot_quote()
# 外汇掉期报价
df = ak.fx_swap_quote()
---
# 中国CPI年度数据
df = ak.macro_china_cpi_yearly()
# 中国GDP年度数据
df = ak.macro_china_gdp_yearly()
# 中国PMI数据
df = ak.macro_china_pmi()
# 美国非农就业数据
df = ak.macro_usa_non_farm()
# 美国CPI月度数据
df = ak.macro_usa_cpi_monthly()
---
# 个股财经新闻(东方财富)
df = ak.stock_news_em(symbol="000001")
# 央视新闻
df = ak.news_cctv(date="20240101")
---
import akshare as ak
import pandas as pd
import mplfinance as mpf # pip install mplfinance
# 获取贵州茅台前复权日K线数据
df = ak.stock_zh_a_hist(
symbol="600519",
period="daily",
start_date="20240101",
end_date="20240630",
adjust="qfq"
)
# 设置日期索引并重命名列为英文(mplfinance要求)
df.index = pd.to_datetime(df["日期"]) # 设置日期为索引
df.rename(columns={
"开盘": "Open", # 开盘价
"收盘": "Close", # 收盘价
"最高": "High", # 最高价
"最低": "Low", # 最低价
"成交量": "Volume" # 成交量
}, inplace=True)
# 绘制K线图(含5/10/20日均线和成交量)
mpf.plot(df, type="candle", mav=(5, 10, 20), volume=True)
--upgrade 保持akshare最新版 — 由于上游数据源变化,接口更新频繁。---
import akshare as ak
import pandas as pd
# 定义要下载的股票列表
stock_list = ["000001", "600519", "300750", "601318", "000858"]
all_data = {}
for symbol in stock_list:
# 下载每只股票的前复权日K线数据
df = ak.stock_zh_a_hist(
symbol=symbol,
period="daily",
start_date="20240101",
end_date="20240630",
adjust="qfq"
)
df["股票代码"] = symbol # 添加股票代码列,便于后续合并
all_data[symbol] = df
print(f"已下载 {symbol},共 {len(df)} 条记录")
# 合并所有股票数据为一个大的DataFrame
combined = pd.concat(all_data.values(), ignore_index=True)
combined.to_csv("multi_stock_data.csv", index=False)
print(f"合并总计: {len(combined)} 条记录")
import akshare as ak
import pandas as pd
import numpy as np
# 获取贵州茅台前复权日K线数据
df = ak.stock_zh_a_hist(symbol="600519", period="daily",
start_date="20240101", end_date="20241231", adjust="qfq")
# 将收盘价转换为浮点数 (收盘 = close price)
df["收盘"] = df["收盘"].astype(float)
# 计算均线
df["MA5"] = df["收盘"].rolling(window=5).mean() # 5日均线
df["MA10"] = df["收盘"].rolling(window=10).mean() # 10日均线
df["MA20"] = df["收盘"].rolling(window=20).mean() # 20日均线
df["MA60"] = df["收盘"].rolling(window=60).mean() # 60日均线
# 计算MACD指标
ema12 = df["收盘"].ewm(span=12, adjust=False).mean() # 12日指数移动平均
ema26 = df["收盘"].ewm(span=26, adjust=False).mean() # 26日指数移动平均
df["DIF"] = ema12 - ema26 # 快线(DIF)
df["DEA"] = df["DIF"].ewm(span=9, adjust=False).mean() # 慢线(DEA)
df["MACD"] = 2 * (df["DIF"] - df["DEA"]) # MACD柱
# 计算RSI指标(14日)
delta = df["收盘"].diff()
gain = delta.where(delta > 0, 0) # 上涨幅度
loss = -delta.where(delta < 0, 0) # 下跌幅度
avg_gain = gain.rolling(window=14).mean()
avg_loss = loss.rolling(window=14).mean()
rs = avg_gain / avg_loss
df["RSI14"] = 100 - (100 / (1 + rs)) # RSI值
# 计算布林带(20日)
df["BOLL_MID"] = df["收盘"].rolling(window=20).mean() # 中轨
df["BOLL_UP"] = df["BOLL_MID"] + 2 * df["收盘"].rolling(window=20).std() # 上轨
df["BOLL_DN"] = df["BOLL_MID"] - 2 * df["收盘"].rolling(window=20).std() # 下轨
# 展示:日期、收盘价及各技术指标
print(df[["日期", "收盘", "MA5", "MA20", "DIF", "DEA", "MACD", "RSI14"]].tail(10))
import akshare as ak
# 获取全部A股实时行情
df = ak.stock_zh_a_spot_em()
# 筛选涨幅>9.5%的股票(接近涨停)
df["涨跌幅"] = df["涨跌幅"].astype(float) # 涨跌幅 = change percentage
limit_up = df[df["涨跌幅"] >= 9.5].sort_values("涨跌幅", ascending=False)
print(f"今日涨停/接近涨停股票: 共 {len(limit_up)} 只")
# 展示:代码、名称、最新价、涨跌幅、成交额、换手率
print(limit_up[["代码", "名称", "最新价", "涨跌幅", "成交额", "换手率"]].head(20))
import akshare as ak
# 获取龙虎榜详细数据
df = ak.stock_lhb_detail_em(start_date="20240101", end_date="20240131")
print(df.head())
...安装 AKShare 后,可以对 AI 说这些话来触发它
Help me get started with AKShare
Explains what AKShare does, walks through the setup, and runs a quick demo based on your current project
Use AKShare to aKShare open source financial data interface library - supports A-s...
Invokes AKShare with the right parameters and returns the result directly in the conversation
What can I do with AKShare in my developer & devops workflow?
Lists the top use cases for AKShare, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/aakshare/ 目录(个人级,所有项目可用),或 .claude/skills/aakshare/(项目级)。重启 AI 客户端后,用 /aakshare 主动调用,或让 AI 根据上下文自动发现并使用。
AKShare 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
AKShare 可免费安装使用。请查阅仓库了解许可证信息。
AKShare 开源金融数据接口库 - 支持A股、港股、美股、期货、期权、基金、债券、外汇、宏观数据,免费无需API Key。
AKShare 属于「Developer & DevOps」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my developer & devops tasks using AKShare
Identifies repetitive steps in your workflow and sets up AKShare to handle them automatically