股票查询
stock-query
by asfamilybank
>
安装
claude skill add --url https://github.com/openclaw/skills文档
全球股票/ETF/基金/指数 实时价格查询
前置依赖
运行本 skill 需要以下命令行工具:
| 工具 | 用途 |
|---|---|
curl | 调用股票行情 API |
iconv | 将 API 响应从 GBK 转码为 UTF-8 |
支持的市场与标的
| 市场 | 代码格式 | API 前缀 | 数据源 | 备用数据源 |
|---|---|---|---|---|
| 沪市股票 | 6 开头 6 位数字 | sh | 腾讯财经 | 新浪财经 |
| 深市股票 | 0 或 3 开头 6 位数字 | sz | 腾讯财经 | 新浪财经 |
| 沪市 ETF | 5 开头 6 位数字 | sh | 腾讯财经 | 新浪财经 |
| 深市 ETF | 1 开头 6 位数字 | sz | 腾讯财经 | 新浪财经 |
| 沪市指数 | 000 开头 6 位数字 | sh | 腾讯财经 | 新浪财经 |
| 深市指数 | 399 开头 6 位数字 | sz | 腾讯财经 | 新浪财经 |
| 场外基金 | 排除法(见 Step 2) | — | 天天基金 | 东方财富 |
| 港股 | 5 位数字(如 00700) | hk | 腾讯财经 | — |
| 美股 | 英文 ticker(如 AAPL) | us | 腾讯财经 | — |
| 美股指数 | .DJI / .IXIC / .SPX | us | 腾讯财经 | — |
工作流程
Step 0: Meta 命令路由
在解析标的代码前,先检查用户输入是否为 meta 命令:
version 命令:输入为 version、-v、--version(大小写不敏感)
→ 直接输出版本信息,不执行后续步骤:
stock-query v2.0.4
help 命令:输入为 help、-h、--help(大小写不敏感)
→ 直接输出用法说明,不执行后续步骤:
stock-query v2.0.4 — 全球股票/ETF/基金/指数实时行情查询
用法:
/stock-query <代码> [代码2 ...] 查询一个或多个标的
/stock-query version 显示版本号
/stock-query help 显示本帮助
支持的市场:
A股(沪/深) 6位数字,如 601991 000001
港股 5位数字,如 00700 09988
美股 英文ticker,如 AAPL TSLA NVDA
美股指数 .DJI .IXIC .SPX
ETF 6位数字,如 510300 159915
场外基金 6位数字,如 014978
常用示例:
/stock-query AAPL
/stock-query 00700 09988
/stock-query AAPL 00700 601991 510300
Step 1: 解析用户输入
从用户消息中提取标的代码。支持以下输入形式:
- 6 位纯数字 → A 股(股票/ETF/指数/基金)
- 5 位纯数字 → 港股(如 00700、09988)
- 英文字母或英文+数字 → 美股 ticker(如 AAPL、TSLA、BIDU)
- 中文/英文名称 → 尝试匹配常见标的(见下表)
常见标的速查:
A 股:
- 黄金ETF → 518880(沪市)
- 红利低波ETF → 512890(沪市)
- 沪深300ETF → 510300(沪市)
- 卫星ETF → 563230(沪市)
- 创业板ETF → 159915(深市)
- 中证500ETF → 510500(沪市)
- 上证指数 → 000001(沪市指数)
- 深证成指 → 399001(深市指数)
- 创业板指 → 399006(深市指数)
- 沪深300 → 000300(沪市指数)
- 上证50 → 000016(沪市指数)
- 中证500 → 000905(沪市指数)
- 中证1000 → 000852(沪市指数)
港股:
- 腾讯 → 00700
- 阿里巴巴 → 09988
- 美团 → 03690
- 小米 → 01810
- 比亚迪(港股)→ 01211
- 恒生指数 → HSI(腾讯 API 前缀
hkHSI)
美股:
- 苹果 → AAPL
- 谷歌 → GOOG
- 特斯拉 → TSLA
- 英伟达 → NVDA
- 微软 → MSFT
- 亚马逊 → AMZN
- 百度 → BIDU
- 阿里巴巴(美股)→ BABA
- 哔哩哔哩 → BILI
- 拼多多 → PDD
- 道琼斯指数 → .DJI
- 纳斯达克指数 → .IXIC
- 标普500指数 → .SPX
如果无法确定代码,向用户确认。
Step 2: 识别标的市场
第一步:判断输入类型
if input 是 5 位纯数字:
market = 'hk' # 港股
type = 'hk_stock'
elif input 以 . 开头 (如 .DJI):
market = 'us' # 美股指数
type = 'us_index'
elif input 包含英文字母:
market = 'us' # 美股
type = 'us_stock'
elif input 是 6 位纯数字:
# A 股市场识别(原有逻辑)
if code.startsWith('000') and len==6:
market = 'sh' # 沪市指数(注意与深市股票歧义)
type = 'index_or_stock'
elif code.startsWith('399'):
market = 'sz' # 深市指数
type = 'index'
elif code.startsWith('6'):
market = 'sh' # 沪市股票
type = 'stock'
elif code.startsWith('0') or code.startsWith('3'):
market = 'sz' # 深市股票(可能是场外基金,需二次确认)
type = 'stock_or_fund'
elif code.startsWith('5'):
market = 'sh' # 沪市 ETF
type = 'etf'
elif code.startsWith('1'):
market = 'sz' # 深市 ETF
type = 'etf'
else:
type = 'fund' # 场外基金(2/4/7/8/9 开头)
第二步:A 股歧义处理
对 type='index_or_stock' 的 000 开头代码:
1. 用户提到"指数""大盘""上证" → sh 前缀(指数)
2. 用户提到股票名称或"股票" → sz 前缀(深市股票)
3. 无法判断:先查 sh{code},名称含"指数"则确认为指数;否则查 sz{code}
4. 典型歧义:000001 → sh000001 上证指数,sz000001 平安银行
对 type='stock_or_fund' 的代码做二次确认:
1. 用腾讯接口查询 sz{code}
2. 若返回空/无效,判定为场外基金
3. 若返回数据,确认为深市股票
第三步:防碰撞校验
查询返回后校验名称与用户预期一致。不符时尝试另一市场前缀。
Step 3: 查询股票/ETF/指数 实时行情
3a. 腾讯财经(首选,支持全球市场)
腾讯财经 API 统一支持 A 股、港股、美股查询。
# A 股
curl -s "https://qt.gtimg.cn/q=sh601991,sz000001" | iconv -f GBK -t UTF-8
# 港股
curl -s "https://qt.gtimg.cn/q=hk00700,hk09988" | iconv -f GBK -t UTF-8
# 美股
curl -s "https://qt.gtimg.cn/q=usAAPL,usTSLA" | iconv -f GBK -t UTF-8
# 美股指数
curl -s "https://qt.gtimg.cn/q=us.DJI,us.IXIC,us.SPX" | iconv -f GBK -t UTF-8
# 混合查询(可跨市场批量)
curl -s "https://qt.gtimg.cn/q=sh601991,hk00700,usAAPL" | iconv -f GBK -t UTF-8
重要:腾讯接口返回 GBK 编码,必须通过 iconv -f GBK -t UTF-8 转码。
API 前缀规则:
| 市场 | 前缀格式 | 示例 |
|---|---|---|
| 沪市 | sh + 6位代码 | sh601991 |
| 深市 | sz + 6位代码 | sz000001 |
| 港股 | hk + 5位代码 | hk00700 |
| 美股 | us + ticker | usAAPL、usBIDU |
| 美股指数 | us + .代码 | us.DJI、us.IXIC |
响应格式为 ~ 分隔的文本,各市场字段结构一致:
| 索引 | 含义 |
|---|---|
| [0] | 市场标识(1=A股, 100=港股, 200=美股) |
| [1] | 名称(中文) |
| [2] | 代码 |
| [3] | 最新价 |
| [4] | 昨收 |
| [5] | 今开 |
| [6] | 成交量 |
| [30] | 日期时间 |
| [31] | 涨跌额(已算好) |
| [32] | 涨跌幅 %(已算好,直接使用) |
| [33] | 最高 |
| [34] | 最低 |
注意事项:
- 日期时间格式因市场不同:A 股为
YYYYMMDDHHMMSS,港股为YYYY/MM/DD HH:MM:SS,美股为YYYY-MM-DD HH:MM:SS - 涨跌额和涨跌幅由接口直接返回,无需手动计算
- [0] 字段可用于区分市场:1=A股, 51=深市个股, 100=港股, 200=美股
频率限制: 腾讯接口为公共 API,过度调用会被封禁 IP。健康使用频率:
- 单次请求最多 100 个代码
- 请求间隔不低于 100ms(即每秒最多 10 次请求)
- 批量查询时优先合并为单次请求,避免逐个查询
3b. 新浪财经(A 股备用)
仅用于 A 股。当腾讯接口超时或返回空时回退:
curl -s "https://hq.sinajs.cn/list={market}{code}" \
-H "Referer: https://finance.sina.com.cn" \
| iconv -f GBK -t UTF-8
新浪字段索引(引号内逗号分隔,0-based):
- [0] 名称, [1] 今开, [2] 昨收, [3] 最新价, [4] 最高, [5] 最低
- [8] 成交量, [9] 成交额, [30] 日期, [31] 时间
新浪涨跌额 = [3] - [2],涨跌幅 = ([3] - [2]) / [2] × 100%
Step 4: 查询场外基金净值
对 type 为 fund 的标的(仅 A 股场外基金),按优先级使用:
4a. 实时估值(交易日盘中,优先使用):
curl -s "http://fundgz.1234567.com.cn/js/{code}.js"
安全说明:该接口为 HTTP(无 TLS),请求中仅含基金代码,不涉及用户敏感信息。
响应字段:
fundcode: 基金代码name: 基金名称jzrq: 最新净值日期dwjz: 上一交易日单位净值gsz: 实时估算净值gszzl: 估算涨跌幅(%)gztime: 估值时间
4b. 备用:最新确认净值
curl -s "https://api.fund.eastmoney.com/f10/lsjz?fundCode={code}&pageIndex=1&pageSize=1" \
-H "Referer: https://fund.eastmoney.com"
若 4a 返回 jsonpgz() 空值,则使用 4b。
QDII 基金特殊处理:
基金名称含"QDII""纳斯达克""标普""海外""美国""全球",且净值日期落后 >2 天,属正常——QDII 基金净值公布有 T+2 至 T+7 的系统性延迟。附加提示:⏳ QDII基金,净值公布有 T+2~T+7 延迟
Step 5: 格式化输出
以 Markdown 表格输出:
| 代码 | 名称 | 市场 | 最新价 | 涨跌幅 | 最高 | 最低 | 币种 | 更新时间 |
|---------|---------------|-------|----------|----------------|----------|----------|------|-------------------|
| 000001 | 上证指数 | A股 | 3874.39 | 🔴 +1.60% | 3881.20 | 3850.10 | CNY | 2026-03-24 15:00 |
| 601991 | 大唐发电 | A股 | 4.21 | 🔴 +4.47% | 4.25 | 4.06 | CNY | 2026-03-24 15:00 |
| 00700 | 腾讯控股 | 港股 | 511.000 | 🔴 +2.53% | 515.000 | 498.000 | HKD | 2026-03-24 16:00 |
| AAPL | 苹果 | 美股 | 251.49 | 🟩 +1.41% | 254.60 | 250.28 | USD | 2026-03-23 16:00 |
| .DJI | 道琼斯 | 美股 | 46208.47 | 🟩 +1.38% | 46350.12 | 45980.33 | USD | 2026-03-23 17:11 |
| 014978 | 华安纳指100C | 基金 | 6.8897 | 🟢 -1.43%(估) | — | — | CNY | 2026-03-24 15:00 |
涨跌标识规则:
- A 股/港股(红涨绿跌):上涨 🔴
+X.XX%,下跌 🟢-X.XX% - 美股(绿涨红跌):上涨 🟩
+X.XX%,下跌 🟥-X.XX% - 平盘:⚪
0.00%(所有市场通用)
如果输出环境支持 HTML 或富文本,使用颜色标签增强显示:
- A 股/港股上涨:
<span style="color:#e54d42">🔴 +1.41%</span> - A 股/港股下跌:
<span style="color:#39b54a">🟢 -0.29%</span> - 美股上涨:
<span style="color:#39b54a">🟩 +1.41%</span> - 美股下跌:
<span style="color:#e54d42">🟥 -0.29%</span>
其他输出规则:
- 涨跌幅为正数前面加
+,为负数自带- - 价格保留与原始数据相同的小数位数
- 场外基金盘中显示估算净值,在涨跌幅后标注
(估) - 非交易时段在表格下方注明:
⏸ 非交易时段,显示上一交易日收盘数据 - QDII 基金在表格下方注明:
⏳ QDII基金,净值公布有 T+2~T+7 延迟 - 美股数据在非美股交易时段显示的是上一交易日收盘价
Step 6: 持仓市值计算(可选)
如果用户同时提供了持仓份额/股数,额外输出市值表:
| 代码 | 名称 | 持仓 | 成本价 | 最新价 | 市值 | 浮盈/亏 | 盈亏比 |
|--------|----------|--------|--------|--------|-----------|----------------|----------------|
| 600519 | 贵州茅台 | 100股 | 1680.0 | 1725.0 | 172,500 | 🔴 +4,500 | 🔴 +2.68% |
| AAPL | 苹果 | 50股 | 220.0 | 251.49 | 12,574.50 | 🟩 +1,574.50 | 🟩 +14.31% |
汇总行:
📊 持仓合计:市值 185,074.50 | 总成本 179,000 | 浮盈 +6,074.50(+3.39%)
注意:跨市场持仓汇总时,需提示用户各币种的市值分开统计,或按实时汇率折算。
数据源降级策略
- A 股(股票/ETF/指数):腾讯财经(首选)→ 新浪财经(备用)→ 报错
- 港股/美股:腾讯财经(唯一数据源)→ 报错
- 场外基金:天天基金估值(首选)→ 东方财富净值(备用)→ 报错
错误处理
| 场景 | 处理方式 |
|---|---|
| 代码无法识别 | 提示 "未找到标的 {code},请确认代码是否正确" |
| 腾讯接口超时/空值 | A 股自动回退新浪;港股/美股提示 "数据源暂时不可用" |
| 新浪接口也失败 | 重试 1 次,仍失败则提示 "数据源暂时不可用,请稍后重试" |
| 场外基金无估值数据 | 回退到确认净值接口,标注 (净值,非估值) |
| 市场前缀碰撞 | 校验返回名称与用户预期是否一致,不一致时尝试另一市场前缀 |
| 中文乱码 | 检查是否遗漏 iconv 转码步骤(腾讯和新浪接口均为 GBK 编码) |
安全与隐私说明
- 场外基金估值接口(fundgz.1234567.com.cn):当前仅提供 HTTP(无 TLS)。请求中仅发送基金代码,不涉及用户身份或敏感数据。
- portfolio_file 配置:
skill.yaml中为可选配置项。本 skill 附带的脚本不会自动读取该路径;若配置此项,agent 可能在用户指令下读取该文件。⚠️ 本 skill 同时具有 shell 和 network 权限,理论上读取的文件内容可被纳入网络请求(如查询持仓数据时)。请勿将此项指向包含账户凭证、API 密钥或其他敏感信息的文件。
交易时间参考
| 市场 | 交易时段(当地时间) | 时区 |
|---|---|---|
| A 股/ETF | 工作日 09:30-11:30, 13:00-15:00 | UTC+8 |
| 场外基金估值 | 工作日 09:30-15:00 | UTC+8 |
| 港股 | 工作日 09:30-12:00, 13:00-16:00 | UTC+8 |
| 美股 | 工作日 09:30-16:00(夏令时 21:30-04:00 北京) | UTC-4/-5 |
| QDII 基金 | 净值 T+2 至 T+7 公布 | — |
相关 Skills
面试体系设计
by alirezarezvani
按岗位、级别和团队设计面试流程,生成能力矩阵、题库与评分标准,分析面试官偏差并校准招聘门槛,适合搭建或优化企业招聘体系。
✎ 团队招人没章法时,用它快速搭建岗位化面试流程、题库与评分标准,还能兼顾校准面试偏差,招聘更稳更准。
期权交易
by binance-skills-hub
Binance Derivatives-trading-options request using the Binance API. Authentication requires API key and secret key. Supports testnet and mainnet.
A股交易助手
by alvisdunlop
A股股票智能交易助手,专服务中国大陆股票市场。当用户询问A股股票行情、个股分析、大盘情绪、热点板块、交易策略、价格预警、涨跌幅、成交量、技术面或基本面分析时触发。只处理沪深A股(代码�?/00/30/68开头),自动忽略港股和美股。所有数据实时从东方财富、新浪财经、同花顺、雪球抓取。Use when: user asks about Chinese A-share stocks, 股票行情, 个股分析, 大盘分析, 板块热点, 买卖�? 止盈止损, 仓位建议, or any A-share trading-related query.
相关 MCP 服务
by boosted-chat
Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.
by jjlabsio
Search company disclosures and financial statements from the Korean market. Retrieve stock profiles, market classifications, and historical trading data across major exchanges. Accelerate equity research with accurate, date-specific insights for Korean securities.
✎ 做韩国股研时,用它能一站查公司披露、财报和历史行情,按日期精确追溯关键信息,比手动翻交易所高效太多。
by jjlabsio
检索韩国市场公司的披露文件与财务报表,并获取股票概况等关键信息。
✎ 想研究韩股公司时,它能一站式拉取披露、财报和股票概况,省去跨站查资料的麻烦,对跨境投研尤其省时。