| name | tushare |
| description | 使用 Tushare Pro 获取中国市场与多资产结构化金融数据(A股/港股/美股/基金/ETF/期货/期权/可转债/宏观利率/指数成分等),并按接口文档字段返回 pandas DataFrame。适用于用户提出“用 ts_code 拉行情/分钟线/复权因子”“取交易日历/指数成分/行业分类”“取可转债/债券收益率曲线/回购”“批量拉取基金净值/规模/持仓”“需要 Tushare 接口列表里某个具体 endpoint”这类请求时优先触发;但必须遵守本项目数据瀑布:先尝试 yfinance/akshare,只有免费源无法满足(缺字段/不覆盖/频繁报错)时才使用 Tushare,并控制频率(默认每分钟50次)、避免循环盲打,输出必须标注来源与抓取日期。 |
Tushare
概述
tushare是一个财经数据接口包,拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。该模块通过标准化API方式统一了数据资产的对外服务方式,以帮助有需要的技术用户更实时、简洁、轻量的使用相关数据。
快速上手
[!IMPORTANT]
本项目默认已完成 token 持久化:通常直接 pro = ts.pro_api() 即可(无需显式传 token)。只有在本地环境未配置时,才需要按下方方式设置 TUSHARE_TOKEN。
- 安装python运行环境(推荐python3.7+),并安装tushare依赖包(推荐从清华pypi镜像安装)。
pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple
- Tushare官网注册,获取token,并配置环境变量。 注册地址
export TUSHARE_TOKEN=your_token
- 查询Tushare接口文档,找到对应的接口。 在线数据接口文档
- 根据接口文档,使用python代码获取数据。(如股票列表接口)
import os
import tushare as ts
# 读取环境变量中的token, 或者读取本地记录的token
token = os.getenv('TUSHARE_TOKEN') or ts.get_token()
# 初始化pro接口实例
pro = ts.pro_api(token)
# 查询数据接口(*股票列表*),获取上市交易的股票列表
df = pro.stock_basic(list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
print(df)
参数格式说明
- 日期:YYYYMMDD(如 20241231)
- 股票代码:ts_code 格式(如 000001.SZ, 600000.SH)
- 返回格式:pandas DataFrame
输出质量要求(强制)
- 先定义问题再选接口:明确标的(ts_code)、时间范围(start/end)、频率(daily/min)、以及必须字段。
- 最小字段集:优先使用
fields= 只取必要列,避免全量字段导致慢/超限。
- 频率控制:避免在循环里逐条请求;优先一次性批量(按接口支持的批量维度),并在输出中提示“本次调用次数/接口名/参数”。
- 数据可追溯:所有下游分析输出必须写清:
- 数据源:Tushare Pro
- 抓取日期(YYYY-MM-DD)与交易日/时区假设
- 接口名(endpoint)与关键参数(ts_code/date/range/fields)
- 失败与降级:遇到限频/空表/字段缺失时,按顺序处理:
- 缩小时间窗/limit 2) 改为日频或更粗粒度 3) 切换免费源(akshare/yfinance)或改用相邻接口
推荐输出模板(复制即用)
在交付给用户/写入报告时,至少包含下列块:
- 执行摘要(≤3句):你要回答的问题 + 关键发现 + 下一步验证
- 数据说明:
接口 / 参数 / 字段 / 抓取时间
- 核心表格:
df.head(10) + 缺失值/重复行检查(只报告结论)
- 结论与不确定性:哪些字段可能不稳定、哪些需要二次验证
python脚本示例
数据接口列表
| ID | 接口名 | 标题(详细文档) | 分类 | 描述 |
|---|
| 416 | rt_min | ETF实时分钟 | ETF专题 | 获取ETF实时分钟数据,包括1~60min |
| 400 | rt_etf_k | ETF实时日线 | ETF专题 | 获取ETF实时日k线行情,支持按ETF代码或代码通配符一次性提取全部ETF实时日k线行情 |
| 387 | stk_mins | ETF历史分钟 | ETF专题 | 获取ETF分钟数据,支持1min/5min/15min/30min/60min行情,提供Python SDK和 http Restful API两种方式 |
| 386 | etf_index | ETF基准指数 | ETF专题 | 获取ETF基准指数列表信息 |
| 385 | etf_basic | ETF基本信息 | ETF专题 | 获取国内ETF基础信息,包括了QDII。数据来源与沪深交易所公开披露信息。 |
| 199 | fund_adj | ETF复权因子 | ETF专题 | 获取基金复权因子,用于计算基金复权行情 |
| 127 | fund_daily | ETF日线行情 |