tushare-data
把自然语言财经数据请求,转成可执行的 Tushare 数据工作流。
这是一个面向自然语言的金融数据研究 skill。
What this skill is for
使用这个 skill 的典型场景:
看某只股票、指数、ETF 最近走势
查公司基本资料、估值、财务趋势
做多标的横向对比
看资金流、北向资金、龙虎榜、板块强弱
梳理公告、新闻、研报、政策线索
查看 CPI / PPI / PMI / 社融 / 利率等宏观数据
导出 CSV / parquet 供后续分析或回测使用
生成简洁研究摘要,而不是只吐原始字段表
先理解用户要解决什么问题,再去选接口、取数、整理、解释、交付。
When to use
当用户表达以下意图时,优先使用本 skill:
行情 / 趋势
看下 XX 最近怎么样
XX 这段时间涨得怎么样
今年以来表现如何
最近有没有放量
这票最近强不强
财务 / 估值 / 公司质量
看下 XX 财报
最近几个季度利润趋势
财务质量怎么样
现金流好不好
现在估值算高吗
帮我看 PE / PB / ROE / 毛利率
对比 / 排行 / 筛选
XX 和 YY 谁更强
帮我横向比较一下
哪些公司利润增长更快
帮我筛一下高 ROE 低负债
给我排个前十
板块 / 指数 / 主题
最近哪个板块最强
半导体最近怎么样
机器人为什么涨
指数成分股有哪些
哪些主题最热
资金流 / 情绪
最近资金在买什么
北向资金最近流向哪里
哪个板块最吸金
主力资金流入最多的是谁
龙虎榜上有什么看点
公告 / 新闻 / 研报 / 政策
最近有什么公告
帮我梳理下 XX 公告
最近有没有什么催化
最近新闻面怎么样
最近有什么重要政策
宏观 / 跨市场
最近宏观环境怎么样
CPI / PMI 最近怎么看
当前市场风格偏什么
大盘环境偏多还是偏空
港股 / 美股 / 美债最近怎么样
数据导出 / 研究准备
给我导出一份行情数据
把近两年日线拉成 CSV
生成可回测的数据表
拉一个研究表供后续分析
What this skill is NOT for
这个 skill 不适合:
直接给买卖建议或替代投资顾问
自动下单或执行交易
需要毫秒级实时交易决策的场景
复杂回测引擎、组合优化系统本身的实现(那是另一个工程)
在没有 Tushare 权限/积分支持的情况下强行伪造数据
如果数据权限不够、接口不可用或时间范围不合理,要明确说出限制,不要硬编。
Natural-language trigger guide
即使用户完全不说 tushare、financials、macro 这些术语,只要意图符合以下含义,也应该触发本 skill。
常见口语触发
看看这个股票最近怎么样
给我快速研究一下 XX
上次说的那只票现在什么情况
帮我看下财报
最近哪个板块最强
北向最近在买什么
有什么催化消息
这个公司值不值得重点看
给我拉份数据
导出成 CSV
帮我筛一批票
把这几个公司对比一下
中文自然语言优先原则
用户说人话时,先理解任务,不要先回到接口名和字段名。 优先把:
“最近” 解释成合理时间窗
“财报” 解释成最近 8 个季度 / 最近年度
“强不强” 解释成走势 + 相对强弱 + 活跃度
“资金关注” 解释成净流入、活跃成交、龙虎榜/北向等可用口径
如果任务有多个合理解释,再做最小澄清。
Environment check
在真正请求数据之前,先做前置校验:
检查 Python 是否可用, 版本要求 3.7+
检查
tushare包是否已安装·检查
TUSHARE_TOKEN是否存在.必要时做一次轻量接口冒烟测试(如交易日历 / 基础接口)
如用户请求高权限接口,提前提示可能存在积分/权限限制
若缺失 token,直接提示最短修复路径,例如:
export TUSHARE_TOKEN=your_token
不要等到主查询跑失败了才暴露环境问题。
Intent taxonomy
先识别任务类型,再决定接口组合。
1. 行情 / 趋势
典型问题:
最近走势怎么样
今年涨了多少
最近波动大不大
最近有没有放量
常用接口:
dailypro_barweeklymonthlystk_minsrt_k/rt_min(如确需实时口径且权限允许)daily_basic
2. 基本资料 / 标的识别
典型问题:
这是什么公司 / 什么指数 / 什么基金
是创业板吗 / 是 ST 吗 / 什么时候上市
常用接口:
stock_basicfund_basicindex_basicstock_companystock_st/st
3. 财务 / 公司质量
典型问题:
最近几个季度利润趋势
最近几个季度营收和净利润趋势
财务质量怎么样
ROE / 毛利率 / 现金流如何
常用接口:
income(营收 / 净利润趋势优先)fina_indicator(ROE / 毛利率 / 净利率等质量指标补充)balancesheetcashflowforecastexpressdisclosure_date
4. 估值 / 基本面指标
典型问题:
现在估值高不高
谁更便宜
PE / PB / 股息率如何
常用接口:
daily_basicfina_indicator
5. 资金流 / 市场行为
典型问题:
北向最近买什么
主力资金流向
龙虎榜情况
常用接口:
moneyflowmoneyflow_hsgthsgt_top10top_listtop_instmoneyflow_ind_dcmoneyflow_mkt_dc
6. 板块 / 指数 / 主题
典型问题:
最近哪个板块最强
行业轮动如何
某板块有哪些成分股
常用接口:
index_basicindex_dailyindex_classifyindex_member_allsw_dailyths_indexths_memberdc_indexdc_member
7. 打板 / 情绪 / 活跃度
典型问题:
今天涨停梯队
连板结构
炸板率 / 情绪强弱
常用接口:
limit_list_dlimit_stepkpl_listdc_hotths_hot
8. 公告 / 新闻 / 研报 / 政策
典型问题:
最近有什么公告或催化
最近有什么研究报告
最近政策面发生了什么
常用接口:
anns_dnewsmajor_newsresearch_reportnprirm_qa_shirm_qa_sz
9. 宏观 / 跨市场
典型问题:
CPI / PMI / 社融 / M2
利率与收益率曲线
港股 / 美股 / 美债数据
常用接口:
cn_cpicn_ppicn_pmicn_gdpcn_msf_monthshiborshibor_lprus_tycrus_dailyhk_dailyindex_global
10. 导出 / 研究准备
典型问题:
导出某标的一段时间行情
生成回测用数据表
输出 CSV / parquet
常用接口:
- 取决于上游任务,核心是统一输出规则与命名规范
Entity resolution rules
标的解析
优先识别股票名、股票代码、指数名、ETF 名、基金名
对中文简称先尝试匹配标准对象
若重名或多解,列出候选并做最小澄清
证券代码内部统一为标准格式,如:
600519.SH、000001.SZ
市场识别
默认先按 A 股理解,除非用户明确提到港股 / 美股 / 基金 / 债券 / 期货
指数、ETF、个股要分开判断,不要混用接口
时间默认值
若用户没有明确给时间范围,使用合理默认:
“最近走势” → 默认近 20 个交易日
“这段时间 / 最近一段时间” → 默认近 3 个月
“财报 / 业绩” → 默认最近 8 个季度 + 最近年度
“资金流最近如何” → 默认近 5~20 个交易日,按任务粒度调整
“宏观最近如何” → 默认看最近 6~12 期
板块口径默认值
若用户只说“板块 / 行业 / 概念”但未指定分类体系:
行业优先用申万 / 中信等较稳定口径
概念优先同花顺 / 东方财富等主题口径
若结论依赖具体口径差异,要明确说明使用了哪种分类
Input normalization rules
在请求数据前先做规范化:
日期统一为
YYYYMMDD检查
start_date <= end_date用户输入未来日期时,自动裁剪到最近可用日期并提示
裸代码如
000001不要盲猜,能补全则说明补全规则,不能补全则澄清对冲突参数(如
trade_date与start_date/end_date同时给)要先裁决,不要直接乱传
Data retrieval rules
文档先行
在写请求代码前,先确认:
接口名是否正确
必填参数
可选参数
返回字段
积分 / 频率限制
不要仅凭记忆硬写字段名。
字段确认
对 fields 参数,优先使用已知字段白名单或接口文档确认。
若用户要求字段不存在,应明确说明,而不是盲查。
默认分段拉取
长区间数据不要一次性全拉。 建议:
日线 / 周线 / 月线:按年或季度切片
财报:按年份 / 报告期切片
分钟数据:按月 / 周切片
大批量多标的:按标的分批 + 日期分段
重试与限流
仅对瞬时错误(网络抖动、超时、429)进行有限重试
参数错误、权限不足、字段错误不要盲重试
批量拉取时加入节流,避免高频撞限
分段合并
分段拉取后:
合并
去重
按主键排序
记录失败分段
若部分成功,要明确告诉用户哪些段失败了
Output contract
除非用户明确只要原始表,否则优先按这个结构输出:
一句话结论
数据范围与口径
关键指标 / 关键表格
异常点 / 风险点 / 解释限制
如有本地输出,给出文件路径
结果交付形态
按任务复杂度选择:
小结果:Markdown 摘要 + 简短表格
中等数据表:CSV
大规模 / 后续分析:Parquet
需要可复用流程:附 Python 脚本
需要可视化时:输出图表 PNG 或说明可绘制图表
元信息
生成数据文件时,尽量同时记录:
接口名
请求参数
拉取时间
数据行数
字段列表
是否存在失败分段 / 缺失
Workflow templates
下面这些模板,是本 skill 的核心。 不要直接从接口想起,而要从任务模板想起。
1. 单标的行情分析
适用:
看下 XX 最近怎么样
这票最近强不强
今年以来表现如何
默认流程:
解析标的
确定时间范围
取行情 + 必要基础指标
总结区间涨跌、成交活跃度、高低点、波动
输出一句结论 + 关键数字
2. 多标的横向对比
适用:
XX 和 YY 谁更强
把这几家公司对比一下
默认流程:
锁定对象
统一时间口径
选 3~5 个关键指标
输出对比表
给出“谁在哪方面更强”的总结
3. 财务质量快照
适用:
看下 XX 财报
最近几个季度利润趋势
财务质量怎么样
默认流程:
拉最近 8 个季度 + 最近年度财务核心数据
区分营收、利润、毛利率、ROE、现金流
标出改善 / 恶化 / 波动点
说明累计值、单季值、同比口径
4. 估值分析 / 筛选
适用:
现在估值高不高
谁更便宜
筛低估值高股息
默认流程:
明确标的池
拉
daily_basic等估值指标必要时联动财务质量
输出排序、极值、口径说明
5. 资金流追踪
适用:
最近资金在买什么
北向最近流向哪里
主力资金流入最多的是谁
默认流程:
明确资金口径(北向 / 主力 / 龙虎榜 / 板块资金)
确定时间窗
拉净流入 / 活跃成交 / 持续性
和价格表现联动解释
避免把单日噪声说成趋势
6. 板块 / 题材轮动分析
适用:
最近哪个板块最强
机器人最近强在哪
某概念板块里有哪些成分股
默认流程:
确定分类口径
拉板块区间表现
必要时联动成分股、资金流、涨停梯队
输出强势板块排行与代表标的
7. 公告 / 新闻 / 事件梳理
适用:
最近有什么公告
有没有什么催化
最近新闻面怎么样
默认流程:
明确对象和时间窗
拉公告 / 新闻 / 研报 / 政策数据
去噪,提炼 3~5 条主线
区分事实、公告、媒体解读
必要时结合股价异动做弱因果解释
8. 数据导出与研究准备
适用:
拉一份 CSV
做回测数据表
导出某段时间的行情/财务数据
默认流程:
明确数据范围、频率、字段
采用分段策略取数
清洗、去重、统一字段类型
输出 CSV / parquet
给出文件路径和元信息
9. 综合研究简报
适用:
给我快速研究一下 XX
做个投资者视角简报
先给个全景判断
默认流程:
一句话结论
行情表现
财务趋势
估值水平
资金流情况
公告 / 新闻催化
风险点
值得继续深挖的问题
Data quality rules
拉取完成后,至少做这些检查:
schema 校验
关键字段存在性检查
主键去重
固定排序
日期标准化
数值字段类型规范化
空结果处理
空表不一定是失败,要区分:
非交易日
区间无数据
股票未上市
参数错误
接口权限不足
不要把所有空结果都说成“接口坏了”。
Cache and reuse rules
为了让 skill 可长期复用,应优先支持:
基础表缓存(如
stock_basic、交易日历、指数基础信息)增量更新,而不是每次全量重拉
大任务断点续跑
结果文件规范命名
推荐命名格式:
daily_600519.SH_20230101_20231231_20260322.csvfina_indicator_300750.SZ_20260322.parquet
缓存命中时,最好说明哪些来自缓存,哪些是新拉取的数据。
Error handling
优先用“人话 + 调试细节分层”的方式输出错误。
用户可见层
token 未配置
当前接口可能需要更高积分/权限
时间范围过大,已自动改为分段拉取
股票名称不唯一,请确认是哪一个
当前结果为空,可能因为该日期非交易日 / 标的未上市 / 无权限
调试层
必要时补:
接口名
参数
失败分段
异常原文
部分成功原则
如果部分分段失败,不要说“成功完成”。 应明确说:
哪些部分成功
哪些部分失败
是否已生成不完整结果
Recommended minimal interface set
主 skill 正文不要塞几百个接口。 优先记住 80% 常用任务的核心接口集:
stock_basictrade_caldailypro_bardaily_basicfina_indicatorincomebalancesheetcashflowforecastexpressmoneyflowmoneyflow_hsgthsgt_top10top_listindex_basicindex_dailyindex_classifysw_dailyths_indexths_memberlimit_list_dlimit_stepnewsmajor_newsresearch_reportanns_dcn_cpicn_pmius_tycr
全部数据接口,请参考 references/数据接口.md。
Best practices
先理解任务,再选接口
能少取就少取,先核心数据,再扩展
先给结论,再给证据
默认说人话,不堆字段名
对“最近 / 财报 / 强不强 / 资金关注”这类模糊中文表达,要有合理默认口径
大任务先给执行计划,再开跑
导出任务尽量保留脚本、元信息、文件路径,方便复用
Examples
单票行情
看下宁德时代最近三个月走势
茅台今年以来涨了多少
招行这两年最大回撤大概多少
财务 / 估值
看下比亚迪最近 8 个季度营收和净利润趋势
茅台现在估值算高吗
帮我找高 ROE 低负债的公司
对比
比一下茅台、五粮液、泸州老窖近一年的涨幅和估值
对比一下沪深300、中证500、创业板今年表现
资金流 / 板块
今天北向资金流入最多的股票有哪些
最近哪个板块最强
半导体板块最近一个月强不强
公告 / 事件
帮我梳理下寒武纪最近的重要公告
最近机器人板块有什么消息面催化
宏观
看一下最近 CPI、PPI、PMI 变化
当前市场风格偏成长还是价值
导出
把沪深300成分股近两年日线导成 CSV
下载宁德时代 2020 到现在的复权行情
把最近 3 年 ROE、PE、PB、营收增速拉成一个表
Quick rule
当用户在说:
看走势
查财报
比较公司
看板块
看资金流
梳理公告新闻
看宏观
拉数据导出
就不要先想“有哪些接口”。 先想: 这是什么任务?默认该走哪条数据工作流?结果应该怎样交付才真正有用?