指数直通车场外指数基金信息查询
场外指数基金(OEF)信息查询。场外基金通常通过基金公司、银行、券商理财平台或第三方基金销售平台申购赎回,按基金净值成交,以6位基金代码识别(如110020、006748)。 支持查询场外指数基金和ETF联接基金的基础信息、规模费率、风险等级、基金经理、持仓明细、历史分红、区间收益、跟踪误差,以及按关键词筛选和批量比较。 适用于用户没有股票账户、通过基金销售平台持有指数基金、关注定投、A/C份额差异、联接基金与底层ETF关系等场景。如果用户关注证券交易所上市交易的ETF,应使用 etf-fund-query。
SKILL.md
场外指数基金信息查询
把中文自然语言中的场外指数基金查询请求,转成真实数据查询,并以普通投资者能理解的方式返回事实信息和比较结果。
免责声明
本技能仅提供基金和指数相关数据查询服务;基于查询结果生成的归纳、比较和说明由 AI 自动生成,仅供参考,不构成投资建议、收益预测或任何交易决策依据。
产品说明
指数直通车 AI Skills 是易方达基金专为 AI 智能体打造的指数产品数据查询工具。它致力于搭建大模型与指数基金市场之间的信息桥梁,助力各类智能体实时调取准确、齐全的场内 ETF 与场外指数基金产品数据,全面覆盖指数基金检索、持仓分析、分红追踪等核心应用场景,显著提升指数投资的数据获取与分析效率。
场外基金按净值成交,不提供盘中行情;可通过基金详情中的关联ETF查询其场内行情作为参考(需明确标注数据来源是关联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 |
| 场外基金筛选 | 按指数、主题寻找场外基金候选,再比较规模、费率、份额类别 |
| 多基金比较 | 比较多只基金的规模、费率、收益、跟踪误差、分红 |
| 定投与购买说明 | 说明场外基金购买渠道、申购确认、A/C份额差异 |
| 持仓查询 | 查询场外基金前十大持仓,区分普通指数基金、增强基金和ETF联接基金 |
| 收益与分红 | 查询区间收益、今年以来收益、成立以来收益、历史分红 |
What This Skill Is Not
- 不提供买卖建议、收益承诺或替代投资顾问服务
- 不执行开户、申购、赎回、转换、定投设置或任何账户操作
- 不基于未经查询的数据作答;数据不可用、无权限或无匹配结果时,应明确说明限制
- 不覆盖场内ETF盘中交易场景;此类问题应转向
etf-fund-query
对象识别与路由
- 查询前先区分指数、ETF 和场外指数基金。三者都可能使用6位代码,不能只凭代码格式判断类型,应结合名称、用户用词和上下文识别。
- 指数是市场基准,回答的是指数点位、指数收益、成分股和估值等;ETF 和场外指数基金是跟踪指数的基金产品,基金的价格、净值、收益和持仓不能用指数数据代替。
- ETF 在交易所上市,使用盘中价格、成交额、IOPV 和溢折率等口径;场外指数基金按净值成交,没有盘中价格和盘口。
- 用户只说指数全称或简称,如“沪深300”“中证500”,且没有提到 ETF、基金或具体基金代码时,查询指数本身,不从相关基金中任意选择一只代替;仍有歧义时再请用户确认。
- 用户已明确对象类型时,直接使用对应的 skill。问题同时包含指数和基金时分别查询并清楚标注,不先把代码送入错误接口试探。
- 如果用户咨询到了某个当前缺失的场外指数基金指标,那么可以查询该基金跟踪的指数,然后用index-query技能查询对应指数的指标。回答时明确说明暂时缺失该基金的指标,但查到了跟踪指数的对应指标。
Execution Workflow
处理用户问题时,按以下步骤执行:
-
识别查询对象
- 识别6位基金代码、基金名称、跟踪指数、行业主题、份额类别或时间区间。
- 用户只给名称或主题时,先搜索候选基金,再基于返回结果继续查询详情。
-
选择查询能力
- 根据问题意图选择搜索、详情、持仓、收益或分红查询。
- 具体接口、字段路径、单位换算和日期口径以
references/catalog-oef.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
| 用户意图 | 查询方式 | 回答重点 |
|---|---|---|
| 场外基金筛选 | 先搜索候选,再查详情 | 跟踪指数、规模、总费率、份额类别、成立时间 |
| 定投或新手选择 | 搜索与详情查询,可补充收益 | 用客观维度说明比较框架,不替代个人投资建议 |
| 单只基金查询 | 详情查询,可补充收益、分红或持仓 | 名称、代码、指数、规模、费率、成立时间、业绩比较基准、基金经理 |
| A/C份额比较 | 批量详情查询 | 费率结构、销售服务费、持有期限相关的成本差异;详情返回 relatedShareFunds(相关份额基金数组),用于定位同基金的A/C等其他份额 |
| 联接基金关系 | 详情查询 | 关联ETF、跟踪指数、联接基金与ETF的交易方式差异 |
| 持仓查询 | 持仓查询,必要时先查详情 | 前十大持仓、持仓比例、产品类型和报告期 |
| 区间收益 | 收益查询 | 起止日期、收益率、历史收益不代表未来表现 |
| 历史分红 | 分红查询 | 分红日期、到账日期、每份分红、分红次数 |
| 关联ETF行情 | 先查场外基金详情获取关联ETF代码,再调ETF行情 | 场外基金无盘中行情,用关联ETF行情作为替代参考 |
| 购买流程说明 | 基础说明,可结合基金候选 | 常见销售渠道、申购确认、净值成交规则 |
Query Capabilities
| 能力 | 用途 |
|---|---|
关键词搜索场外基金(search/oef) | 按代码、名称、指数、主题关键词召回场外基金候选;响应随附单位净值、各周期涨跌幅、估值、费率、规模、跟踪误差(annTrackError1Y)、全周期最大回撤和基金经理等比较字段,筛选、排序、比较基于搜索结果在本地完成 |
批量场外基金详情(oef/detail) | 查询规模、费率(含销售服务费)、成立时间、业绩比较基准、基金经理、关联ETF、相关份额、全周期最大回撤等 |
批量场外基金持仓(oef/holdings) | 查询前十大持仓和报告期 |
批量区间收益(oef/return) | 查询预设周期或自定义区间收益 |
批量历史分红(oef/dividends) | 查询历史分红、到账日期和分红金额 |
季报财务指标(oef/financial-report) | 查询本期利润、公允价值变动损益、份额净收益、期末资产净值、经营现金流净额等季报指标 |
关联ETF盘口行情(quote/etf) | 查询场外基金对应ETF的最新价、涨跌幅、成交额、成交量、换手率、IOPV、溢折率、昨收和精确行情时间,单次最多 50 只 |
关联ETF分钟行情(quote/minite) | 查询场外基金对应ETF的日内分钟走势,随附最新盘口快照 |
按类型热搜推荐(discovery/hot-search-recommend) | 按产品类型查询热搜推荐列表,场外基金类型额外返回近一年涨跌幅 |
具体请求参数、响应路径、字段名、单位和异常值处理规则,必须以 references/catalog-oef.md 为准。
Query Rules
- 同一问题包含多个意图时,按“搜索/识别标的 → 详情 → 持仓/收益/分红 → 解释与风险提示”的顺序处理。
- 筛选、比较类需求先用
search/oef以关键词(代码、名称、指数、主题)召回候选;搜索响应已随附规模、净值、各周期涨跌幅、估值、年化跟踪误差等比较字段,筛选、排序和比较基于搜索结果在本地完成,不为每只候选重复请求详情。pageSize取大值一次取回候选,以totalNum为界,仅当前几页确实无匹配时才翻页,最多翻页 5 页,仍覆盖不全时在回答中说明筛选阈值、覆盖范围与排序口径,不得继续翻页扫库;多产品详情用批量接口一次传入全部代码,禁止逐个单查。 - 主题或指数查询应做必要的关键词扩展,例如沪深300可关联300,创业板可关联创业板指,中证500可关联500。
- 比较A/C份额时,应统一费用口径,并说明不同份额类别的费用结构可能随销售平台规则变化。
- 查询持仓前应区分普通指数基金、指数增强基金和ETF联接基金;联接基金的持仓结构可能与普通股票型持仓展示不同。
- 涉及热度、涨幅、近期表现或配置思路时,应明确历史数据不代表未来收益。
- 跟踪误差统一使用
annTrackError1Y(近1年年化跟踪误差,%)。 - 搜索结果已经包含问题所需的净值、净值日期、规模、固定周期收益、跟踪误差或销售服务费时,直接使用搜索结果;字段缺失或需要详情专属字段时再补查。
- 搜索筛选出多只产品后,如需补充详情、收益、持仓或分红,汇总入选代码后使用批量接口,不逐只重新搜索。
- 场外基金没有盘中成交价、实时成交额、换手率、IOPV或溢折率,也没有分钟走势。用户询问这些指标时,应先说明场外基金本身不存在这类数据;如用户实际想了解对应ETF的场内表现,可先通过
oef/detail或关键词搜索获取relatedETF中的ETF代码,再调用quote/etf或quote/minite查询关联ETF行情,并在回答中明确标注数据来源是关联ETF而非场外基金本身。不要把净值日涨跌当作实时行情。 serverTime是接口响应时间,不是基金净值更新时间;单位净值必须同时展示净值日期或发布日期。- 遇到无数据、代码类型不匹配或历史区间不足时,说明限制并给出可继续查询的方向。
调用效率与准确性
- 在保证准确性的前提下,使用完成回答所需的最少接口,多个代码优先批量查询。
oef/detail、oef/holdings、oef/return、oef/dividends(各最多 10 个)、oef/financial-report(最多 20 个)、quote/etf(最多 50 个)等均为批量接口,代码上限以 catalog 为准。同一问题涉及多只基金时,汇总所有代码一次性传入,避免逐只调用。- 示例:查询 006748、110020、000311 三只基金详情时,应一次请求
{"fundCodes":["006748","110020","000311"]},不要拆成三次单代码调用。
- 已取得可用数据后,筛选、排序、计算和格式调整都基于已有结果完成,不因此重复调用接口。
- 如果同一响应需要多次提取、过滤、排序或格式转换,必须先用
--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/oef/detail \ --body '{"fundCodes":["110020"]}' --compact --output /tmp/oef_detail.json jq -r '.data[] | [.fundCode, .detail.fundName, .detail.rptFundScale] | @tsv' /tmp/oef_detail.json
- 如果同一响应需要多次提取、过滤、排序或格式转换,必须先用
- 只有请求失败、数据缺失、结果异常、时效不满足要求,或确实需要其他接口补充关键数据时,才重新或追加调用。
- 需要强制重新获取同一请求时,给
api_client.py增加--refresh;只修改输出格式时不刷新。
- 需要强制重新获取同一请求时,给
- 分页按实际需要查询,已经成功取得的页面不重复请求。
- 必要的补查和重试不算冗余;没有带来新数据或提高准确性的调用属于无效调用。
Accuracy Rules
- 不凭记忆填写基金名称、规模、费率、持仓、分红、收益或关联ETF;必须来自真实查询结果。
- 数据必须来自
scripts/api_client.py的真实返回;任何绕过 api_client 的方式(自编 HTTP 客户端、直接 import 配置发请求等)获得的数据不得用于回答。 - 代码、字段、单位、日期、分页、批量上限和异常值处理,以
references/catalog-oef.md为唯一口径。 - 搜索、详情、持仓、收益和分红能力的返回结构可能不同,使用前必须核对 catalog。
- catalog 中的路径一律按 JSON 路径理解,
$表示根节点;不要把路径文字误当成真实字段名。 - 如果按 catalog 路径取值失败,或出现字段缺失、
None、结构与示例不一致、列表异常为空等情况,必须先请求该接口并检查真实返回 JSON 结构,再决定使用哪一层路径;禁止跨接口套用data、data.list、data.data模板猜测。 - 金额、规模、收益率、持仓比例、分红日期和到账日期必须按 catalog 口径换算和展示。
- 当返回结果为空、状态异常、历史区间不足或字段缺失时,用自然语言说明限制,不补造数据。
- 分批查询时保持每个产品与结果一一对应;多只基金比较时统一日期和指标口径。
Compliance And Boundaries
- 只提供信息查询、事实比较和风险提示,不提供个性化投资建议、收益承诺或交易指令。
- 用户询问选择、配置、定投或是否购买等问题时,转化为客观维度比较和信息说明。
- 涉及短期热度、涨幅、近期表现或市场主题时,提醒其不代表未来收益。
- 分红信息只作为历史事实展示;分红不代表额外收益。
- 若用户问题超出本 skill 能力范围,应说明限制,并在可行时引导到场外基金或ETF的可查信息。
Output Style
面向普通投资者,回答应简洁、稳健、可核对:
- 一句话结论或比较框架
- 关键数据表格或列表
- 数据口径与日期
- 必要风险提示
每次回答必须注明查询数据的截止日期或报告期。
最终回答末尾必须保留以下声明:
数据查询由易方达指数直通车提供,以上内容由 AI 总结生成,仅供参考,不构成投资建议、收益预测或任何交易决策依据。更多信息请在微信搜索“指数直通车”小程序,或访问易方达指数直通车网页版:www.etf.com.cn
Files
| 路径 | 用途 |
|---|---|
references/catalog-oef.md | 场外基金查询能力、字段口径、单位换算和示例 |
scripts/api_client.py | 受控 API 调用工具 |
config.py | 本地数据服务配置 |
guardrails.py | 最终回答检查与标准声明处理 |
评论与讨论
还没有评论,分享你的体验吧。