tushare

面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。

Install
$clawhub install tushare-data

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

即使用户完全不说 tusharefinancialsmacro 这些术语,只要意图符合以下含义,也应该触发本 skill。

常见口语触发

  • 看看这个股票最近怎么样

  • 给我快速研究一下 XX

  • 上次说的那只票现在什么情况

  • 帮我看下财报

  • 最近哪个板块最强

  • 北向最近在买什么

  • 有什么催化消息

  • 这个公司值不值得重点看

  • 给我拉份数据

  • 导出成 CSV

  • 帮我筛一批票

  • 把这几个公司对比一下

中文自然语言优先原则

用户说人话时,先理解任务,不要先回到接口名和字段名。 优先把:

  • “最近” 解释成合理时间窗

  • “财报” 解释成最近 8 个季度 / 最近年度

  • “强不强” 解释成走势 + 相对强弱 + 活跃度

  • “资金关注” 解释成净流入、活跃成交、龙虎榜/北向等可用口径

如果任务有多个合理解释,再做最小澄清。


Environment check

在真正请求数据之前,先做前置校验:

  1. 检查 Python 是否可用, 版本要求 3.7+

  2. 检查 tushare 包是否已安装·

  3. 检查 TUSHARE_TOKEN 是否存在.

  4. 必要时做一次轻量接口冒烟测试(如交易日历 / 基础接口)

  5. 如用户请求高权限接口,提前提示可能存在积分/权限限制

若缺失 token,直接提示最短修复路径,例如:

export TUSHARE_TOKEN=your_token

不要等到主查询跑失败了才暴露环境问题。


Intent taxonomy

先识别任务类型,再决定接口组合。

1. 行情 / 趋势

典型问题:

  • 最近走势怎么样

  • 今年涨了多少

  • 最近波动大不大

  • 最近有没有放量

常用接口:

  • daily

  • pro_bar

  • weekly

  • monthly

  • stk_mins

  • rt_k / rt_min(如确需实时口径且权限允许)

  • daily_basic

2. 基本资料 / 标的识别

典型问题:

  • 这是什么公司 / 什么指数 / 什么基金

  • 是创业板吗 / 是 ST 吗 / 什么时候上市

常用接口:

  • stock_basic

  • fund_basic

  • index_basic

  • stock_company

  • stock_st / st

3. 财务 / 公司质量

典型问题:

  • 最近几个季度利润趋势

  • 最近几个季度营收和净利润趋势

  • 财务质量怎么样

  • ROE / 毛利率 / 现金流如何

常用接口:

  • income(营收 / 净利润趋势优先)

  • fina_indicator(ROE / 毛利率 / 净利率等质量指标补充)

  • balancesheet

  • cashflow

  • forecast

  • express

  • disclosure_date

4. 估值 / 基本面指标

典型问题:

  • 现在估值高不高

  • 谁更便宜

  • PE / PB / 股息率如何

常用接口:

  • daily_basic

  • fina_indicator

5. 资金流 / 市场行为

典型问题:

  • 北向最近买什么

  • 主力资金流向

  • 龙虎榜情况

常用接口:

  • moneyflow

  • moneyflow_hsgt

  • hsgt_top10

  • top_list

  • top_inst

  • moneyflow_ind_dc

  • moneyflow_mkt_dc

6. 板块 / 指数 / 主题

典型问题:

  • 最近哪个板块最强

  • 行业轮动如何

  • 某板块有哪些成分股

常用接口:

  • index_basic

  • index_daily

  • index_classify

  • index_member_all

  • sw_daily

  • ths_index

  • ths_member

  • dc_index

  • dc_member

7. 打板 / 情绪 / 活跃度

典型问题:

  • 今天涨停梯队

  • 连板结构

  • 炸板率 / 情绪强弱

常用接口:

  • limit_list_d

  • limit_step

  • kpl_list

  • dc_hot

  • ths_hot

8. 公告 / 新闻 / 研报 / 政策

