# Tushare

> Tushare 专业金融数据平台，提供A股行情、历史K线、财务数据、宏观数据、指数数据等，覆盖全面、数据质量高。当用户提及 Tushare、获取A股数据、查询财务报表、下载宏观数据，或需要高质量、多维度金融数据时使用。与 baostock（免费但功能有限）和 jqdatasdk（需注册但有积分门槛）不同，tushare 数据最全但需注册获取 Token。免费替代方案可用 baostock 或 akshare。

- Skill: `lzwme/tushare` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add lzwme/tushare`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lzwme/tushare/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lzwme (https://skillmd.com/u/lzwme)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lzwme/tushare

---


# Tushare 数据获取

## 任务目标
- 本 Skill 用于:通过 Tushare 数据接口获取 A 股市场数据、财务指标和宏观数据
- 能力包含:实时行情、历史K线、财务数据、指标数据、股票信息、宏观数据、指数数据
- 触发条件:用户提及 Tushare 或需要获取 A 股数据、财务信息、宏观数据时

## 前置准备
- 依赖说明:安装 tushare 库（已包含在 dependency 中）
- 凭证配置:需配置 Tushare Token（凭证名: TUSHARE_TOKEN，环境变量: TUSHARE_TOKEN）
- 账号申请:访问 https://tushare.pro/ 注册账号并获取 API Token（详见 references/tushare_quickstart.md）

## 操作步骤
- 标准流程:
  1. 确定数据需求 — 智能体理解用户意图（行情/K线/财务/宏观/指数等）
  2. 调用对应脚本 — 根据数据类型选择脚本
  3. 解析结果 — 智能体分析返回的 JSON 格式数据
- 脚本调用映射:
  - 行情/K线/复权数据 → `python scripts/market_data.py --type daily --ts_code 000001.SZ --start_date 20240101 --end_date 20240131`
  - 财务数据/利润表/资产负债表 → `python scripts/financial_data.py --type financial --ts_code 000001.SZ --period 2023`
  - 股票列表/交易日历 → `python scripts/stock_info.py --type stock_basic`
  - 指数数据/宏观数据 → `python scripts/macro_index_data.py --type index_daily --ts_code 000001.SH --start_date 20240101 --end_date 20240131`
- 可选分支:
  - 当需要多只股票数据:使用 --ts_code 参数逗号分隔
  - 当需要复权数据:使用 --type adj_factor 获取复权因子
  - 当需要指定报告期:使用 --period 参数（YYYY 或 YYYYMM）

## 使用示例
- 示例1:获取股票日K线数据
  - 场景/输入:用户说"查看平安银行最近一个月的K线数据"
  - 预期产出:返回日期、开盘价、最高价、最低价、收盘价、成交量等OHLCV数据
  - 关键要点:调用 `python scripts/market_data.py --type daily --ts_code 000001.SZ --start_date 20240301 --end_date 20240331`
- 示例2:查询财务数据
  - 场景/输入:用户说"获取招商银行2023年的财务指标"
  - 预期产出:返回ROE、ROA、毛利率、净利率等财务指标
  - 关键要点:调用 `python scripts/financial_data.py --type fina_indicator --ts_code 600036.SH --period 2023`
- 示例3:获取指数数据
  - 场景/输入:用户说"查询上证指数最近的走势"
  - 预期产出:返回上证指数的日期、收盘价、成交量等数据
  - 关键要点:调用 `python scripts/macro_index_data.py --type index_daily --ts_code 000001.SH --start_date 20240301 --end_date 20240331`

## 快速参考

### 常用代码示例

```python
import tushare as ts
import pandas as pd

# 设置 Token（需先设置环境变量 TUSHARE_TOKEN）
ts.set_token(os.environ.get('TUSHARE_TOKEN', ''))
pro = ts.pro_api()

# 获取日K线数据
df = pro.daily(ts_code='000001.SZ', start_date='20240101', end_date='20241231')

# 获取财务指标
df = pro.fina_indicator(ts_code='600036.SH', period='2023')

# 获取指数数据
df = pro.index_daily(ts_code='000001.SH', start_date='20240101', end_date='20241231')
```

### 与其他数据源对比

| 特性 | tushare | jqdatasdk | baostock | akshare |
|------|---------|-----------|----------|---------|
| 费用 | 免费/付费 | 需注册积分 | 免费 | 免费 |
| 注册要求 | ✅ 需要 | ✅ 需要 | ❌ 不需要 | ❌ 不需要 |
| 数据范围 | 全面（含宏观） | A股+因子 | A股为主 | 全面 |
| 宏观数据 | ✅ 丰富 | ❌ | ❌ | ✅ |
| 调用频率 | 免费有限制 | 有 | 无限制 | 无限制 |

## 资源索引
- 脚本:
  - [scripts/market_data.py](scripts/market_data.py) (用途与参数:获取行情/K线/复权数据，支持 --type/--ts_code/--start_date/--end_date)
  - [scripts/financial_data.py](scripts/financial_data.py) (用途与参数:获取财务数据/利润表/资产负债表/现金流量表/指标，支持 --type/--ts_code/--period)
  - [scripts/stock_info.py](scripts/stock_info.py) (用途与参数:获取股票列表/交易日历/名称变更，支持 --type/--ts_code/--start_date/--end_date)
  - [scripts/macro_index_data.py](scripts/macro_index_data.py) (用途与参数:获取指数数据/宏观数据/Shibor，支持 --type/--ts_code/--start_date/--end_date)
- 参考:
  - [references/tushare_quickstart.md](references/tushare_quickstart.md) (何时读取:首次配置或认证失败时)
  - [references/api_reference.md](references/api_reference.md) (何时读取:需要查看详细API参数说明时)

## 注意事项
- 脚本执行需配置 Tushare Token，首次使用需先完成凭证配置
- Tushare 股票代码格式:上海市场为 XXXXXX.SH，深圳市场为 XXXXXX.SZ
- 部分数据（如财务数据）可能有延迟，建议在交易日9:30-15:00之外获取
- 脚本返回 JSON 格式数据，智能体负责解析并转换为用户友好的展示
- 调用频率有限制，免费账户每分钟最多120次调用（详见 Tushare 官方文档）
- 首次使用建议先读取 tushare_quickstart.md 完成认证配置

