# Tushare Pro

> A股/港股/期货量化数据查询工具。基于 Tushare Pro API，直接通过 HTTP REST 接口调用，无需 pip 和 Python 环境。用于获取中国A股/港股/期货/指数/资金流向/财务数据。

- Skill: `lord1egypt/tushare-pro` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lord1egypt/tushare-pro`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lord1egypt/tushare-pro/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: Lord1Egypt (https://skillmd.com/u/lord1egypt)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/lord1egypt/tushare-pro

---


# Tushare Pro 数据查询技能

通过 HTTP REST 接口直接调用 Tushare Pro，无需 pip/SDK。

## 前提条件

### 1. 注册账号并获取 Token

1. 打开 👉 **https://tushare.pro** 注册账号
2. 登录后进入 **个人中心 → 接口Token**
3. 复制你的 Token

### 2. 配置 Token

在 **~/.openclaw/skills/tushare-pro/** 目录下创建 `token.env` 文件：

```
TUSHARE_TOKEN=你的Token
```

## 数据接口一览

### 股票日线
```
api: daily
params: {ts_code: "600036.SH", start_date: "20260320", end_date: "20260326"}
fields: ts_code,trade_date,open,high,low,close,pct_chg,vol,amount
```
股票代码格式：
- 上交所：`600036.SH`（招商银行）、`600519.SH`（茅台）
- 深交所：`000001.SZ`（平安）、`300001.SZ`（创业板）
- 科创板：`688001.SH`

### 指数日线
```
api: index_daily
params: {ts_code: "000300.SH", start_date: "20260320", end_date: "20260326"}
fields: ts_code,trade_date,open,high,low,close,pct_chg,vol
```
常用指数代码：
- `000300.SH` 沪深300
- `000001.SH` 上证指数
- `399001.SZ` 深证成指
- `HSI.HK` 恒生指数
- `HSTECH.HK` 恒生科技

### 资金流向
```
api: moneyflow
params: {trade_date: "20260324"}
fields: ts_code,trade_date,close,pct_chg,buy_elg_amount,sell_elg_amount
```

### 期货日线
```
api: fut_daily
params: {ts_code: "IF.CFX", start_date: "20260320", end_date: "20260326"}
fields: ts_code,trade_date,open,high,low,close,vol,oi
```
期货代码格式：
- `CU.SHF` 铜
- `AU.SHF` 黄金
- `RB.SHF` 螺纹钢
- `IF.CFX` 沪深300股指
- `IC.CFX` 中证500股指

## 查询脚本

```python
#!/usr/bin/env python3
"""Tushare Pro HTTP 调用工具（无需pip）"""
import os, json, urllib.request

TOKEN = '你的Token'  # 或 os.environ.get('TUSHARE_TOKEN')

def call(api_name, params=None, fields=''):
    payload = json.dumps({
        'api_name': api_name,
        'token': TOKEN,
        'params': params or {},
        'fields': fields
    }).encode('utf-8')
    req = urllib.request.Request(
        'https://api.tushare.pro',
        data=payload,
        headers={'Content-Type': 'application/json'}
    )
    with urllib.request.urlopen(req, timeout=20) as r:
        result = json.loads(r.read().decode())
        if result.get('code') != 0:
            return None
        return result['data']

# 示例：查招商银行近期数据
data = call('daily',
    {'ts_code': '600036.SH', 'start_date': '20260320', 'end_date': '20260326'},
    'ts_code,trade_date,open,high,low,close,pct_chg,vol,amount')
for row in data['items']:
    print(dict(zip(data['fields'], row)))
```

## 常用查询示例

| 目标 | 命令 |
|------|------|
| 招商银行近期日线 | `daily(ts_code='600036.SH', start='20260320', end='20260326')` |
| 沪深300近期日线 | `index_daily(ts_code='000300.SH', start='20260320', end='20260326')` |
| 恒生指数近期 | `index_daily(ts_code='HSI.HK', start='20260320', end='20260326')` |
| 当日全市场资金流 | `moneyflow(trade_date='20260324')` |
| 黄金期货近期 | `fut_daily(ts_code='AU.SHF', start='20260320', end='20260326')` |

## 注意事项

- Token 有调用频率限制，高频查询请加入 `time.sleep(0.5)`
- 部分接口需要 Tushare 积分权限
- 日期格式统一为 `YYYYMMDD`

