指数直通车ETF信息查询
ETF(交易型开放式指数基金)信息查询。ETF 在证券交易所上市交易,通常通过券商股票账户买卖,盘中按交易价格成交,以6位证券代码识别(如510300)。 本 skill 不提供实时行情类信息。 支持查询ETF基础信息、规模费率、持仓明细、历史分红、区间收益、资金流向、涨幅榜、热搜榜,以及按持仓股票反查相关ETF。 适用于用户关注场内ETF基础信息、成交活跃度、主题ETF筛选、同类ETF比较等场景。如果用户通过银行、基金公司或第三方基金销售平台申购赎回指数基金,应使用 open-fund-query。
SKILL.md
ETF信息查询
把中文自然语言中的 ETF 查询请求,转成真实数据查询,并以普通投资者能理解的方式返回事实信息和比较结果。
免责声明
本技能仅提供基金和指数相关数据查询服务;基于查询结果生成的归纳、比较和说明由 AI 自动生成,仅供参考,不构成投资建议、收益预测或任何交易决策依据。
产品说明
指数直通车 AI Skills 是易方达基金专为 AI 智能体打造的指数产品数据查询工具。它致力于搭建大模型与指数基金市场之间的信息桥梁,助力各类智能体实时调取准确、齐全的场内 ETF 与场外指数基金产品数据,全面覆盖指数基金检索、持仓分析、分红追踪等核心应用场景,显著提升指数投资的数据获取与分析效率。
每位用户每日享有 500 次免费 API 接口调用额度。单次提问可能调用多个接口,额度按实际接口调用次数计算。
如需获取API Key,请在微信搜索“指数直通车”小程序,在「AI Skills」页面申请。更多说明可访问帮助文档:https://cdn.efunds.com.cn/eda/h5/itcenter/pd/ai-skills-doc/help.pdf
问题反馈或技术支持邮箱:indexhub@efunds.com.cn
When To Use
用户表达以下意图时,使用本 skill:
| 场景 | 典型请求 |
|---|---|
| ETF基础信息 | 查询某只ETF的名称、规模、费率、跟踪指数、基金经理 |
| ETF筛选 | 按指数、行业主题寻找ETF候选,再比较规模、费率、流动性 |
| ETF比较 | 比较多只ETF的规模、费率、收益、跟踪误差、资金流向 |
| 持仓查询 | 查询ETF前十大持仓,或按股票反查持有该股票的ETF |
| 收益与分红 | 查询区间收益、今年以来收益、成立以来收益、历史分红 |
| 热点发现 | 查询涨幅榜、热搜榜、短期市场关注点 |
| 实时行情 | 查询最新价、涨跌额/幅、成交量/额、换手率、IOPV、溢折率或分钟走势 |
| 交易辅助信息 | 查询成交活跃度、场内购买相关基础信息 |
What This Skill Is Not
- 不提供买卖建议、收益承诺或替代投资顾问服务
- 不执行开户、下单、申购、赎回或任何账户操作
- 不基于未经查询的数据作答;数据不可用、无权限或无匹配结果时,应明确说明限制
- 不覆盖场外指数基金申购赎回场景;此类问题应转向
open-fund-query
对象识别与路由
- 查询前先区分指数、ETF 和场外指数基金。三者都可能使用6位代码,不能只凭代码格式判断类型,应结合名称、用户用词和上下文识别。
- 指数是市场基准,回答的是指数点位、指数收益、成分股和估值等;ETF 和场外指数基金是跟踪指数的基金产品,基金的价格、净值、收益和持仓不能用指数数据代替。
- ETF 在交易所上市,使用盘中价格、成交额、IOPV 和溢折率等口径;场外指数基金按净值成交,没有盘中价格和盘口。
- 已识别或疑似为场外指数基金的代码(如通过银行、基金公司或销售平台申购的联接基金),禁止调用
quote/etf、quote/minite等场内行情接口——它们仅接受交易所场内 ETF 代码,场外代码硬套只会查空或查错。此时应按净值口径说明场外基金没有盘口、IOPV 和成交额,并转向open-fund-query。 - 用户给出 6 位代码但未明确产品类型时,先用
search/etf或etf/detail验证该代码是场内 ETF,再调quote/etf、quote/minite等行情接口;禁止用行情接口试探代码类型。接口返回"代码类型不匹配"时停止,按场外基金或指数路由处理。 - 用户只说指数全称或简称,如“沪深300”“中证500”,且没有提到 ETF、基金或具体基金代码时,查询指数本身,不从相关基金中任意选择一只代替;仍有歧义时再请用户确认。
- 用户已明确对象类型时,直接使用对应的 skill。问题同时包含指数和基金时分别查询并清楚标注,不先把代码送入错误接口试探。
- 如果用户咨询到了某个当前缺失的ETF指标,那么可以查询该ETF跟踪的指数,然后用index-query技能查询对应指数的指标。回答时明确说明暂时缺失该ETF的指标,但查到了跟踪指数的对应指标。
Execution Workflow
处理用户问题时,按以下步骤执行:
-
识别查询对象
- 识别6位ETF代码、ETF名称、跟踪指数、行业主题、持仓股票或时间区间。
- 用户只给名称或主题时,先搜索候选ETF,再基于返回结果继续查询详情。
-
选择查询能力
- 根据问题意图选择搜索、详情、持仓、收益、分红、榜单、持仓股票反查、盘口行情或分钟行情。
- 具体接口、字段路径、单位换算、日期口径和行情接口选择以
references/catalog-etf.md为准。
-
调用真实数据
- 所有数据访问必须经由本 skill 的
scripts/api_client.py发起;它是唯一的鉴权、缓存和调用记账通道。 - 禁止自行使用 curl、requests、urllib、fetch 或自编脚本直接请求数据服务;禁止把
config.py当作模块 import 后自行发请求。 - 不凭记忆补数据;不使用外部网页替代 skill 数据。
- 所有数据访问必须经由本 skill 的
-
组织回答
- 先给一句话结论或比较框架,再列关键数据。
- 多产品比较时说明筛选或排序依据。
- 只展示与用户问题相关的核心指标,默认控制在3-5项。
-
输出前检查
- 最终回答必须通过本 skill 的回答检查工具处理。
- 不展示原始响应、内部字段路径、鉴权信息、异常占位值或调试日志。
安装说明
- 若你单独获取并安装本 skill,请查看同目录下的
INSTALL.md,按其中步骤完成安装与授权配置。 - 若你使用的是 Index Hub 组合包,请优先使用组合包根目录下的
install/install.sh进行统一安装。
Runtime And Access
- 数据查询通过本 skill 随附的本地配置完成。使用前应确保已按安装说明完成授权配置。
- 运行时可用
INDEX_HUB_API_KEY临时覆盖授权信息;默认从~/.config/index-hub/api_key读取,且兼容旧变量ETF_API_KEY。如均未配置,应按安装流程引导用户完成配置和验证。 - 回答用户时只展示查询结论和必要口径,不展示配置文件内容、鉴权信息、服务地址、原始请求或原始响应。
- 如果授权不可用、服务不可达或返回无权限,应明确说明当前无法查询,并提示用户检查配置或权限。
Answer Validation
- 每次对用户输出最终答案前,都应使用
guardrails.py中的最终回答检查能力。 - 若检查未通过,应改写答案后重新检查;不要把未通过的内容直接展示给用户。
- 在组织答案前,先把接口中的缺失值、
None、null和异常占位值转换成自然语言;最终回答检查不能替代数据解析层的清洗。 - 该检查用于统一免责声明、阻止真实凭据和内部服务地址泄露、拦截异常哨兵值,并降低不当投资表达风险;说明性的配置名称和空值术语可以正常出现。
Capability Map
| 用户意图 | 查询方式 | 回答重点 |
|---|---|---|
| 主题或行业ETF筛选 | 先搜索主题候选,再查详情 | 跟踪指数、规模、费率、成交活跃度、风险提示 |
| 单只ETF查询 | 详情查询,可补充搜索、收益、持仓、分红或行情 | 名称、代码、跟踪指数、规模、费用、基金经理;按需补充行情 |
| 多只ETF对比 | 批量详情查询,可补充收益 | 统一口径比较,说明每个结论基于哪个维度 |
| 持仓透视 | 持仓查询 | 前十大持仓、持仓比例、报告期 |
| 按股票找ETF | 持仓股票反查 | ETF名称、代码、对应股票持仓比例、规模 |
| 区间收益 | 收益查询 | 起止日期、收益率、历史收益不代表未来表现 |
| 历史分红 | 分红查询 | 分红日期、每份分红、分红次数 |
| 热榜与涨幅榜 | 发现类查询 | 热搜榜为当日指数直通车小程序内搜索累计;涨幅榜为实时涨幅榜,可返回榜单中的ETF、跟踪指数和行情信息 |
| 场内购买说明 | 基础说明,可结合候选ETF | 股票账户、盘中交易、交易成本和产品费用的区别 |
Query Capabilities
| 能力 | 用途 |
|---|---|
ETF关键词搜索(search/etf) | 按代码、名称、指数、主题关键词召回ETF候选;响应随附规模、各周期涨跌幅、估值、净流入、日均成交额、年化跟踪误差和 lastPrice、changeRate、premiumRate 等实时行情字段,筛选、排序、比较基于搜索结果在本地完成 |
批量ETF详情(etf/detail) | 查询规模、费率、跟踪指数、基金经理、年化跟踪误差、资金流向、溢折率(iopvDiscount),随附行情字段 lastPrice、changeRate、turnoverRate |
批量ETF持仓(etf/holdings) | 查询前十大持仓和报告期 |
批量区间收益(etf/return) | 查询预设周期或自定义区间收益 |
批量历史分红(etf/dividends) | 查询历史分红记录 |
ETF规模变动(etf/etf-scale) | 查询基金规模与净流入的逐日变动(万元) |
持仓股票反查ETF(search/etf-by-stock) | 根据股票查找持有该股票的ETF;响应中每只ETF随附 holdingsDetail 持仓明细(stockCode、secuSht、holdNavRat、endDt),用户要"具体持仓明细"时读取该字段,而不是改用前十大持仓接口 |
ETF盘口行情(quote/etf) | 批量查询最新价、涨跌幅、成交额、成交量、换手率、IOPV、溢折率、昨收和精确行情时间(date + timeStamp),单次最多 50 只 |
ETF历史K线(quote/etf/kline) | 查询日/周/月/分钟历史K线,支持原始、前复权、后复权 |
ETF分钟行情(quote/minite) | 批量查询当日分时分钟走势,或按 lastTimestamp 获取增量分钟数据,并随附最新盘口快照 |
ETF实时涨幅榜(discovery/top-etf) | 查询涨幅榜中的ETF、跟踪指数和行情信息 |
热搜榜(discovery/hot-search) | 查询指数直通车产品内部搜索热榜关键词 |
按类型热搜推荐(discovery/hot-search-recommend) | 按产品类型(指数/ETF/场外基金)查询热搜推荐列表 |
具体请求参数、响应路径、字段名、单位和异常值处理规则,必须以 references/catalog-etf.md 为准。
Query Rules
- 同一问题包含多个意图时,按“搜索/识别标的 → 详情 → 持仓/收益/分红/行情 → 解释与风险提示”的顺序处理。
- 筛选、比较类需求先用
search/etf以关键词(代码、名称、指数、主题)召回候选;搜索响应已随附规模、各周期涨跌幅、估值、净流入、日均成交额、年化跟踪误差和实时行情等比较字段,筛选、排序和比较基于搜索结果在本地完成,不为每只候选重复请求详情。pageSize取大值一次取回候选,以totalNum为界,仅当前几页确实无匹配时才翻页,最多翻页 5 页,仍覆盖不全时在回答中说明筛选阈值、覆盖范围与排序口径,不得继续翻页扫库;多产品详情用批量接口一次传入全部代码,禁止逐个单查。 - 主题查询应做必要的关键词扩展,例如半导体可关联芯片、集成电路、科创芯片;新能源可关联新能源车、电池、光伏。
- 多只产品比较必须使用同一口径,避免把不同指数、不同主题或不同时间窗的数据直接混作结论。
- 查询热榜信息时,应说明热榜含义:该数据提供指数直通车产品内部的搜索热榜。
- 查询涨幅榜信息时,应说明其为实时涨幅榜;查询热搜榜信息时,应说明其为当日指数直通车小程序内搜索累计热榜。
- 涨幅榜的唯一来源是
discovery/top-etf服务端榜单,禁止用搜索、行情接口或自行抽取的样本计算、重建涨幅榜。用户要求自己抽样算一个榜单时,应说明不完整样本不等于全市场涨幅榜,并改用该接口查询。 - 涉及热度、涨幅、资金流向、溢折率或短期表现时,应明确这类信息不代表未来收益。
- 行情接口选择按此顺序判断:问题要求"现在/实时/盘中"价格、精确行情时间(
date + timeStamp),或需要涨跌额、昨收(yesterdayClosePrice)、成交量(dealVolume)、IOPV(iopv)、溢折率(deviationRate)、完整盘口时,直接使用quote/etf(批量快照,单次最多 50 只,含精确行情时间)。否则已通过搜索、产品详情或实时涨幅榜获得随附lastPrice、changeRate(详情另含turnoverRate、iopvDiscount,搜索另含premiumRate、dealBalance)时,直接复用随附结果,禁止再调行情接口获取相同信息。 - 搜索、详情或榜单没有返回可用行情,或者用户需要批量盘口、当日分时分钟走势时,使用或补充行情接口:批量盘口用
quote/etf,当日分钟轨迹或增量刷新用quote/minite,日/周/月/分钟历史K线用quote/etf/kline。 - 接口明确返回"代码类型不匹配"(
availabilityStatus)时,不继续用 ETF 搜索、详情或行情等任何接口反复确认或试错;说明该代码不是 ETF,必要时转向对应的指数或场外基金查询。 date + timeStamp是行情数据时间,serverTime是服务器处理时间。非交易时段应表述为“接口返回的最新一笔行情”,不得把上一交易日行情称为当前实时行情。- 遇到无数据、代码类型不匹配或历史区间不足时,说明限制并给出可继续查询的方向。
调用效率与准确性
- 在保证准确性的前提下,使用完成回答所需的最少接口,多个代码优先批量查询。
etf/detail(最多 20 个)、etf/holdings、etf/return、etf/dividends(各最多 10 个)、etf/etf-scale(最多 20 个)、quote/etf(最多 50 个)等均为批量接口,代码上限以 catalog 为准。同一问题涉及多只 ETF 时,汇总所有代码一次性传入;超过上限时按上限分组,不逐只调用。- 示例:查询 510300、159915、512880 三只 ETF 详情时,应一次请求
{"fundCodes":["510300","159915","512880"]}。
- 已取得可用数据后,筛选、排序、计算和格式调整都基于已有结果完成,不因此重复调用接口。
- 如果同一响应需要多次提取、过滤、排序或格式转换,必须先用
--output将响应保存到本地文件,再对该文件执行jq/python3处理;禁止为相同请求再次调用api_client.py。 - 同一用户问题内的多次
api_client.py调用应使用相同的INDEX_HUB_TURN_ID,否则轮次缓存会失效;只修改输出格式或重试同一请求时不应更换TURN_ID。 - 示例:
python3 scripts/api_client.py --method POST --path /skill/v2/etf/detail \ --body '{"fundCodes":["510300"]}' --compact --output /tmp/etf_detail.json jq -r '.data[] | [.fundCode, .detail.extdSecuSht, .detail.fundScale] | @tsv' /tmp/etf_detail.json
- 如果同一响应需要多次提取、过滤、排序或格式转换,必须先用
- 只有请求失败、数据缺失、结果异常、时效不满足要求,或确实需要其他接口补充关键数据时,才重新或追加调用。
- 需要强制重新获取同一请求时,给
api_client.py增加--refresh;只修改输出格式时不刷新。
- 需要强制重新获取同一请求时,给
- 分页按实际需要查询,已经成功取得的页面不重复请求。
- 必要的补查和重试不算冗余;没有带来新数据或提高准确性的调用属于无效调用。
Accuracy Rules
- 不凭记忆填写基金名称、规模、费率、持仓、分红、收益或行情;必须来自真实查询结果。
- 数据必须来自
scripts/api_client.py的真实返回;任何绕过 api_client 的方式(自编 HTTP 客户端、直接 import 配置发请求等)获得的数据不得用于回答。 - 代码、字段、单位、日期、分页、批量上限和异常值处理,以
references/catalog-etf.md为唯一口径。 - 搜索、详情、榜单、持仓反查、盘口行情和分钟行情等能力的返回结构可能不同,使用前必须核对 catalog。
- catalog 中的路径一律按 JSON 路径理解,
$表示根节点;不要把路径文字误当成真实字段名。 - 如果按 catalog 路径取值失败,或出现字段缺失、
None、结构与示例不一致、列表异常为空等情况,必须先请求该接口并检查真实返回 JSON 结构,再决定使用哪一层路径;禁止跨接口套用data、data.list、data.data模板猜测。 - 金额、规模、收益率、持仓比例和日期必须按 catalog 口径换算和展示;行情还必须注明行情日期与时间。
- 不拼接不同时间点的价格、溢折率和成交数据;确需组合时分别注明数据时间。
- 当返回结果为空、状态异常、历史区间不足或字段缺失时,用自然语言说明限制,不补造数据。
- 分批查询时保持每个产品与结果一一对应;多只ETF比较时统一日期和指标口径。
Compliance And Boundaries
- 只提供信息查询、事实比较和风险提示,不提供个性化投资建议、收益承诺或交易指令。
- 用户询问选择、配置、是否购买等问题时,转化为客观维度比较和信息说明。
- 涉及短期热度、实时涨跌、资金流向、溢折率或市场主题时,提醒其不代表未来收益。
- 分红信息只作为历史事实展示;分红不代表额外收益。
- 若用户问题超出本 skill 能力范围,应说明限制,并在可行时引导到 ETF 或场外基金的可查信息。
Output Style
面向普通投资者,回答应简洁、稳健、可核对:
- 一句话结论或比较框架
- 关键数据表格或列表
- 数据口径与日期;涉及行情时注明行情时间
- 必要风险提示
每次回答必须注明查询数据的截止日期、行情时间或报告期。
最终回答末尾必须保留以下声明:
数据查询由易方达指数直通车提供,以上内容由 AI 总结生成,仅供参考,不构成投资建议、收益预测或任何交易决策依据。更多信息请在微信搜索“指数直通车”小程序,或访问易方达指数直通车网页版:www.etf.com.cn
Files
| 路径 | 用途 |
|---|---|
references/catalog-etf.md | ETF查询能力、字段口径、单位换算、行情时间和示例 |
scripts/api_client.py | 受控 API 调用工具 |
config.py | 本地数据服务配置 |
guardrails.py | 最终回答检查与标准声明处理 |
评论与讨论
还没有评论,分享你的体验吧。