典型问题:

  • 最近有什么公告或催化

  • 最近有什么研究报告

  • 最近政策面发生了什么

常用接口:

  • anns_d

  • news

  • major_news

  • research_report

  • npr

  • irm_qa_sh

  • irm_qa_sz

9. 宏观 / 跨市场

典型问题:

  • CPI / PMI / 社融 / M2

  • 利率与收益率曲线

  • 港股 / 美股 / 美债数据

常用接口:

  • cn_cpi

  • cn_ppi

  • cn_pmi

  • cn_gdp

  • cn_m

  • sf_month

  • shibor

  • shibor_lpr

  • us_tycr

  • us_daily

  • hk_daily

  • index_global

10. 导出 / 研究准备

典型问题:

  • 导出某标的一段时间行情

  • 生成回测用数据表

  • 输出 CSV / parquet

常用接口:

  • 取决于上游任务,核心是统一输出规则与命名规范

Entity resolution rules

标的解析

  • 优先识别股票名、股票代码、指数名、ETF 名、基金名

  • 对中文简称先尝试匹配标准对象

  • 若重名或多解,列出候选并做最小澄清

  • 证券代码内部统一为标准格式,如:600519.SH000001.SZ

市场识别

  • 默认先按 A 股理解,除非用户明确提到港股 / 美股 / 基金 / 债券 / 期货

  • 指数、ETF、个股要分开判断,不要混用接口

时间默认值

若用户没有明确给时间范围,使用合理默认:

  • “最近走势” → 默认近 20 个交易日

  • “这段时间 / 最近一段时间” → 默认近 3 个月

  • “财报 / 业绩” → 默认最近 8 个季度 + 最近年度

  • “资金流最近如何” → 默认近 5~20 个交易日,按任务粒度调整

  • “宏观最近如何” → 默认看最近 6~12 期

板块口径默认值

若用户只说“板块 / 行业 / 概念”但未指定分类体系:

  • 行业优先用申万 / 中信等较稳定口径

  • 概念优先同花顺 / 东方财富等主题口径

  • 若结论依赖具体口径差异,要明确说明使用了哪种分类


Input normalization rules

在请求数据前先做规范化:

  • 日期统一为 YYYYMMDD

  • 检查 start_date <= end_date

  • 用户输入未来日期时,自动裁剪到最近可用日期并提示

  • 裸代码如 000001 不要盲猜,能补全则说明补全规则,不能补全则澄清

  • 对冲突参数(如 trade_datestart_date/end_date 同时给)要先裁决,不要直接乱传


Data retrieval rules

文档先行

在写请求代码前,先确认:

  • 接口名是否正确

  • 必填参数

  • 可选参数

  • 返回字段

  • 积分 / 频率限制

不要仅凭记忆硬写字段名。

字段确认

fields 参数,优先使用已知字段白名单或接口文档确认。 若用户要求字段不存在,应明确说明,而不是盲查。

默认分段拉取

长区间数据不要一次性全拉。 建议:

  • 日线 / 周线 / 月线:按年或季度切片

  • 财报:按年份 / 报告期切片

  • 分钟数据:按月 / 周切片

  • 大批量多标的:按标的分批 + 日期分段

重试与限流

  • 仅对瞬时错误(网络抖动、超时、429)进行有限重试

  • 参数错误、权限不足、字段错误不要盲重试

  • 批量拉取时加入节流,避免高频撞限

分段合并

分段拉取后:

  • 合并

  • 去重

  • 按主键排序

  • 记录失败分段

  • 若部分成功,要明确告诉用户哪些段失败了


Output contract

除非用户明确只要原始表,否则优先按这个结构输出:

  1. 一句话结论

  2. 数据范围与口径

  3. 关键指标 / 关键表格

  4. 异常点 / 风险点 / 解释限制

  5. 如有本地输出,给出文件路径

结果交付形态

