mcpField
S
shanxi-securities-tushare

shanxi-securities-tushare

github.com/truehoohaData & databases636 installsUpdated 4w ago
Repository

About shanxi-securities-tushare

shanxi-securities-tushare turns natural-language financial data requests into a data-retrieval workflow for users who need market, financial, or macroeconomic data. It checks the token and environment, chooses SDK or HTTP retrieval, and supports structured delivery and exports.

Key features

  1. 01Token and environment checks
  2. 02Resolve securities and date parameters
  3. 03Select APIs from the reference table
  4. 04Retrieve data via SDK or HTTP
  5. 05Prepare and export CSV or Parquet

Use cases

  1. 01Fetch stock, index, or ETF quotes
  2. 02Batch-query financial and valuation metrics
  3. 03Retrieve capital-flow and macro data
  4. 04Export data for backtests or further analysis

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/truehooha/shanxi-securities-tushare-skill --skill shanxi-securities-tushare

After installing, type/shanxi-securities-tusharein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
API接口对应表.md
A股日线行情.md
GDP数据.md
Hibor利率.md
IPO新股列表.md
Libor拆借利率.md
LPR贷款基础利率.md
Shibor利率数据.md
Shibor报价数据.md
上市公司基本信息.md
上市公司管理层.md
业绩快报.md
业绩预告.md
个股严重异常波动.md
个股异常波动.md
个股资金流向.md
主营业务构成.md
交易所重点提示证券.md
仓单日报.md
做市借券交易汇总.md
公募基金净值.md
公募基金分红.md
公募基金列表.md
公募基金持仓数据.md
公募基金管理人.md
分红送股.md
利润表.md
券商月度金股.md
前十大流通股东.md
前十大股东.md

Details

From the project README

山西证券 Tushare 数据技能

把自然语言财经数据请求转为可执行的 Tushare 工作流:环境校验 → 理解任务 → 解析标的 → 选接口 → 校验参数 → 取数 → 整理 → 解释 → 交付。

典型场景

本 skill 只负责取数与数据交付;若用户要求对标的进行分析/评估/对比/深度研究,应使用 sxsc-tushare-analysis skill。

  • 获取单只股票/指数/ETF 的行情、估值、活跃度数据
  • 多标的数据的批量取数(业绩、估值、涨幅、ROE 等字段)
  • 获取财务数据(利润趋势、ROE、毛利率、现金流)
  • 获取资金流数据(北向、主力、龙虎榜、板块吸金)
  • 获取板块轮动、指数成分股数据
  • 获取宏观数据(CPI / PPI / GDP / PMI / 利率 / 货币供应量)
  • 数据导出(CSV / Parquet)供回测或后续分析

核心工作流

每次执行按这个顺序:

  1. 环境校验 — 检查 scripts/env_check.json 缓存是否存在:
    • 有 → 直接读取,取 mode 字段(sdk/http)决定取数方式。
    • 无 → 先运行 python scripts/check_env.py 生成缓存,再读取。
    • 退出码非 0(token 缺失)→ 停下,先提示用户配置 SXSC_TUSHARE_TOKEN,不得进入取数。
  2. 理解任务 — 识别用户要解决什么问题(见下方"任务分类")。
  3. 解析标的 — 名称/代码 → 标准 ts_code(如 600519.SH);市场、时间窗、字段按默认值补全。
  4. 查表选接口 — 先查 references/API接口对应表.md 拿到 pro.api_name 与对应文档路径,禁止凭记忆写接口。
  5. 校验参数 — 日期 YYYYMMDD、起止顺序、冲突裁决、未来日期裁剪(规则见下方"关键默认值"第 71–73 行)。
  6. 取数执行 — 按第 1 步的 mode 选择方式:
    • sdk:参考 scripts/ 下模板(stock_data_demo.py、fund_data_demo.py、index_sector_demo.py、fin_report_demo.py、moneyflow_demo.py)的 SDK 函数,走 references/调取数据.md 的 Python SDK 节。
    • http:参考模板中的 HTTP 函数(http_call),走 references/调取数据.md 的 HTTP 协议节(无 SDK 依赖)。
  7. 结构化交付 — 一句话结论 → 口径 → 关键指标/表 → 风险/限制 → 文件路径。

关键原则:先想"这是什么任务、走哪条工作流",再想"用哪个接口"。永远不要先翻接口名。取数前先确认环境就绪(第 1 步),token 缺失时任何取数都无意义。

