| name | 问小达选ETF |
| description | 通达信智能选ETF技能。使用tdx_screener获取数据,根据行情、跟踪指数基本面、规模、风格类型等条件筛选ETF。返回符合条件的相关ETF数据。当用户询问ETF筛选问题时,必须使用此技能。 |
问小达选ETF
目录
技能概述
本技能提供ETF智能筛选能力,通过自然语言查询支持多种筛选维度,帮助用户快速找到符合条件的ETF产品。
适用场景:
- ETF筛选(按涨跌幅、规模、跟踪指数等)
- ETF排行(涨幅前列、规模最大等)
- 多条件组合筛选
- 指数产品查找
- 风格类型筛选
核心功能
支持的筛选维度
| 维度 | 说明 | 示例查询 |
|---|
| 行情指标 | 按价格、涨跌幅、成交量、换手率等筛选 | 价格小于2元、涨幅超过3%、放量上涨 |
| 跟踪指数 | 按跟踪的指数筛选 | 沪深300ETF、中证500ETF、上证50ETF |
| 基本指标 | 按估值、费率、跟踪误差等筛选 | 市盈率低于15、费率低于0.5% |
| 规模指标 | 按资产规模、份额变化等筛选 | 规模大于10亿、份额增长 |
| 风格类型 | 按投资风格筛选 | 成长风格、价值风格、平衡风格 |
| 多条件组合 | 多个条件组合筛选 | 沪深300且涨幅超过3%且规模大于50亿 |
| 主题类型 | 按投资主题筛选 | 科技主题、医药主题、新能源主题 |
核心能力
- 自然语言理解:将用户的口语化查询转换为标准筛选条件
- 多维度筛选:支持行情、规模、风格等多维度组合
- 实时数据:基于通达信实时行情数据
- 智能改写:自动优化查询条件,提高查询成功率
- 指数匹配:支持指数名称模糊匹配和精确查询
数据来源与工具
主要数据源
- 通达信问小达 (tdx_screener):核心选ETF数据接口
- 通达信行情 (tdx_quotes):实时行情数据补充
- 通达信K线 (tdx_kline):趋势分析数据补充
- 资讯接口 (tdx_api_data(entry="tdxf10_gg_rdtc", fixedTag="sjcd")):相关资讯补充 [已切换为 F10 替代方案]
依赖工具清单
| 工具名称 | 用途 | 使用场景 |
|---|
| tdx_screener | ETF筛选查询 | 必须调用 |
| tdx_quotes | 获取实时行情 | 需要扩展数据时调用 |
| tdx_kline | 获取K线数据 | 趋势分析时调用 |
| tdx_api_data(entry="tdxf10_gg_rdtc", fixedTag="sjcd") | 获取相关资讯 | 需要资讯背景时调用 |
使用流程
流程图
用户输入 → Query改写 → 调用接口 → 数据扩展 → 格式化输出
详细步骤
步骤 1:接收用户查询
接收用户的自然语言ETF筛选请求,分析用户意图和筛选条件。
用户输入示例示例:
- "涨幅超过3%的ETF"
- "沪深300的ETF"
- "规模大于50亿的ETF"
- "帮我选一个科技主题的ETF"
- "价格便宜且流动性好的ETF"
步骤 2:Query 改写与标准化
将用户的口语化表达改写为标准的金融查询语句。
改写规则:
- 保留核心意图(指数、规模、风格等)
- 将口语转为标准术语
- 适当简化复杂条件
- 保持原意不变
标准化映射表:
| 用户输入 | 标准化 Query |
|---|
| 帮我选一个ETF | ETF有哪些 |
| 给我推荐个ETF | ETF有哪些 |
| 涨得好的ETF | 涨幅前10的ETF |
| 涨幅最大的前3个 | 涨幅前3的ETF |
| 规模大的ETF | 规模前10的ETF |
| 沪深300的基金 | 沪深300ETF |
| 沪深300涨幅前3 | 沪深300ETF按涨幅排名前3 |
⚠️ 关键:排序查询与条件查询的区别
| 类型 | 表达方式 | 示例 | 含义 |
|---|
| 排序查询 | 前N | "涨幅前3"、"规模前10" | 按指标排序,取最大的N个 |
| 条件查询 | 超过/小于/大于 | "涨幅超过3%"、"规模大于50亿" | 按阈值筛选,返回符合条件的所有结果 |
常见混淆场景:
- ❌ "涨幅超过3%" ≠ "涨幅前3"
- ✅ "涨幅超过3%" = 返回所有涨幅>3%的ETF
- ✅ "涨幅前3" = 返回涨幅最大的3只ETF
思维链拆解:
- 单次查询:如果用户问题可以直接用单个 query 回答,直接进入下一步
- 多次查询:如果用户问题涉及多个独立的问句,需要拆分为多个标准 query 分别调用接口
步骤 3:调用数据接口
使用 tdx_screener 工具查询ETF数据:
tdx_screener message="<标准化的Query>" rang="JJ"
分页支持:
- 默认返回第1页
- 每页最多10条记录
- 可通过
pageNo 和 pageSize 参数控制
步骤 4:数据扩展决策(可选)
根据数据完整性决定是否需要补充信息:
需要扩展背景信息的场景:
- 用户请求了深度分析
- 查询涉及趋势分析,需要K线数据
- 查询涉及市场热点,需要资讯补充
扩展方式:
- 调用
tdx_quotes 获取实时行情数据(价格、涨跌幅、成交额等)
- 调用
tdx_kline 获取K线数据(趋势、形态分析)
- 调用
tdx_api_data(entry="tdxf10_gg_rdtc", fixedTag="sjcd") 获取相关资讯
步骤 5:格式化输出
组织语言回答用户,确保结果清晰易懂。
输出格式要求:
- 使用表格展示ETF列表
- 说明数据来源(通达信问小达)
- 如果改写了问句,需说明最终使用的查询条件
- 如有扩展信息,提供简要分析
接口参数说明
tdx_screener 参数
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|
| message | string | 是 | 自然语言查询语句 | "涨幅超过3%的ETF" |
| rang | string | 否 | 市场范围,ETF查询使用"JJ" | "JJ" |
| pageNo | string | 否 | 页码,默认"1" | "2" |
| pageSize | string | 否 | 每页条数,默认"10" | "20" |
rang 参数可选值
| 值 | 说明 |
|---|
| JJ | 基金(包括ETF,默认) |
| AG | A股 |
| ZS | 指数 |
| ZG-JJJL | 基金经理 |
| GG-GP | 港股 |
返回数据格式
基础表格字段
| 字段 | 说明 | 数据类型 |
|---|
| 基金代码 | ETF的唯一标识代码 | string |
| 基金名称 | ETF的名称 | string |
| 基金价格 | 当前基金净值 | number |
| 涨跌幅 | 当日涨跌百分比 | string |
| 成交量 | 当日成交量(手) | number |
| 换手率 | 当日换手率百分比 | string |
| 市盈率 | 静态市盈率 | number |
| 规模 | 基金规模(亿元) | number |
| 份额 | 基金份额(亿份) | number |
| 跟踪指数 | 跟踪的标的指数 | string |
| 管理人 | 基金管理公司 | string |
| 费率 | 管理费率 | string |
输出示例
涨幅超过3%的ETF(数据来源于通达信问小达):
| 排名 | 代码 | 名称 | 价格 | 涨跌幅 | 规模(亿) | 跟踪指数 | 费率 |
|------|------|------|------|--------|----------|----------|--------|
| 1 | 510300 | 沪深300ETF | 4.125 | 3.56% | 1258.5 | 沪深300 | 0.5% |
| 2 | 159915 | 创业板ETF | 2.345 | 4.23% | 756.3 | 创业板指 | 0.6% |
| 3 | 512880 | 证券ETF | 1.234 | 3.89% | 423.6 | 证券公司指 | 0.5% |
查询结果:共找到 3 只符合条件的ETF
注意事项
重要提示
-
数据来源标注
- 所有引用通达信数据的地方,必须强调数据来源于通达信问小达
- 避免用户对数据来源产生混淆
-
数据有效性说明
- ETF数据为实时行情,可能存在延迟
- 基金规模和份额数据可能有更新周期
- 某些指标可能需要特定条件才能计算
-
查询限制
- 单次查询最多返回一定数量的结果
- 复杂条件可能需要分步骤查询
- 部分ETF可能暂停申赎或退市
-
分页说明
- 默认返回第一页(前10条)
- 如需更多结果,可请求翻页
- 建议先浏览第一页再决定是否继续
-
性能优化
- 避免过于复杂的查询条件
- 多条件组合时建议分步查询
- 避免频繁重复相同查询
-
ETF特性说明
- ETF可在交易所买卖,流动性关注成交量和换手率
- ETF净值与交易价格可能有微小差异
- 注意跟踪误差和费率对长期收益的影响
风险提示
-
筛选结果仅供参考
-
独立判断重要性
- 用户需根据自身情况独立判断
- 结合自身风险承受能力决策
-
投资风险提示
- ETF投资有风险,可能损失本金
- 历史表现不代表未来收益
-
分散投资建议
- 建议合理分散,避免单一持仓
- 控制单只ETF的持仓比例
-
费用影响
- 注意管理费率对长期收益的侵蚀
- 建议选择费率较低的ETF
-
跟踪误差
- ETF可能与标的指数存在跟踪误差
- 选择跟踪误差较小的ETF
错误处理
常见错误场景
| 错误类型 | 处理方式 | 用户提示 |
|---|
| API 调用失败 | 记录日志,显示错误信息 | 提示用户稍后重试 |
| 无数据返回 | 检查查询条件,逐步放宽 | 提示条件可能过于严格,建议放宽条件或访问通达信客户端 |
| 基金代码错误 | 验证代码格式和有效性 | 提示检查基金代码是否正确 |
| 网络超时 | 检查网络连接状态 | 提示检查网络连接,建议重试 |
| 条件过于复杂 | 拆分为多个简单条件 | 建议分步查询 |
| 参数错误 | 验证参数完整性和格式 | 提示用户检查查询条件是否清晰 |
重试策略
重试规则:
- 最大重试次数:2次
- 重试间隔:1秒
- 条件放宽策略:每次重试适当放宽筛选条件
- 降级方案:重试失败后引导用户使用通达信客户端查询
用户引导与降级方案
当无法获取数据或查询失败时,提示用户:
抱歉,未能获取到符合条件的ETF数据。建议:
1. 检查网络连接是否正常
2. 尝试放宽筛选条件
3. 访问通达信客户端进行查询
数据来源:通达信
客户端下载:https://www.tdx.com.cn/
使用示例
示例 1:涨跌幅筛选
用户输入:
涨幅超过3%的ETF
处理流程:
- 接收查询:"涨幅超过3%的ETF"
- Query 改写:无需改写(已是标准表达)
- 调用接口:
tdx_screener message="涨幅超过3%的ETF" rang="JJ"
- 格式化输出:展示ETF列表和涨幅排序
预期输出:
涨幅超过3%的ETF(数据来源于通达信问小达):
| 排名 | 代码 | 名称 | 价格 | 涨跌幅 | 规模(亿) | 跟踪指数 |
|------|------|------|------|--------|----------|----------|
| 1 | 510300 | 沪深300ETF | 4.125 | 3.56% | 1258.5 | 沪深300 |
| 2 | 159915 | 创业板ETF | 2.345 | 4.23% | 756.3 | 创业板指 |
...
示例 2:指数筛选
用户输入:
沪深300的ETF
处理流程:
- 接收查询:"沪深300的ETF"
- Query 改写:无需改写
- 调用接口:
tdx_screener message="沪深300的ETF" rang="JJ"
- 格式化输出:展示跟踪沪深300的ETF列表
示例 3:规模筛选
用户输入:
规模大于50亿的ETF
处理流程:
- 接收查询:"规模大于50亿的ETF"
- Query 改写:无需改写
- 调用接口:
tdx_screener message="规模大于50亿的ETF" rang="JJ"
- 格式化输出:展示大规模ETF
⚠️ 重要:排序查询与条件查询的区别
排序查询:
涨幅前3 = 涨幅排名前3的ETF(按涨幅排序,取最大的3个)
规模前10 = 规模排名前10的ETF
换手率前5 = 换手率排名前5的ETF
条件查询:
涨幅超过3% = 涨幅数值**超过3%**的所有ETF
规模大于50亿 = 规模数值大于50亿的ETF
换手率超过2% = 换手率数值**超过2%**的ETF
示例对比:
| 用户输入 | 含义 | 返回结果数量 |
|---|
| "涨幅前3的ETF" | 涨幅最大的前3名 | 3只 |
| "涨幅超过3%的ETF" | 涨幅大于3%的所有ETF | 可能很多只 |
提示:
- 排序查询用"前N",条件查询用"超过/小于/大于"
- 混淆会导致查询结果不符合预期
示例 4:多条件组合筛选
用户输入:
规模大于50亿且涨幅超过3%的沪深300ETF
处理流程:
- 接收查询:"规模大于50亿且涨幅超过3%的沪深300ETF"
- Query 改写:无需改写
- 调用接口:
tdx_screener message="规模大于50亿且涨幅超过3%的沪深300ETF" rang="JJ"
- 格式化输出:展示综合筛选结果
示例 5:主题筛选
用户输入:
科技主题的ETF
处理流程:
- 接收查询:"科技主题的ETF"
- Query 改写:无需改写
- 调用接口:
tdx_screener message="科技主题的ETF" rang="JJ"
- 格式化输出:展示科技主题ETF
示例 6:口语化查询改写
用户输入:
帮我选一个涨得好的科技ETF,规模不要太小
处理流程:
- 接收查询:"帮我选一个涨得好的科技ETF,规模不要太小"
- Query 改写:"涨幅超过3%且规模大于10亿的科技主题ETF"
- 调用接口:
tdx_screener message="涨幅超过3%且规模大于10亿的科技主题ETF" rang="JJ"
- 格式化输出:展示筛选结果,并说明使用的查询条件
示例 7:费率筛选
用户输入:
费率低于0.5%的ETF
处理流程:
- 接收查询:"费率低于0.5%的ETF"
- Query 改写:无需改写
- 调用接口:
tdx_screener message="费率低于0.5%的ETF" rang="JJ"
- 格式化输出:展示低费率ETF
筛选指标参考
行情指标
| 指标 | 说明 | 常见用法 |
|---|
| 基金价格 | 当前基金净值/交易价格 | 价格小于2元、价格在3-5元之间 |
| 涨跌幅 | 当日涨跌百分比 | 涨幅超过3%、跌幅小于2% |
| 成交量 | 当日成交量 | 成交量大、成交活跃 |
| 换手率 | 成交量/总份额 | 换手率超过3%、换手率低于1% |
| 成交额 | 当日成交金额 | 成交额超过1亿 |
基本面指标
| 指标 | 说明 | 常见用法 |
|---|
| 规模 | 基金资产规模 | 规模大于50亿、规模小于10亿 |
| 份额 | 基金总份额 | 份额增长、份额减少 |
| 费率 | 管理费率 | 费率低于0.5%、费率在0.3-0.8%之间 |
| 跟踪误差 | 与标的指数的偏离度 | 跟踪误差小于0.1% |
| 成立时间 | 基金成立时间 | 成立时间超过3年 |
跟踪指数
| 指数类型 | 说明 | 常见用法 |
|---|
| 宽基指数 | 覆盖市场整体 | 沪深300、中证500、上证50 |
| 行业指数 | 覆盖特定行业 | 科技指数、医药指数、金融指数 |
| 主题指数 | 覆盖特定主题 | 新能源指数、消费指数、AI指数 |
| 策略指数 | 特定策略指数 | 低波指数、红利指数 |
风格类型
| 风格 | 说明 | 常见用法 |
|---|
| 成长风格 | 侧重成长性投资 | 成长风格ETF |
| 价值风格 | 侧重价值投资 | 价值风格ETF |
| 平衡风格 | 成长与价值平衡 | 平衡风格ETF |
| 低波风格 | 侧重低波动性 | 低波动ETF |
主题类型
| 主题 | 说明 | 常见用法 |
|---|
| 科技主题 | 科技领域投资 | 科技主题ETF |
| 医药主题 | 医药领域投资 | 医药主题ETF |
| 新能源 | 新能源领域投资 | 新能源主题ETF |
| 消费主题 | 消费领域投资 | 消费主题ETF |
| 金融主题 | 金融领域投资 | 金融主题ETF |
技能调用约束
必须使用本技能的场景
当用户询问以下类型问题时,必须使用此技能:
-
ETF筛选相关
- "涨幅超过3%的ETF"
- "规模大于50亿的ETF"
- "帮我选个ETF"
- "ETF有哪些"
-
指数产品查找
- "沪深300ETF"
- "中证500ETF"
- "上证50ETF"
-
ETF排行相关
-
ETF类型筛选
- "科技主题ETF"
- "医药ETF"
- "债券ETF"
-
多条件组合筛选
- "规模大且涨幅好的ETF"
- "费率低且流动性好的ETF"
不适用场景
以下场景应使用其他相应技能:
| 用户问题 | 正确技能 |
|---|
| 股票筛选 | 【问小达选A股】 |
| 基金筛选 | 【问小达选基金】 |
| 基金经理筛选 | 【问小达选基金经理】 |
| 港股ETF | 【问小达选港股】 |
附录
相关技能
- 【问小达选A股】:A股股票筛选
- 【问小达选基金】:基金筛选和基金比较
- 【问小达选板块】:板块筛选和行业对比
- 【问小达选基金经理】:基金经理筛选
- 【问小达选港股】:港股筛选
常用查询模板
| 需求 | 推荐查询语句 |
|---|
| 寻找宽基ETF | 沪深300ETF或中证500ETF |
| 寻找热门ETF | 涨幅超过3%且换手率超过2%的ETF |
| 寻找低成本ETF | 费率低于0.5%且规模大于50亿的ETF |
| 寻找高流动性ETF | 换手率超过3%且成交额超过1亿的ETF |
| 寻找主题ETF | 科技主题ETF或新能源主题ETF |
ETF投资要点
- 费用敏感性:长期投资应关注费率,低费率ETF更优
- 跟踪误差:选择跟踪误差小的ETF,确保复制指数表现
- 流动性:关注成交量和换手率,确保买卖便利
- 规模效应:大规模ETF通常流动性更好,跟踪误差更小
- 持仓透明:ETF每日公布持仓,便于了解投资组合
最后更新:2026年4月22日
版本:2.0