$npx -y skills add lzwme/finance-quant-skills --skill tushareTushare 专业金融数据平台,提供A股行情、历史K线、财务数据、宏观数据、指数数据等,覆盖全面、数据质量高。当用户提及 Tushare、获取A股数据、查询财务报表、下载宏观数据,或需要高质量、多维度金融数据时使用。与 baostock(免费但功能有限)和 jqdatasdk(需注册但有积分门槛)不同,tushare 数据最全但需注册获取 Token。免费替代方案可用 baostock 或 akshare。
| 1 | # Tushare 数据获取 |
| 2 | |
| 3 | ## 任务目标 |
| 4 | - 本 Skill 用于:通过 Tushare 数据接口获取 A 股市场数据、财务指标和宏观数据 |
| 5 | - 能力包含:实时行情、历史K线、财务数据、指标数据、股票信息、宏观数据、指数数据 |
| 6 | - 触发条件:用户提及 Tushare 或需要获取 A 股数据、财务信息、宏观数据时 |
| 7 | |
| 8 | ## 前置准备 |
| 9 | - 依赖说明:安装 tushare 库(已包含在 dependency 中) |
| 10 | - 凭证配置:需配置 Tushare Token(凭证名: TUSHARE_TOKEN,环境变量: TUSHARE_TOKEN) |
| 11 | - 账号申请:访问 https://tushare.pro/ 注册账号并获取 API Token(详见 references/tushare_quickstart.md) |
| 12 | |
| 13 | ## 操作步骤 |
| 14 | - 标准流程: |
| 15 | 1. 确定数据需求 — 智能体理解用户意图(行情/K线/财务/宏观/指数等) |
| 16 | 2. 调用对应脚本 — 根据数据类型选择脚本 |
| 17 | 3. 解析结果 — 智能体分析返回的 JSON 格式数据 |
| 18 | - 脚本调用映射: |
| 19 | - 行情/K线/复权数据 → `python scripts/market_data.py --type daily --ts_code 000001.SZ --start_date 20240101 --end_date 20240131` |
| 20 | - 财务数据/利润表/资产负债表 → `python scripts/financial_data.py --type financial --ts_code 000001.SZ --period 2023` |
| 21 | - 股票列表/交易日历 → `python scripts/stock_info.py --type stock_basic` |
| 22 | - 指数数据/宏观数据 → `python scripts/macro_index_data.py --type index_daily --ts_code 000001.SH --start_date 20240101 --end_date 20240131` |
| 23 | - 可选分支: |
| 24 | - 当需要多只股票数据:使用 --ts_code 参数逗号分隔 |
| 25 | - 当需要复权数据:使用 --type adj_factor 获取复权因子 |
| 26 | - 当需要指定报告期:使用 --period 参数(YYYY 或 YYYYMM) |
| 27 | |
| 28 | ## 使用示例 |
| 29 | - 示例1:获取股票日K线数据 |
| 30 | - 场景/输入:用户说"查看平安银行最近一个月的K线数据" |
| 31 | - 预期产出:返回日期、开盘价、最高价、最低价、收盘价、成交量等OHLCV数据 |
| 32 | - 关键要点:调用 `python scripts/market_data.py --type daily --ts_code 000001.SZ --start_date 20240301 --end_date 20240331` |
| 33 | - 示例2:查询财务数据 |
| 34 | - 场景/输入:用户说"获取招商银行2023年的财务指标" |
| 35 | - 预期产出:返回ROE、ROA、毛利率、净利率等财务指标 |
| 36 | - 关键要点:调用 `python scripts/financial_data.py --type fina_indicator --ts_code 600036.SH --period 2023` |
| 37 | - 示例3:获取指数数据 |
| 38 | - 场景/输入:用户说"查询上证指数最近的走势" |
| 39 | - 预期产出:返回上证指数的日期、收盘价、成交量等数据 |
| 40 | - 关键要点:调用 `python scripts/macro_index_data.py --type index_daily --ts_code 000001.SH --start_date 20240301 --end_date 20240331` |
| 41 | |
| 42 | ## 快速参考 |
| 43 | |
| 44 | ### 常用代码示例 |
| 45 | |
| 46 | ```python |
| 47 | import tushare as ts |
| 48 | import pandas as pd |
| 49 | |
| 50 | # 设置 Token(需先设置环境变量 TUSHARE_TOKEN) |
| 51 | ts.set_token(os.environ.get('TUSHARE_TOKEN', '')) |
| 52 | pro = ts.pro_api() |
| 53 | |
| 54 | # 获取日K线数据 |
| 55 | df = pro.daily(ts_code='000001.SZ', start_date='20240101', end_date='20241231') |
| 56 | |
| 57 | # 获取财务指标 |
| 58 | df = pro.fina_indicator(ts_code='600036.SH', period='2023') |
| 59 | |
| 60 | # 获取指数数据 |
| 61 | df = pro.index_daily(ts_code='000001.SH', start_date='20240101', end_date='20241231') |
| 62 | ``` |
| 63 | |
| 64 | ### 与其他数据源对比 |
| 65 | |
| 66 | | 特性 | tushare | jqdatasdk | baostock | akshare | |
| 67 | |------|---------|-----------|----------|---------| |
| 68 | | 费用 | 免费/付费 | 需注册积分 | 免费 | 免费 | |
| 69 | | 注册要求 | ✅ 需要 | ✅ 需要 | ❌ 不需要 | ❌ 不需要 | |
| 70 | | 数据范围 | 全面(含宏观) | A股+因子 | A股为主 | 全面 | |
| 71 | | 宏观数据 | ✅ 丰富 | ❌ | ❌ | ✅ | |
| 72 | | 调用频率 | 免费有限制 | 有 | 无限制 | 无限制 | |
| 73 | |
| 74 | ## 资源索引 |
| 75 | - 脚本: |
| 76 | - [scripts/market_data.py](scripts/market_data.py) (用途与参数:获取行情/K线/复权数据,支持 --type/--ts_code/--start_date/--end_date) |
| 77 | - [scripts/financial_data.py](scripts/financial_data.py) (用途与参数:获取财务数据/利润表/资产负债表/现金流量表/指标,支持 --type/--ts_code/--period) |
| 78 | - [scripts/stock_info.py](scripts/stock_info.py) (用途与参数:获取股票列表/交易日历/名称变更,支持 --type/--ts_code/--start_date/--end_date) |
| 79 | - [scripts/macro_index_data.py](scripts/macro_index_data.py) (用途与参数:获取指数数据/宏观数据/Shibor,支持 --type/--ts_code/--start_date/--end_date) |
| 80 | - 参考: |
| 81 | - [references/tushare_quickstart.md](references/tushare_quickstart.md) (何时读取:首次配置或认证失败时) |
| 82 | - [references/api_reference.md](references/api_reference.md) (何时读取:需要查看详细API参数说明时) |
| 83 | |
| 84 | ## 注意事项 |
| 85 | - 脚本执行需配置 Tushare Token,首次使用需先完成凭证配置 |
| 86 | - Tushare 股票代码格式:上海市场为 XXXXXX.SH,深圳市场为 XXXXXX.SZ |
| 87 | - 部分数据(如财务数据)可能有延迟,建议在交易日9:30-15:00之外获取 |
| 88 | - 脚本返回 JSON 格式数据,智能体负责解析并转换为用户友好的展示 |
| 89 | - 调用频率有限制,免费账户每分钟最多120次调用(详见 Tushare 官方文档) |
| 90 | - 首次使用建议先读取 tushare_quickstart.md 完成认证配置 |