按任务复杂度选择:

  • 小结果:Markdown 摘要 + 简短表格

  • 中等数据表:CSV

  • 大规模 / 后续分析:Parquet

  • 需要可复用流程:附 Python 脚本

  • 需要可视化时:输出图表 PNG 或说明可绘制图表

元信息

生成数据文件时,尽量同时记录:

  • 接口名

  • 请求参数

  • 拉取时间

  • 数据行数

  • 字段列表

  • 是否存在失败分段 / 缺失


Workflow templates

下面这些模板,是本 skill 的核心。 不要直接从接口想起,而要从任务模板想起。

1. 单标的行情分析

适用:

  • 看下 XX 最近怎么样

  • 这票最近强不强

  • 今年以来表现如何

默认流程:

  1. 解析标的

  2. 确定时间范围

  3. 取行情 + 必要基础指标

  4. 总结区间涨跌、成交活跃度、高低点、波动

  5. 输出一句结论 + 关键数字

2. 多标的横向对比

适用:

  • XX 和 YY 谁更强

  • 把这几家公司对比一下

默认流程:

  1. 锁定对象

  2. 统一时间口径

  3. 选 3~5 个关键指标

  4. 输出对比表

  5. 给出“谁在哪方面更强”的总结

3. 财务质量快照

适用:

  • 看下 XX 财报

  • 最近几个季度利润趋势

  • 财务质量怎么样

默认流程:

  1. 拉最近 8 个季度 + 最近年度财务核心数据

  2. 区分营收、利润、毛利率、ROE、现金流

  3. 标出改善 / 恶化 / 波动点

  4. 说明累计值、单季值、同比口径

4. 估值分析 / 筛选

适用:

  • 现在估值高不高

  • 谁更便宜

  • 筛低估值高股息

默认流程:

  1. 明确标的池

  2. daily_basic 等估值指标

  3. 必要时联动财务质量

  4. 输出排序、极值、口径说明

5. 资金流追踪

适用:

  • 最近资金在买什么

  • 北向最近流向哪里

  • 主力资金流入最多的是谁

默认流程:

  1. 明确资金口径(北向 / 主力 / 龙虎榜 / 板块资金)

  2. 确定时间窗

  3. 拉净流入 / 活跃成交 / 持续性

  4. 和价格表现联动解释

  5. 避免把单日噪声说成趋势

6. 板块 / 题材轮动分析

适用:

  • 最近哪个板块最强

  • 机器人最近强在哪

  • 某概念板块里有哪些成分股

默认流程:

  1. 确定分类口径

  2. 拉板块区间表现

  3. 必要时联动成分股、资金流、涨停梯队

  4. 输出强势板块排行与代表标的

7. 公告 / 新闻 / 事件梳理

适用:

  • 最近有什么公告

  • 有没有什么催化

  • 最近新闻面怎么样

默认流程:

  1. 明确对象和时间窗

  2. 拉公告 / 新闻 / 研报 / 政策数据

  3. 去噪,提炼 3~5 条主线

  4. 区分事实、公告、媒体解读

  5. 必要时结合股价异动做弱因果解释

8. 数据导出与研究准备

适用:

  • 拉一份 CSV

  • 做回测数据表

  • 导出某段时间的行情/财务数据

默认流程:

  1. 明确数据范围、频率、字段

  2. 采用分段策略取数

  3. 清洗、去重、统一字段类型

  4. 输出 CSV / parquet

  5. 给出文件路径和元信息

9. 综合研究简报

适用:

  • 给我快速研究一下 XX

  • 做个投资者视角简报

  • 先给个全景判断

默认流程:

  1. 一句话结论

  2. 行情表现

  3. 财务趋势

  4. 估值水平

  5. 资金流情况

  6. 公告 / 新闻催化

  7. 风险点

  8. 值得继续深挖的问题


Data quality rules

拉取完成后,至少做这些检查:

  • schema 校验

  • 关键字段存在性检查

  • 主键去重

  • 固定排序

  • 日期标准化

  • 数值字段类型规范化

