$npx -y skills add lzwme/finance-quant-skills --skill akshareAKShare 开源金融数据接口库,提供股票、期货、期权、基金、外汇、债券、指数、加密货币等全品类金融数据;当用户需要获取各类金融市场数据时使用
| 1 | # AKShare 金融数据获取 |
| 2 | |
| 3 | ## 任务目标 |
| 4 | - 本 Skill 用于:通过 AKShare 接口获取全品类金融市场数据 |
| 5 | - 能力包含:股票、期货、期权、基金、外汇、债券、指数、加密货币、宏观经济等数据 |
| 6 | - 触发条件:用户提及 AKShare 或需要获取各类金融数据时 |
| 7 | |
| 8 | ## 前置准备 |
| 9 | - 依赖说明:安装 akshare 库(已包含在 dependency 中) |
| 10 | - 凭证配置:AKShare 无需注册或 API Key,直接调用即可使用 |
| 11 | - 环境要求:Python 3.9+,建议定期更新 `pip install akshare --upgrade` |
| 12 | |
| 13 | ## 操作步骤 |
| 14 | - 标准流程: |
| 15 | 1. 确定数据需求 — 智能体理解用户意图(股票/期货/基金/外汇等) |
| 16 | 2. 调用对应脚本 — 根据数据类型选择脚本 |
| 17 | 3. 解析结果 — 智能体分析返回的 JSON 格式数据 |
| 18 | - 脚本调用映射: |
| 19 | - 股票数据 → `python scripts/stock_data.py --type hist --symbol 000001 --start 20240101 --end 20240131` |
| 20 | - 期货数据 → `python scripts/futures_data.py --type daily --exchange CFFEX --start 20240101 --end 20240131` |
| 21 | - 基金数据 → `python scripts/fund_data.py --type etf --symbol 510300` |
| 22 | - 外汇数据 → `python scripts/forex_data.py --type spot --symbol usd` |
| 23 | - 宏观经济 → `python scripts/macro_data.py --type gdp` |
| 24 | - 加密货币 → `python scripts/crypto_data.py --type price --symbol BTC/USDT` |
| 25 | - 可选分支: |
| 26 | - 当需要多只标的:使用逗号分隔多个代码 |
| 27 | - 当需要指定周期:使用 `--period` 参数(daily/weekly/monthly) |
| 28 | - 当需要复权数据:使用 `--adjust` 参数(qfq/hfq/空值) |
| 29 | |
| 30 | ## 使用示例 |
| 31 | - 示例1:获取股票历史K线 |
| 32 | - 场景/输入:用户说"获取贵州茅台2024年的日K线数据" |
| 33 | - 预期产出:返回日期、开盘价、最高价、最低价、收盘价、成交量等OHLCV数据 |
| 34 | - 关键要点:调用 `python scripts/stock_data.py --type hist --symbol 600519 --start 20240101 --end 20241231 --period daily --adjust qfq` |
| 35 | - 示例2:获取期货数据 |
| 36 | - 场景/输入:用户说"查看沪深300股指期货数据" |
| 37 | - 预期产出:返回期货合约的K线数据、持仓量、成交量等信息 |
| 38 | - 关键要点:调用 `python scripts/futures_data.py --type daily --symbol IF2406 --start 20240101 --end 20240131` |
| 39 | - 示例3:获取基金数据 |
| 40 | - 场景/输入:用户说"查询沪深300ETF的行情" |
| 41 | - 预期产出:返回ETF的实时行情或历史净值数据 |
| 42 | - 关键要点:调用 `python scripts/fund_data.py --type etf --symbol 510300` |
| 43 | - 示例4:获取宏观经济数据 |
| 44 | - 场景/输入:用户说"查看中国GDP数据" |
| 45 | - 预期产出:返回GDP历史数据和最新值 |
| 46 | - 关键要点:调用 `python scripts/macro_data.py --type gdp` |
| 47 | |
| 48 | ## 数据分类详解 |
| 49 | |
| 50 | 完整的 API 函数清单(70+ 个接口,覆盖股票/期货/基金/期权/债券/外汇/指数/加密货币/宏观经济/特色数据)见 [references/api-catalog.md](references/api-catalog.md)。 |
| 51 | |
| 52 | **快速索引**: |
| 53 | - 股票 → `ak.stock_zh_a_hist()`, `ak.stock_zh_a_spot_em()` |
| 54 | - 期货 → `ak.futures_zh_spot()`, `ak.get_futures_daily()` |
| 55 | - 基金 → `ak.fund_etf_spot_em()`, `ak.fund_etf_hist_em()` |
| 56 | - 宏观 → `ak.macro_china_gdp()`, `ak.macro_usa_cpi_monthly()` |
| 57 | - 特色 → `ak.stock_lhb_detail_em()`(龙虎榜), `ak.stock_hsgt_hist_em()`(北向资金) |
| 58 | |
| 59 | ## 资源索引 |
| 60 | ### 脚本: |
| 61 | - [scripts/stock_data.py](scripts/stock_data.py)(用途与参数:获取股票K线/行情/财务数据,支持 --type/--symbol/--start/--end/--period/--adjust) |
| 62 | - [scripts/futures_data.py](scripts/futures_data.py)(用途与参数:获取期货数据,支持 --type/--symbol/--exchange/--start/--end) |
| 63 | - [scripts/fund_data.py](scripts/fund_data.py)(用途与参数:获取基金数据,支持 --type/--symbol/--start/--end) |
| 64 | - [scripts/forex_data.py](scripts/forex_data.py)(用途与参数:获取外汇贵金属数据,支持 --type/--symbol) |
| 65 | - [scripts/macro_data.py](scripts/macro_data.py)(用途与参数:获取宏观经济数据,支持 --type) |
| 66 | - [scripts/crypto_data.py](scripts/crypto_data.py)(用途与参数:获取加密货币数据,支持 --type/--symbol/--period) |
| 67 | - [scripts/index_data.py](scripts/index_data.py)(用途与参数:获取指数数据,支持 --type/--symbol/--start/--end) |
| 68 | - [scripts/option_data.py](scripts/option_data.py)(用途与参数:获取期权数据,支持 --type/--symbol) |
| 69 | - [scripts/bond_data.py](scripts/bond_data.py)(用途与参数:获取债券数据,支持 --type/--symbol) |
| 70 | - [scripts/special_data.py](scripts/special_data.py)(用途与参数:获取龙虎榜/融资融券/北向资金等特色数据,支持 --type/--symbol/--start/--end) |
| 71 | |
| 72 | ### 参考文档: |
| 73 | - [API 函数速查表](references/api-catalog.md)(何时读取:需要查看完整 AKShare API 函数清单时) |
| 74 | - [股票数据文档](references/stock.md)(何时读取:需要查看股票相关API参数说明时) |
| 75 | - [期货数据文档](references/futures.md)(何时读取:需要查看期货相关API参数说明时) |
| 76 | - [基金数据文档](references/fund.md)(何时读取:需要查看基金相关API参数说明时) |
| 77 | - [宏观经济文档](references/macro.md)(何时读取:需要查看宏观数据API参数说明时) |
| 78 | - [AKShare官方文档](https://akshare.akfamily.xyz)(何时读取:需要查看最新API文档时) |
| 79 | |
| 80 | ## 注意事项 |
| 81 | - AKShare 无需注册或 API Key,直接调用即可使用 |
| 82 | - A股股票代码格式:纯数字代码(如 000001、600519),不带市场前缀 |
| 83 | - 港股股票代码格式:纯数字代码(如 00700) |
| 84 | - 美股股票代码格式:英文代码(如 AAPL、TSLA) |
| 85 | - 数据列名:A股数据为中文列名,美股/港股数据为英文列名 |
| 86 | - 建议定期更新AKShare版本:`pip install akshare --upgrade` |
| 87 | - 由于上游数据源变化,接口更新频繁,遇到错误时可先尝试更新版本 |
| 88 | - 脚本返回 JSON 格式数据,智能体负责解析并转换为用户友好的展示 |
| 89 | - 非Python用户可使用 AKTools HTTP API封装 |
| 90 | - 数据仅供学术研究使用,不构成投资建议 |
| 91 | |
| 92 | ## 快速参考 |
| 93 | ### 函数命名规则 |
| 94 | ``` |
| 95 | {asset_type}_{market}_{data_type}_{data_source} |
| 96 | ``` |
| 97 | - **Asset type**: `stock`(股票), `futures`(期货), `fund`(基金), `bond`(债券), `forex`(外汇), `option`(期权), `macro`(宏观), `index`(指数) |
| 98 | - **Market**: `zh`(中国), `us`(美国), `hk`(香港), 或交易所代码 |
| 99 | - **Data type**: `spot`(实时), `hist`(历史), `daily`(日线), `minute`(分钟) |
| 100 | - **Data source**: `em`(东方财富), `sina`(新浪财经), 交易所缩写 |
| 101 | |
| 102 | ### 复权类型 |
| 103 | - `""` - 不复权 |
| 104 | - `"qfq"` - 前复权 |
| 105 | - `"hfq"` - 后复权 |
| 106 | |
| 107 | ### 周期类型 |
| 108 | - `"daily"` - 日线 |
| 109 | - `"weekly"` - 周线 |
| 110 | - `"monthly"` - 月线 |
| 111 | - `"1"`, `"5"`, `"15"`, `"30"`, `"60"` - 分钟线 |