wind-mcp-skill
Wind 万得金融数据
访问万得 Wind 金融数据:股票(行情与财务基本面)、基金(行情与全维数据)、上市公司公告与新闻、宏观经济指标。
⚠️ 4 条核心规则(违反必失败):
- 命令必须在本文件所在目录下执行
- fund_data / stock_data 分行情类(
*_price_indicators/*_kline/*_quote→ 结构化{windcode, ...})和 NL 类(财务 / 档案 / 持仓 / 事件等 →{question}自然语言)—— 选错入参必报错- K 线必须显式传
begin_date(默认昨天,否则只回 2 条);quote 字段名是begin / end短名(跟 K 线不一样)- 调
get_*_price_indicators时,用户问的字段不在工具表"常用快捷"里就必须 Readreferences/indicators.md挑准确字段名(694 项 enum,后端有命名陷阱:大小写混杂 / 个别拼写错原样保留 /TypeShares等单词字段含义特殊)—— 凭印象猜必错
📅 数据时效:行情快照 + 分钟级 = 当日准实时;K 线 = 收盘历史;财务 / 档案 = 最近一期定期报告。WIND_API_KEY 有日调用额度,密集开发请多 Key 轮换。
何时使用
✅ 触发场景:
| 场景 | server_type |
|---|---|
| A 股 / 港股股票行情(最新价、K 线、分钟级) | stock_data |
| 股票档案 / 财务基本面 / 股本结构 / 公司事件 / 技术指标 / 风险 | stock_data |
| 基金 ETF / LOF 行情(最新价、K 线、分钟级) | fund_data |
| 基金任何维度(档案 / 财务 / 持仓 / 业绩 / 持有人 / 管理公司) | fund_data |
| 上市公司公告、财经新闻 | financial_docs |
| 宏观经济、行业经济指标(EDB) | economic_data |
| 不确定归属或跨域综合查询(fallback) | analytics_data |
❌ 不触发场景: 美股 / 欧股 / 非中概股;汇率 / 期货盘口 / 加密货币;非金融数据。
工作流程
🚨 命令必须在本文件(SKILL.md)所在目录下执行。
# 1. 看可用工具(24h 缓存于 ~/.cache/wind-aimarket/tools/)
node scripts/cli.mjs list-tools <server_type>
# 2. 调用工具
node scripts/cli.mjs call <server_type> <tool_name> '<params_json>'
没 Key 时
报"WIND_API_KEY 未配置"时:
- 先问用户是否同意打开浏览器,同意后跑
node scripts/cli.mjs open-portal(自动打开aimarket.wind.com.cn/#/user/overview拿 Key) - 三选一配置:
- A. 环境变量
export WIND_API_KEY=ak_xxx(临时) - B. skill 内
config.json(参考config.json.example,仅本 skill 有效) - C. 全局
~/.wind-aimarket/config(推荐,所有 wind skill 共享)
- A. 环境变量
windcode 代码格式
行情类工具的 windcode 接受两种输入:Wind 代码或中文名(后端自动解析)。
| 类型 | Wind 代码示例 | 中文名示例 |
|---|---|---|
| A 股 | 600519.SH / 000858.SZ / 8XXXXX.BJ |
贵州茅台 |
| 港股 | 00700.HK |
腾讯控股 |
| 场外基金 | 005827.OF |
易方达蓝筹精选 |
| ETF / LOF | 588200.SH / 159915.SZ |
科创50ETF |
💡 中文名简洁但有歧义风险(重名 / 多个产品带相同关键词);重名标的或精确查询用 Wind 代码。
⚠️ 单工具调用只支持单标的——传逗号分隔的多代码后端只识别第 1 个,其它静默忽略。多标的对比请并行多次调用。
工具表
server_type=fund_data
行情类(结构化代码参数):
get_fund_price_indicators — 场内基金(ETF / LOF)行情快照
| 字段 | 必填 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
windcode |
✅ | string | 见 windcode 约定 | |
indexes |
✅ | string (enum) | 行情字段,逗号分隔。常用快捷(覆盖 80% 高频问题):NAME,MATCH,PRECLOSE,OPEN,HIGH,LOW,VOLUME,TURNOVER,CHANGE,CHANGERANGE,IOPV,PREMIUMDISCOUNTRATE,FUNDSIZE。要其它字段先 Read references/indicators.md(694 项,有命名陷阱) |
get_fund_kline — 场内基金 K 线
| 字段 | 必填 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
windcode |
✅ | string | ||
begin_date |
⚠️ 建议必填 | string | 昨天 | yyyyMMdd,不显式传只回 2 条 |
end_date |
string | 今天 | yyyyMMdd |
|
period |
string | "10" |
1=1分 / 3=5分 / 4=10分 / 5=15分 / 6=30分 / 7=60分 / 8=120分 / 9=240分 / 10=日K / 11=周K / 12=月K / 13=年K / 14=季K / 15=半年K |
|
aftype |
string | "0" |
0=前复权 / 1=后复权(只这两值) |
|
issusp |
string | "1" |
0=不含停牌 / 1=含 |
|
afdate |
string | 复权基准日 yyyyMMdd,通常不传 |
get_fund_quote — 场内基金分钟级行情
| 字段 | 必填 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
windcode |
✅ | string | ||
begin |
string | LAST |
⚠️ 字段名 begin 不是 begin_date!yyyyMMdd 或 LAST |
|
end |
string | LAST |
⚠️ 字段名 end 不是 end_date |
NL 类(入参 {question: string, lang?: "CNS" | "ENS"},默认 CNS=中文 / ENS=英文;version 后端预留不强制):
| 工具 | 说明 | question 示例 |
|---|---|---|
get_fund_info |
基金档案(代码 / 简称 / 投资风格 / 业绩基准 / 费率 / 现任经理) | "易方达蓝筹精选 005827.OF 基金档案" |
get_fund_financials |
基金财务(利润 / 净值 / 收入 / 费用 / 分红) | "005827.OF 2024 年净利润和分红" |
get_fund_holdings |
持仓 + 资产配置(重仓股 / 申万 Wind 中信行业) | "005827.OF 最新一期重仓股" |
get_fund_performance |
业绩 + 排名 + ETF / 二级交易数据 | "005827.OF 近 1 年业绩排名" |
get_fund_shareholders |
持有人结构(个人 / 机构 / 申购赎回 / 规模变动) | "005827.OF 持有人结构 个人 vs 机构" |
get_fund_company_info |
基金管理公司档案 + 经理团队 | "易方达基金管理公司档案" |
server_type=stock_data
💡
price_indicatorsvstechnicals鉴别(字段有重叠如 MACD/KDJ):单时点最新值 →price_indicators;过去 N 日时间序列 →technicals(NL)。
行情类(结构化代码参数):
get_stock_price_indicators — 股票行情快照
| 字段 | 必填 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
windcode |
✅ | string | A 股 / 港股均支持 | |
indexes |
✅ | string (enum) | 行情字段,逗号分隔。常用快捷(覆盖 80% 高频问题):NAME,MATCH,PRECLOSE,OPEN,HIGH,LOW,VOLUME,TURNOVER,CHANGE,CHANGERANGE,CHANGEHANDRATE,LIANGBI,WEIBI,HIGHLIMIT,LOWLIMIT,CAPITALMARKETVALUE,LISTEDMARKETVALUE,WEEK52HIGH,WEEK52LOW,PE_TTM,PB,DIVIDENDYIELDRATIO。要其它字段(估值细分/财务/资金流/期权希腊字母/债券估值/历史多周期等)先 Read references/indicators.md(694 项,有命名陷阱) |
get_stock_kline — 股票 K 线
字段同 get_fund_kline(参见上方)。windcode 支持 A 股 / 港股。
get_stock_quote — 股票分钟级行情(A 股 / 港股)
字段同 get_fund_quote(参见上方),字段名 begin / end 不是 begin_date / end_date。
NL 类(入参 {question: string, lang?: "CNS" | "ENS"},默认 CNS=中文 / ENS=英文;version 后端预留不强制):
| 工具 | 说明 | question 示例 |
|---|---|---|
get_stock_basicinfo |
股票档案(公司信息 / 主营 / 行业分类 / IPO 上市板) | "600519.SH 公司基本档案" |
get_stock_fundamentals |
财务基本面(盈利能力 / 资产负债 / 利润 / 现金流 / 增长率) | "贵州茅台 2024 年 ROE 和净利润增速" |
get_stock_equity_holders |
股本 + 股东(总股本 / 流通 / 前十大 / 实控人 / 限售解禁) | "贵州茅台前十大股东" |
get_stock_events |
事件 + 资本运作(IPO / 增发 / 配股 / 并购 / ST / 合规) | "宁德时代 2024 年增发和并购事件" |
get_stock_technicals |
技术指标时间序列(涨跌幅 / MACD / KDJ / RSI / BOLL / 融资融券 / 龙虎榜 / 涨跌停) | "贵州茅台近 60 日 MACD 走势" |
get_risk_metrics |
风险指标(Beta / Jensen Alpha / 波动率 / Sharpe) | "贵州茅台过去 1 年 Beta 和波动率" |
server_type=financial_docs
get_company_announcements — 公司公告 / 监管文件 / 招股书 / 业绩公告 / 致股东信
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
query |
✅ | string | 自然语言,如 "贵州茅台 2024 年报" |
top_k |
integer | 返回文档数 | |
start_date / end_date |
string | ⚠️ 格式 YYYY-MM-DD(跟 K 线 yyyyMMdd 不一样) |
get_financial_news — 财经新闻
字段同上。query 示例:"美联储利率政策"。
server_type=economic_data
get_economic_data — EDB 宏观 / 行业经济指标
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
metricIdsStr |
✅ | string | 自然语言问句(不是指标 ID)。如 "中国 GDP" / "美国 CPI 同比" |
beginDate / endDate |
string | yyyyMMdd |
|
freq |
enum | 日=1 / 工作日=2 / 周=3 / 月=4 / 季=5 / 半年=6 / 年=7 / 年度=8(接受中文或代码) |
|
magnitude |
enum | 个=1 / 千 / 万 / 百万 / 千万 / 亿 / 十亿 / 百亿 / 千亿 / 万亿(中文或对应数字) |
|
currency |
enum | USD / CNY / EUR / JPY / AUD / GBP / CHF / CAD / SGD / HKD / MYR / BYR |
|
searchType |
enum | 深度=0 / 精确=1 |
|
ifUnion |
enum | 开启=1 / 不开启=2(混合搜索) |
⚠️ 报
TOOL_RUNTIME_ERROR时,换analytics_data.get_financial_data兜底(同样问句通常能成功)。
server_type=analytics_data(通用兜底)
get_financial_data — 自然语言通用 Wind 数据
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
question |
✅ | string | 覆盖 fund / stock 之外的杂项与跨域综合,如 "中证 500 最近一周表现" |
lang |
enum | CNS=中文(默认) / ENS=英文 |
数据来源标注(必做)
向用户呈现查询结果时,必须在结果末尾标注:数据来源于万得 Wind 金融数据服务。
典型示例
# 行情快照
node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"600519.SH","indexes":"NAME,MATCH,CHANGERANGE,VOLUME,TURNOVER"}'
node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"00700.HK","indexes":"NAME,MATCH,CHANGERANGE"}' # 港股
node scripts/cli.mjs call fund_data get_fund_price_indicators '{"windcode":"588200.SH","indexes":"NAME,MATCH,IOPV,PREMIUMDISCOUNTRATE"}'
# K 线(必传 begin_date,默认日 K 前复权)
node scripts/cli.mjs call stock_data get_stock_kline '{"windcode":"600519.SH","begin_date":"20260401","end_date":"20260430"}'
node scripts/cli.mjs call stock_data get_stock_kline '{"windcode":"600519.SH","begin_date":"20260428","end_date":"20260430","period":"6","aftype":"1"}' # 30 分钟 + 后复权
node scripts/cli.mjs call fund_data get_fund_kline '{"windcode":"588200.SH","begin_date":"20260101","end_date":"20260430","period":"11"}' # 周 K
# 分钟级(字段名 begin/end)
node scripts/cli.mjs call stock_data get_stock_quote '{"windcode":"600519.SH"}'
node scripts/cli.mjs call stock_data get_stock_quote '{"windcode":"00700.HK"}'
# 多标的对比(windcode 单代码,要并行多次)
node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"600519.SH","indexes":"NAME,MATCH"}'
node scripts/cli.mjs call stock_data get_stock_price_indicators '{"windcode":"000858.SZ","indexes":"NAME,MATCH"}'
# NL 深度
node scripts/cli.mjs call stock_data get_stock_fundamentals '{"question":"贵州茅台 2024 年 ROE 和净利润增速"}'
node scripts/cli.mjs call fund_data get_fund_holdings '{"question":"005827.OF 最新一期重仓股"}'
# 文档(注意 YYYY-MM-DD)
node scripts/cli.mjs call financial_docs get_company_announcements '{"query":"贵州茅台 2024 年报","top_k":3}'
node scripts/cli.mjs call financial_docs get_financial_news '{"query":"美联储利率政策","top_k":5,"start_date":"2026-01-01"}'
# 宏观
node scripts/cli.mjs call economic_data get_economic_data '{"metricIdsStr":"中国 CPI 同比","freq":"月","beginDate":"20240101","endDate":"20261231"}'
# 通用兜底
node scripts/cli.mjs call analytics_data get_financial_data '{"question":"中证 500 最近一周表现"}'
错误恢复
| 错误 | 解法 |
|---|---|
WIND_API_KEY 未配置 |
先问用户,再跑 open-portal,引导配置全局 ~/.wind-aimarket/config |
| HTTP 401/403 | Key 无效或过期 → 重新生成 |
| HTTP 5xx | 服务端异常 → 稍后重试 |
| 单日请求次数超限 | 当日额度用尽 → 等次日刷新或换 Key |
economic_data 报 TOOL_RUNTIME_ERROR |
换 analytics_data.get_financial_data 兜底 |
| K 线只回 2 条 | 显式传更早的 begin_date |
*_quote 参数报错 |
字段名是 begin / end,不是 begin_date / end_date |
aftype 报错 |
只接受 "0" / "1",无"不复权" |
| 工具不存在 / 未知 server_type | 先 list-tools <server_type> 拿真 schema |
indexes 字段不识别 / 字段名不存在 |
Read references/indicators.md,从 694 项里挑准确字段名(不要凭印象猜) |
| 调用失败但似乎啥都没报 | 检查命令是否在本 SKILL.md 所在目录下执行 |
调用前自查
- 命令在本文件(SKILL.md)所在目录下执行
- 行情类用
{windcode, ...}结构化;NL 类用{question}自然语言 - NL
question提取关键实体即可(✅"005827.OF 基金档案"/ ❌"帮我查一下...") - 结果末尾标注:
数据来源于万得 Wind 金融数据服务
保持最新
每次调用 cli.mjs 后,留意 stderr 是否包含 [wind-skills] 检测到 N 个 skill 有新版。
看到该提示时,会话首次必须转告用户一次(同会话再次调用时不重复转告):
- 把清单和升级命令完整带给用户
- 命令已含
-g -y等参数,直接照搬即可 - Gitee 装的 skill 升级路径跟 GitHub 不同,按 stderr 提示的命令走
不要自行编造升级提示——只在 stderr 里出现实际通知时转告。
⚠️ 如遇"工具不存在 / 未知 server_type / 字段不符"等版本相关错误,可建议用户跑 npx skills update -g -y 拉最新后重试。
More from jsoncodechina/wind-skills
wind-find-finance-skill
AIMarket 金融能力发现器。当用户问金融数据 / 分析 / 工具相关问题,且 AI 不确定用哪个具体 skill 时,触发本 skill 列举平台可用能力并给出安装命令。
14earnings-analysis
Create professional equity research earnings update reports (8-12 pages, 3,000-5,000 words) analyzing quarterly results for companies already under coverage. Fast-turnaround format focusing on beat/miss analysis, key metrics, updated estimates, and revised thesis. Includes 1-3 summary tables and 8-12 charts. Use when user requests "earnings update", "quarterly update", "earnings analysis", "Q1/Q2/Q3/Q4 results", or post-earnings report.
5wind-quote-skill
>-
3equity-investment-thesis
用于个股核心投资逻辑深度研究,聚焦个股研究 / 基本面分析 / 机构研究。本skill主要用户问题回答、撰写报告、撰写金融类文章等场景。本报告输出内容较多,不适合简单对话场景。各类信息与数据的获取,可以使用wind.financial.data工具,以合理的关键字或关键字组合进行获取。用户输入一个股票名称后,希望快速得到一份接近券商研究员风格的高质量个股分析。
2post-market-debrief
用于盘后复盘,聚焦日常复盘 / 市场研究 / 交易总结。本skill主要用户问题回答、撰写报告、撰写金融类文章等场景。本报告输出内容较多,不适合简单对话场景。各类信息与数据的获取,可以使用wind.financial.data工具,以合理的关键字或关键字组合进行获取。收盘后需要快速复盘全天市场,搞清楚发生了什么、哪些信号值得重视、明天该怎么接。
2valuation-pricing-framework
用于估值与定价框架,聚焦估值分析 / 定价逻辑 / 投资决策。本skill主要用户问题回答、撰写报告、撰写金融类文章等场景。本报告输出内容较多,不适合简单对话场景。各类信息与数据的获取,可以使用wind.financial.data工具,以合理的关键字或关键字组合进行获取。用户想知道一家公司应该怎么估值、当前估值处于什么水平、市场为什么愿意给这个估值、还有没有重估空间。
2