任务分类

任务类型典型表达
行情/趋势数据取最近行情、涨跌、K线、量能数据
基本资料什么公司、什么时候上市、行业
财务数据拉财报、利润、ROE、现金流
估值数据取 PE/PB、股息率数据
资金流/市场行为数据取北向、主力、龙虎榜、板块吸金数据
板块/指数/主题数据取板块成分股、指数成分、概念数据
涨跌停/情绪数据取涨停梯队、连板、活跃度数据
公告/新闻/研报公告、催化、新闻面(受限:仅告知边界 + 替代路径)
宏观/跨市场CPI、PMI、利率、港股、美股
数据导出/研究准备拉 CSV、回测数据表、Parquet

若用户要求对标的进行分析/评估/对比/深度研究,应切换至 sxsc-tushare-analysis skill。

关键默认值

模糊中文默认口径
"最近"/"近期"近 20 个交易日
"最近一段时间"/"最近三个月"近 60 个交易日
"今年"当年 1 月 1 日至今
"财报"/"业绩"最近 8 个季度 + 最近年度
"资金流最近如何"近 5–20 个交易日
"宏观最近如何"最近 6–12 期
行业分类申万/中信(更稳定)
概念分类同花顺/东方财富(主题更热)
证券代码600519.SH / 000001.SZ 标准格式

裸代码(如 000001)能按规则补全就补全并说明,不能补全就最小澄清。
日期冲突(trade_date 与 start_date/end_date 同给)先裁决再调用。
未来日期自动裁剪到最近可用日期并提示用户。

What this skill is NOT for

  • 买卖建议、替代投资顾问
  • 自动下单或交易执行
  • 实时行情(仅 T-1 日数据)
  • 回测引擎、组合优化系统的实现
  • 无 token / 无权限时伪造数据

环境校验

执行任取数任务前,先检查环境是否可用(结果缓存到 scripts/env_check.json,避免每次重复校验):

python scripts/check_env.py          # token_set=true 则直接复用缓存,否则实时检测
python scripts/check_env.py --force  # 强制重新校验并覆盖缓存
python scripts/check_env.py --check  # 只校验不写缓存

校验项:

项必需缺失后果
SXSC_TUSHARE_TOKEN 已设置是无法执行 skill,返回非零退出码,需先配置环境变量
sxsc_tushare 库已安装否有 → 走 SDK 方式(sxsc_tushare);无 → 走 HTTP 协议方式
  • 退出码非 0 表示 token 缺失,先解决环境再取数。
  • 缓存仅存储 token_set 状态与 SDK 安装信息,不保存 token 本身或其哈希;token_set=true 时直接复用缓存。
  • 取数方式按校验结果 mode 字段选择:sdk 用 references/调取数据.md 的 Python SDK 节,http 用 HTTP 协议节。

References 快速索引

用途路径
接口名 ↔ 文档映射references/API接口对应表.md
安装与 HTTP 调取references/调取数据.md
股票调用模板scripts/stock_data_demo.py
基金调用模板scripts/fund_data_demo.py
指数/行业调用模板scripts/index_sector_demo.py
财务三表调用模板scripts/fin_report_demo.py
资金流/龙虎榜调用模板scripts/moneyflow_demo.py

Code Examples

初始化与日线
import sxsc_tushare as sx
import os

token = os.getenv('SXSC_TUSHARE_TOKEN') or 'YOUR_TOKEN_HERE'
sx.set_token(token)
pro = sx.get_api(env='prd')  # 'prd' 仿真, 'qa' 生产

# 股票列表
pro.stock_basic(exchange='', list_status='L',
                fields='ts_code,symbol,name,area,industry,list_date')

# 日线行情(ah_vol/ah_amount 为盘后成交量/额,2026-07-06 起有数据,需显式用 fields 指定)
pro.daily(ts_code='600519.SH', start_date='20250101', end_date='20251231')
# 取盘后数据示例:
# pro.daily(trade_date='20260707', fields='ts_code,open,close,ah_vol,ah_amount')
错误处理
try:
    df = pro.daily(ts_code='600519.SH', start_date='20250101', end_date='20251231')
except Exception as e:
    print(f"获取数据失败:{e}")

空结果不一定是失败:可能是非交易日、标未上市、参数错误、权限不足 —— 区分清楚再下结论。

Comments

Markdown supported