空结果处理

空表不一定是失败,要区分:

  • 非交易日

  • 区间无数据

  • 股票未上市

  • 参数错误

  • 接口权限不足

不要把所有空结果都说成“接口坏了”。


Cache and reuse rules

为了让 skill 可长期复用,应优先支持:

  • 基础表缓存(如 stock_basic、交易日历、指数基础信息)

  • 增量更新,而不是每次全量重拉

  • 大任务断点续跑

  • 结果文件规范命名

推荐命名格式:

  • daily_600519.SH_20230101_20231231_20260322.csv

  • fina_indicator_300750.SZ_20260322.parquet

缓存命中时,最好说明哪些来自缓存,哪些是新拉取的数据。


Error handling

优先用“人话 + 调试细节分层”的方式输出错误。

用户可见层

  • token 未配置

  • 当前接口可能需要更高积分/权限

  • 时间范围过大,已自动改为分段拉取

  • 股票名称不唯一,请确认是哪一个

  • 当前结果为空,可能因为该日期非交易日 / 标的未上市 / 无权限

调试层

必要时补:

  • 接口名

  • 参数

  • 失败分段

  • 异常原文

部分成功原则

如果部分分段失败,不要说“成功完成”。 应明确说:

  • 哪些部分成功

  • 哪些部分失败

  • 是否已生成不完整结果


主 skill 正文不要塞几百个接口。 优先记住 80% 常用任务的核心接口集:

  • stock_basic

  • trade_cal

  • daily

  • pro_bar

  • daily_basic

  • fina_indicator

  • income

  • balancesheet

  • cashflow

  • forecast

  • express

  • moneyflow

  • moneyflow_hsgt

  • hsgt_top10

  • top_list

  • index_basic

  • index_daily

  • index_classify

  • sw_daily

  • ths_index

  • ths_member

  • limit_list_d

  • limit_step

  • news

  • major_news

  • research_report

  • anns_d

  • cn_cpi

  • cn_pmi

  • us_tycr

全部数据接口,请参考 references/数据接口.md


Best practices

  • 先理解任务,再选接口

  • 能少取就少取,先核心数据,再扩展

  • 先给结论,再给证据

  • 默认说人话,不堆字段名

  • 对“最近 / 财报 / 强不强 / 资金关注”这类模糊中文表达,要有合理默认口径

  • 大任务先给执行计划,再开跑

  • 导出任务尽量保留脚本、元信息、文件路径,方便复用


Examples

单票行情

  • 看下宁德时代最近三个月走势

  • 茅台今年以来涨了多少

  • 招行这两年最大回撤大概多少

财务 / 估值

  • 看下比亚迪最近 8 个季度营收和净利润趋势

  • 茅台现在估值算高吗

  • 帮我找高 ROE 低负债的公司

对比

  • 比一下茅台、五粮液、泸州老窖近一年的涨幅和估值

  • 对比一下沪深300、中证500、创业板今年表现

资金流 / 板块

  • 今天北向资金流入最多的股票有哪些

  • 最近哪个板块最强

  • 半导体板块最近一个月强不强

公告 / 事件

  • 帮我梳理下寒武纪最近的重要公告

  • 最近机器人板块有什么消息面催化

宏观

  • 看一下最近 CPI、PPI、PMI 变化

  • 当前市场风格偏成长还是价值

导出

  • 把沪深300成分股近两年日线导成 CSV

  • 下载宁德时代 2020 到现在的复权行情

  • 把最近 3 年 ROE、PE、PB、营收增速拉成一个表


Quick rule

当用户在说:

  • 看走势

  • 查财报

  • 比较公司

  • 看板块

  • 看资金流

  • 梳理公告新闻

  • 看宏观

  • 拉数据导出

就不要先想“有哪些接口”。 先想: 这是什么任务?默认该走哪条数据工作流?结果应该怎样交付才真正有用?