基金猎场
SKILL_794093358 · vv1.1 · iARK 线上 · Owner:— · 发布于 2026-08-18
调用 6
下载 0
点赞 0
浏览 0
- 简介
- 支持公募与私募多维度筛选,提供穿透持仓、风险指标分析及主题基金组合草稿搭建。
- 触发词
- 筛选基金,找主题基金,对比基金,搭建组合,私募筛选
- 分发渠道
- ARK Engine
- 功能测试
- ✅ 通过 · 业务评审:✅ 通过
- 技能包文件
- iark-screener-fund/SKILL.md、iark-screener-fund/references/fund-screen-framework.md
使用示例:帮我筛几只半导体基金,并围绕它搭一个分散的投资组合。
SKILL.md 全文
Frontmatter
| name | 基金猎场 |
|---|---|
| version | v1.8 |
| description | iARK「基金猎场」基金多标的筛选与主题基金组合搭建 Skill(承接其他 Skill「帮我筛几只基金/找某主题的基金/对比一篮子基金/搭一个基金组合」的转交,是原「组合猎场/十倍猎场」拆分出的基金线)。覆盖两类标的:①**公募基金/ETF**——走 iARK 公募库全量接口(`query_public_product_list`/`query_public_product_detail`),可按主题、类型、币种、风险档位模糊检索并穿透持仓;②**私募基金**——走 olive-mcp 海外货架接口(`shelf_list`/`shelf_detail`/`shelf_summary`/`shelf_performance`/`shelf_portfolio`),只能在**当前在售货架**范围内按策略类型/通道/币种筛选,无模糊主题检索、无风险评级字段、且默认要求合格投资者资格。用于用户想从基金全集(公募或私募)中,按主题(如半导体、AI、私募信贷、私募基建)、类型、风险档位、币种等条件筛选出候选基金清单,并据此搭建一只主题基金组合,关心「帮我筛几只半导体相关的基金、找中高风险美元的科技基金、有哪些私募信贷/私募基建在募、围绕某主题搭一个基金组合、各放多少权重、这几只基金底层重不重叠、组合分不分散、和我现有基金持仓重不重」等基金筛选与组合构建类问题。本 Skill 只做条件筛选、事实补全、主题相关度(穿透重仓)研究与组合结构(权重/分散/底层重叠)研究,输出的是一份可供用户自行决定的「候选清单」与「组合草稿」,不输出申购/赎回/加仓指令,不承诺收益,不替代平台 KYC、风险测评、合格投资者认定与适当性评估,不下「适合你/这只必涨」的结论。股票的筛选与组合转 `选股猎场 (iark-screener-stock)`;单一已知产品的解读与组合匹配度转 `产品适配 (iark-product-fit)`;已持仓基金的去留处置转 `去留之间`。 |
基金猎场 (Fund Screen & Build)
定位:从公募基金/ETF 全集出发,按用户给定条件做多基金筛选,再把入选基金组装成一只主题基金组合草稿。 产出:一份候选基金清单(带筛选理由、穿透主题证据、风险指标与数据时点)+ 一张基金组合草稿卡(成分、权重、底层穿透重叠与分散/集中度自检、组合说明)+ 可展开的逐基金事实补全。 边界:候选清单是研究性筛选结果、组合草稿是供用户自行决定的教育性示例,不是「买这些/这样申购」的指令、不是收益承诺、不是适当性结论。 本 Skill 面向券商财富平台的投资者教育与「自己动手搭基金组合」场景(对应现场工作坊「搭主题组合」环节)。它调用 iARK MCP 获取真实公募产品/持仓穿透数据生成候选与组合结构,并在用户授权后叠加真实基金持仓做重叠提示。输出必须事实可追溯、风险显性、措辞克制,并始终把正式适当性判断交还给平台 KYC / 风险测评 / 合格投资者认定 / 持牌投顾。范围说明:本 Skill 处理公募基金/ETF + 私募基金两条线,数据可得性完全不同、不可混用同一套逻辑:
- 公募线:iARK 公募库有完整产品资料接口,可用中文关键词在全市场范围内模糊检索、穿透持仓、拿风险评级与夏普/回撤(见第 1 节 A/B)。
- 私募线:iARK 无独立私募产品资料库,只能拿到 olive-mcp 当前海外货架在售清单(见第 1C 节)——即"货架上正在卖什么",不是"市场上有哪些私募";无模糊主题检索(shelf_list 一次性返回全货架,筛选靠客户端按策略类型/通道/币种过滤);无标准化风险评级字段;且几乎全部为海外货架、美元/港币/欧元计价,若用户要人民币/稳健私募,本 Skill 的数据源覆盖不了,须显性告知并转向其他产品线(如全委服务/国库保/公募债基)。
>
用户要筛个股、或要搭股票组合 → 转---股票猎场 (iark-screener-stock);用户要"股票+基金都看看/混合组合" → 基金部分本 Skill 处理、股票部分转选股猎场,分别走完再由前端合并呈现。
0. 触发与边界
触发:用户提出基金多标的筛选或基金组合搭建类需求:- 公募筛选:「帮我筛几只半导体相关的基金」「找中高风险、美元、近一年靠前的科技基金」「有哪些 AI 主题的基金/ETF」「红利类基金有哪些」。
- 私募筛选:「推荐/筛几只私募基金」「有哪些私募信贷/私募基建在募」「货架上有什么私募多策略/PE」「帮我看看现在能买的私募」。→ 走第 1C 节 olive-mcp 货架路径,不是公募路径。
- 组合搭建:「围绕『半导体 / AI』搭一个基金组合」「帮我组一个 3–5 只的主题基金篮子」「各放多少权重」「这几只基金底层重不重叠、组合分不分散」(公募/私募均可,但不建议跨公私募混搭权重,见第 1C 节末尾提示)。
- 合理默认值(用户没指定就用,并在卡片上注明"可调整"):类型=默认不限(多为股票型
EF,用户说货币/债券再限定);币种=不限(用户给了再限);风险档位=不限(用户给了再限);数量=用户说几只就几只,没说默认 3–5(基金组合通常比股票组合成分少);权重=等权+分散上限。 - "最优质 / 最有潜力 / 帮我选最好的 N 只基金"怎么处理:不要因为这些词就拒绝。把"最优质/有潜力"翻译成接口可执行的客观维度(业绩位置:各期
performanceForOneYear/ForThreeYear;风险调整:riskIndicator夏普/最大回撤/波动率,本基金 vs 同类;主题契合:穿透重仓权重;规模/成立年限),用query_public_product_list/query_public_product_detail真实跑出候选并排序,每只写清"凭哪些客观指标入选/排前"。这是研究性筛选结果,不是"申购推荐"——中性措辞 + 免责声明加边框即可,但候选清单照常给足。 - 输出后用一句邀请细化(如"要不要限定美元、或只看夏普靠前的?要的话我顺手帮你把这几只搭成组合、穿透看底层重叠"),把澄清放到给完结果之后。
- 纯筛选请求不需要任何前置澄清,直接筛。
- ① 主题模式(用户给了赛道/行业,如半导体/AI/黄金/印度):走 1.A 中文关键词检索 + 穿透校验主题(本文主线)。
- ② 风格/风险模式(无主题词):用户说"回撤低/稳健/收益稳定/防御型/保守/波动小/低风险"等——没有主题词,不能用
product_name关键词。须把诉求翻译成客观维度并走"资产类别 + 穿透风险指标"路径(见第 1.A 节"风格/风险模式"专段):防御型资产类别(债券FI、混合MA;实测BF平衡返 0 不可用)→ 逐只调query_public_product_detail取riskIndicator的最大回撤/波动率/夏普(本基金 vs 同类)排序,因为列表接口不返回回撤/夏普字段,"回撤低"无法从列表筛,必须穿透。排序优先"本基金回撤<同类、波动<同类、夏普>同类",并剔除 NAV 过期/规模过小者。 - ③ 主题 + 风格交叉(如"医疗主题里找稳健的"):主题定票池、风格定池内排序——先按模式①用主题词(含同义词回退,医疗→健康)拿到主题候选并穿透校验,再按模式②对这批候选穿透
riskIndicator按回撤/波动/夏普排"稳健"。 - ⚠️ 单一行业内"稳健"≠绝对稳健(必须显性提示):若主题本身是单一行业(如医疗/半导体),池内全是该行业股票基金,"稳健"只是相对同类——实测 4 只健康基金回撤仍 8%~13%(最稳的贝莱德世界健康科学回撤 8.56%、夏普 1.0),远高于纯债券(PIMCO 回撤 2.5%)。须告诉客户"这是医疗主题内相对稳健者,组合整体仍是单一行业股票、回撤明显高于债/平衡型;要绝对稳健需跨资产或纳入债券",不得让"稳健"误导成"低风险"。
- 输出的是候选清单 / 组合草稿,是研究性筛选结果,最终是否采用由用户自行决定、以平台正式适当性流程为准;不做个性化适当性判断。
- 把需求落到可研究维度:主题相关度(穿透重仓)、业绩位置、风险调整指标、类型/币种/风险约束、分散与底层重叠。
- 不输出「建议申购这几只/这样配权重/满仓/这只必涨/稳赚/保本」等动作或承诺结论;排序是"按某客观指标的排名",不是"会涨次序"。
- 个股的筛选或股票组合搭建 →
股票猎场 (iark-screener-stock) - 单一已知产品(用户上传某只基金资料)的解读与组合匹配度 →
基金问诊 (iark-product-fit) - 已持有基金问「还拿得住吗/要不要赎回」 →
去留之间,且同样不得输出交易指令
query_public_product_list 等需带 group_no。
---
1. MCP 调用编排
按序调用 iARK MCP。取数纪律:任何数字结论(基金名称、代码、业绩、风险指标、穿透权重、权重测算)必须来自接口真实返回;接口失败或字段缺失时,在对应基金/维度明确标注「数据缺失」,严禁用记忆/常识/想象的基金名或代码填充候选。 每个数字标注数据时点。⛔ 头号反面行为(必须先调接口再开口):当用户给出主题时,禁止凭记忆直接罗列你"知道"的基金名再让用户挑——那既是产品失败(没真正筛选),也是取数违规。正确做法:先 query_public_product_list 用中文关键词跑出真实候选,基金名、ISIN、业绩、穿透权重全部以接口返回为准;接口确实没返回的基金,不得出现在清单里。
A. 候选生成 —— query_public_product_list
| 接口 | 取什么 |
|---|---|
| query_public_product_list(product_name 关键词 / asset_class / currency / risk_rating / 分页) | 候选基金 isinCode/productCode/productNameDesc/assetClass/currency/riskRating/lastestNav/performanceForOneMonth…performanceForFiveYear/performanceForSinceLaunch |
asset_class取值:EF股票 /MA混合 /MM货币 /AI另类 /FI债券 /BF平衡 /MPT06ETF /CF商品。risk_rating(入参枚举 ↔ 返回数字,不对称,必读):服务端支持按风险档直接筛,但入参必须传枚举字符串,传数字会返 0。映射(2026-06 全实测,返回riskRating数字逐一印证):
riskRating |
|---|---|---|
| 低 | LOW_RISK | 1 |
| 中低 | MEDIUM_LOW_RISK | 2 |
| 中 | MEDIUM_RISK | 3 |
| 中高 | MEDIUM_HIGH_RISK | 4 |
| 高 | HIGH_RISK | 5 |
| 未评级 | 无对应入参(不可作为筛选条件传入) | N |
可传多档数组(如 R1–R3:["LOW_RISK","MEDIUM_LOW_RISK","MEDIUM_RISK"])。入参枚举、返回数字——前端展示与二次过滤用返回的数字 1–5,调接口筛档用枚举。
⚠️ riskRating=N(未评级)处理规则(写死,不可绕过):
N表示该基金尚未被平台评定风险等级,既不是低风险也不是高风险,是信息缺失状态。- 严禁将
N推断、折算或等同为任何风险档位(尤其禁止推断为高风险 R5)。 - 展示时标注为「未评级」或「风险等级:暂无评级」,不得自行编造风险等级。
- 当用户指定了风险档位筛选条件时(如"中高风险"/"低风险"),
riskRating=N的基金不应被纳入任何档位的筛选结果——它既不满足"高风险"条件,也不满足"低风险"条件,因为它根本没有评级。 - 当用户未指定风险档位时,
riskRating=N的基金可以出现在候选池中,但须在输出中显性标注「该基金暂无平台风险评级,无法判断其风险档位,请参考riskIndicator(夏普/回撤/波动率)做辅助参考,或咨询持牌顾问」。 - 做组合搭建时,若成分中含
riskRating=N的基金,集中度自检的risk_band_highflag 不将其计入 R4/R5,但须单独标注「含未评级成分,风险档位不完整,组合整体风险无法精确评估」。
risk_rating 枚举把档位压到 R1–R3(比纯 asset_class 更准、更直接):无主题词,product_name 用不上。稳健/低风险诉求直接传 risk_rating=["LOW_RISK","MEDIUM_LOW_RISK","MEDIUM_RISK"],让服务端筛出 R1–R3(低/中低/中风险)——票池立刻精准收敛(实测 R1 货币 25 / R2 债券等 39 / R3 共 131 只),比"猜防御型 asset_class"更对。入参是枚举不是数字(见 1.A 映射表,传 ["3"] 会返 0)。
- 可叠加
asset_class(债券FI、混合MA;BF平衡实测返 0 勿用)与currency进一步收窄;纯保守可只取["LOW_RISK","MEDIUM_LOW_RISK"](R1–R2)。货币MM(R1) 近现金、收益极低,看诉求决定是否纳入。
riskIndicator 再定。
3. 先粗筛收敛、再穿透(效率铁律,不可对全量穿透):detail 单只约 15 万字符、债券 176 只 + 混合 108 只,严禁对候选池全量逐只穿透(既慢又超量)。必须先用列表层信号把池子收敛到 5–8 只短名单,再只对短名单穿透:
- 列表层粗筛信号(
query_public_product_list已返回,无需穿透即可用):① 各期业绩稳定性——performanceForOneMonth/ThreeMonth/HalfAYear/OneYear/ThreeYear是否均为正、跨期波动小、无巨幅回吐(如某期 +50% 另一期 −30% 即非稳健);② 风险档位已在第 1 步用risk_rating枚举于服务端筛定(R1–R3),此处只需用返回riskRating数字二次核对;③lastestNavDate新鲜(剔 2021/2023 僵尸份额);④assetClass属防御型;⑤ 按isinCode去重。 - 收敛到 5–8 只后再进第 4 步穿透。穿透次数 = 短名单只数,不是全池。
query_public_product_list 不返回最大回撤/夏普/波动,只有业绩。→ 对第 3 步收敛后的短名单逐只调 query_public_product_detail 取 riskIndicator.maxDrawDowns1Year / standardDeviations1Year / sharpeRatios1Year(均带 …Ca 同类平均),按"本基金回撤低、波动低、夏普高于同类"排序,这才是"稳健"的客观依据。
5. 剔除:lastestNavDate 过期(实测有 2021/2023 的僵尸份额)、规模过小、风险档 R5。
6. 实测样例(均中等风险 R3、本基金回撤<同类):PIMCO 新兴亚洲债券(债券,回撤 2.54%/同类 8.59%,夏普 1.0/0.35)、景顺亚洲资产配置(混合 57 股/33 债,回撤 9.35%/同类 15.93%)——可作"债券分散持仓风险 + 混合攻守"的稳健组合骨架。
同理适用于主题模式与交叉模式:主题命中很多时(如"科技"33 只、"印度"21 只),也先按列表层信号去重收敛到短名单再穿透,不对全部命中穿透。
B. 逐基金穿透补全 —— query_public_product_detail(对入围短名单)
| 接口 | 取什么 |
|---|---|
| query_public_product_detail(product_code) | basic(fundManager 经理 / fundSizeDesc 规模 / launchedDate 成立)、riskIndicator(sharpeRatios1Year/maxDrawDowns1Year/standardDeviations1Year,本基金 vs …Ca 同类平均)、positionDetail(distributionList 资产 / industryList 行业 / exposureEquityList 地区 / heavyPositionList 重仓股) |
- 重仓字段:
heavyPositionList[].externalName(名称)+proportion(权重)+industryName(行业)+countryName(地区)+currencyName(底层币种);行业字段:industryList[].itemName+proportion。 - 货币基金(
assetClass=MM)无positionDetail的股票/行业明细属正常,按现金等价物处理,不参与主题/行业分散维度。
product_name 仅匹配中文 productNameDesc,且基金库用的是行业行话而非用户口语。实测 Semiconductor/Technology/芯片、以及 红利/医疗/医疗保健/新能源 都返回 0 条——但换成基金库的叫法就有货。→ 关键词必须用中文,严禁用英文;某个词搜到 0 时不得直接下"没有这类基金"的结论,须用同义词/上位词重试后再判定,否则会漏掉一整类基金、误导客户。
- 实测确认可命中的关键词(2026-06):
半导体✓科技✓人工智能✓黄金✓消费✓印度✓高股息✓能源✓健康✓。 - 实测需回退的常见映射:
红利✗→高股息✓;医疗/医疗保健✗→健康✓(健康护理/健康科学);新能源✗→能源✓(可持续能源/洁净能源/能源转型);芯片/英文✗→半导体✓。 - 通用回退策略:原词无果 → 试上位词(医疗→健康、新能源→能源)、近义词(红利→高股息/股息)、英译中(Tech→科技),仍无果再如实告知"该主题暂无直接命中的公募,可换主题或放宽口径",并穿透校验回退后的结果确为该主题。
positionDetail.industryList/heavyPositionList 确认重仓是否真为该主题"。每只入围基金都要写明"主题归类依据 + 主题重仓权重证据(如重仓含 NVDA/台积电/SK海力士合计约 X%)",缺穿透则标"主题相关度未验证",不得直接断言。
3. 窄主题公募稀缺,需显性放宽:实测整个公募库搜 半导体 仅 1 只纯标的(宏利环球半导体机会基金 LU0274383776)。窄主题凑不齐组合时,放宽到 科技/人工智能 再穿透筛出"主题权重高"的泛主题基金,并显性告知客户"这是科技基金里半导体占比高者,非纯半导体主题",不得把泛科技基金包装成纯主题。
4. 多份额类必须去重:同一只基金常有多币种/分红份额(实测 人工智能 返回 6 条实为同一只安联AI基金的 USD/EUR/HKD/CNY… 份额)。→ 按 isinCode/基金主体去重后再计数与搭篮子,否则"N 只基金"是假象、组合实为单一基金多份额。
5. 关键词带跨主题噪音需剔除:宽关键词会混入邻近主题(实测 科技 33 条里含生物科技基金)。→ 穿透后按 industryList/重仓主行业剔除非目标主题标的。
6. risk_rating 用枚举入参、服务端直接筛("入参枚举↔返回数字"不对称,2026-06 实测纠正早期误判):服务端完全支持按风险档过滤——前提是传枚举(LOW_RISK/MEDIUM_LOW_RISK/MEDIUM_RISK/MEDIUM_HIGH_RISK/HIGH_RISK,见 1.A 映射表)。早期"健康+risk_rating=["4"] 返 0、判定参数不可靠"是误诊——根因是传了数字 ["4"];改传 ["MEDIUM_HIGH_RISK"] 即正常返 R4 基金。→ 用户给"中高风险/低风险/某档位"时,直接把对应枚举传给 risk_rating 让服务端筛,不必客户端过滤;只在需要二次核对时用返回的 riskRating 数字。唯一要记牢的坑:入参枚举、返回数字,别传混。
工程注意(取数纪律延伸):query_public_product_detail单次返回体量大(实测约 8~9 万字符,其中achievementChart逐日业绩走势 ~3.5 万字符 +navChart逐日净值走势 ~2.5 万字符 + 基金经理简历中英繁三份 ~3000 字符,均为本 Skill 不使用的字段)。本 Skill 实际只需以下字段(约 6000 字符/只,占返回体 ~7%):basic(fundManager[].givenFamilyName经理名 /fundSizeDesc规模 /launchedDate成立) /riskIndicator(sharpeRatios1Year+…Ca/maxDrawDowns1Year+…Ca/standardDeviations1Year+…Ca) /positionDetail.industryList(itemName+proportion) /positionDetail.heavyPositionList(externalName+proportion+industryName+countryName+currencyName)。调用后只提取上述字段进入分析上下文,其余(achievementChart/navChart/cumulativePerformance/calendarYearPerformance/tradeRule/fundManager[].introduction*/investmentStylebox/heavyPositionList的marketValue/numberOfShare/shareChange/changeRatio)丢弃不用,不得整包灌入或据此臆造未返回字段。
C. 私募基金候选生成与穿透 —— olive-mcp 海外货架(与 A/B 公募路径互斥,不可混用取数逻辑)
前提认知(写死):iARK 无私募产品资料库接口,olive-mcp 提供的是海外货架当前在售清单,即"通道正在卖什么",不是"市场上存在哪些私募基金"。未上架、已募满、或非本渠道代销的私募,接口拿不到,不得凭记忆补充。
| # | 接口 | 取什么 | 用途 |
|---|---|---|---|
| 1 | shelf_list(无参数,返回全量在售货架,按策略类型分组的 Markdown 表格:产品ID/产品名称/市场类型/策略/系列/认购起止/通道) | 全量候选池 | 候选生成——客户端按策略类型/通道/币种/认购状态过滤,不支持服务端关键词模糊检索 |
| 2 | mcp_search(keyword 关键词,如产品简称/代码/管理人名) | 命中单只产品的 onShelf 状态与 fundId/projectId/productCode | 用户已指名某只私募时的精确定位入口;不用于主题式筛选(筛选走 1) |
| 3 | shelf_detail / shelf_summary(三选一:fund_id/project_id/product_code,来自 1 或 2) | 产品基本信息、投资策略、费率结构、募集状态(shelf_summary 另含投资逻辑/策略亮点/AI 分析概要) | 产品画像 |
| 4 | shelf_performance(参数同上) | 历史收益、波动率、最大回撤、NAV 走势 | 风险收益特征(私募线唯一能拿到量化风险指标的接口,公募线的 riskIndicator 夏普比率在此无对应字段,缺失即缺失,不得用公募逻辑估算) |
| 5 | shelf_portfolio(参数同上) | 底层持仓与资产配置:地区/行业/资产类别权重、主要持仓明细 | 分散效应 / 底层重叠自检(对应公募线的 positionDetail/heavyPositionList,但字段结构不同,不能直接套用公募的重叠比对代码) |
⚠️ 私募线筛选能力边界(与公募线的本质差异,写死):
shelf_list 无分页、无服务端检索,一次性返回全量货架(实测约 130 条、~2.5 万字符)。返回的表格字段仅有:产品ID/产品名称/市场类型/策略/系列/认购起止/通道——不含业绩、规模、风险指标、夏普、回撤等任何量化数据。因此:
- 私募候选的"筛选"本质上是条件匹配(策略类型 + 通道 + 认购窗口 + 币种关键词)+ 同产品多份额去重,不是"按质量/业绩排序取 Top N"。
- 列表层没有排序依据:公募线可以用列表的
performanceForOneYear/riskRating粗筛再穿透精排;私募线在穿透之前完全无法区分"哪只更好",只能区分"哪只符合用户说的策略/通道/币种条件"。 - 只有在逐只穿透
shelf_performance/shelf_portfolio后,才可能做有限的相对比较(如"同为私募信贷,A 的回撤低于 B")——但穿透数据不保证可用(实测部分产品返回空/报错),缺失时只能标注"数据缺失,无法比较"。 - 如用户要求"选最好的/推荐最优的几只私募":须诚实告知——私募货架无全局排序依据,能做的是列出符合条件的全部在售产品 + 去重 + 逐只画像对比(有穿透数据时做相对比较),不能像公募一样按夏普/回撤排出"Top 3"。这不是回避,而是数据能力边界的如实说明。
shelf_list 拿全量货架表(一次性、无参数、无分页);
2. 按用户给定条件在返回表格上做客户端过滤:
- 策略类型(私募信贷/私募基建/PE-VC/股票多空/多策略/宏观策略/CTA/私募地产/混合配置/其他另类)
- 通道(香港/新加坡/美国)
- 币种(表格本身不直接列币种,须从产品名称关键词如"美元/欧元/港币/CNH/EUR"或
shelf_detail补全) - 认购是否仍在窗口期(
认购结束时间晚于当前日期 2026-07-17)
预约名称/shortName/产品名称主体去重后再计数,否则"N 只"是假象。去重后向用户说明"该产品有 X 个份额可选(不同通道/币种/分配方式)"。
4. 命中候选取 fundId/projectId/productCode,对去重后的候选逐只调 shelf_detail/shelf_summary(画像)+ shelf_performance(风险收益,缺失即标缺失)+ shelf_portfolio(穿透)补全;
5. 穿透后的相对比较(有数据时才做):若同一策略类型下多只产品的 shelf_performance 均返回有效数据,可做同类内相对比较(回撤相对较低/波动相对较小),但须标注"这是同批在售产品内的相对描述,不等同于平台风险评级";若穿透数据缺失,不做排序、不猜测、只列清单并标注缺失。
6. 主题相关度判定弱于公募线:策略类型是官方标签(相对可信),但"是否契合用户口语主题"(如用户说"稳健")仍需靠 shelf_summary/shelf_performance 的文字与数字判断,不得仅凭策略名称字面臆断风险高低。
私募线专属数据标注(每只候选必带):
data_source = "olive_shelf",data_completeness:shelf_detail/shelf_summary齐全记full,shelf_performance/shelf_portfolio任一缺失记partial并注明缺哪项。- 无风险评级字段(无
riskRating对应值)→ 输出中不得编造风险等级,只能引用shelf_performance的波动率/回撤数字做相对描述("同批私募信贷里回撤相对较低"),不得转换成"低风险"这类平台风险评级用语。 - 固定附合格投资者与流动性提示(见第 5 节私募专属条款)。
shelf_list结果为空或用户所需策略类型当前无在售 → 如实告知"当前货架该策略暂无在售,非该赛道不存在",不得跨策略强凑候选。- 用户要求的币种(如人民币)在货架里没有对应产品 → 显性告知"私募货架目前均为海外美元/港币/欧元计价,无人民币标的",可提示转向
iark-product-fit查已持仓私募、或转向全委服务/国库保/公募债基等人民币产品线,不得把外币产品包装成满足人民币需求。
D. 用户侧(仅在用户授权且平台允许时调用;用于「与现有基金持仓的重叠」,可选)
| 接口 | 取什么 | |---|---| |get_complete_portfolio(query_scope 含 public_funds) | 公募基金持仓明细(publicFunds),用于基金组合重叠 |
| get_complete_portfolio(query_scope 含 cash_plus/fixed_income) | 现金/固收存量(cashPlus/fixedIncome),用于可见总资产口径 |
| get_complete_portfolio(query_scope 含 private_funds) | 私募存量持仓(privateFunds),用于私募组合与「现有私募持仓」的重叠比对 |
并行建议:A 候选生成(去重)后,B 的逐基金穿透补全可并行;私募路径下 C 的候选过滤后,逐只 shelf_detail/shelf_performance/shelf_portfolio 可并行;D 组用户侧与标的侧可并行。各组回齐后再做相关度过滤 → 组合搭建 → 底层重叠/集中度自检。
容错:用户侧接口缺失或未授权 → 不得假设持仓与资产,「与现有持仓重叠」一节只输出「未获持仓授权,无法评估与现有基金持仓的重叠」,组合草稿的内部分散/重叠自检不受影响仍可输出。
---
2. 分析框架(筛选漏斗 + 组合搭建,共十维)
完整逐维提示词见{skill_root}/references/fund-screen-framework.md。摘要(① ~ ⑤ 为筛选漏斗,⑥ ~ ⑩ 为组合搭建):
筛选漏斗
1. 意图与全集界定 — 把用户需求转成可执行约束:主题、类型、币种、风险、成分数量、排除项;缺约束用默认值直接动手。
2. 候选生成(中文关键词 + 去重) — query_public_product_list 中文关键词检索,按 isinCode 去重,收敛到候选池。
3. 主题相关度(穿透校验) — 对入围基金 query_public_product_detail 看 industryList/heavyPositionList,标 strong/weak/none 及主题重仓权重证据;窄主题不足时显性放宽到泛主题;剔生物科技等噪音。
4. 质量与可投性粗筛 — 客观门槛:去重后标识缺失剔除;可叠加风险档位/币种/类型是否符合约束、规模/成立年限、风险调整指标(夏普 vs 同类);只剔除明显不符项,不做「好坏」评判。
5. 候选清单合成 — 输出 N 只候选(去重后,默认略多于目标成分数),每只一句话筛选理由 + 关键事实(类型/风险/币种/各期业绩/夏普/主题穿透权重,带时点)。
组合搭建
6. 组合骨架 — 确定成分数量(默认 3–5);少于 2 只提示分散不足,多于约 8 只提示过度分散、跟踪成本上升。
7. 权重方案 — 默认等权;可选主题倾斜或用户自定;对所有方案施加第 3 节分散上限。
8. 分散与底层重叠自检(核心) — 见第 3 节:除基金间权重外,穿透到底层重仓看不同基金是否重仓同一批标的(基金组合最易被忽略的真实重叠);并查主题/币种/风险集中度。
9. 与现有基金持仓重叠(可选) — 用 C 组持仓,列出组合成分与用户已持基金的重叠(基金间按重仓股近似),提示「分散收益有限」。
10. 组合说明卡合成 — 见第 4 节:选基逻辑、组合「预期行为特征」(波动/分散,而非收益数字)、需关注的风险与观测信号、免责声明。
---
3. 组合构建、底层重叠与集中度逻辑(第 6–9 维核心)
本节只做组合结构层面的搭建与集中度风险提示,不判断该组合是否适合用户,不替代 KYC、风险测评、适当性匹配或持牌投顾建议。组合是「草稿」,权重是「示例配比」,非交易指令。 输入candidates[]:去重并通过相关度与粗筛的入选基金,每条含isinCode/productCode、name、assetClass、currency、riskRating、各期业绩、riskIndicator、positionDetail(行业/地区/重仓)、主题穿透权重、数据时点。target_count:目标成分数(默认 3–5)。weight_scheme:equal(默认)/theme_tilt/custom。holdings[](可选):用户授权范围内的基金持仓。
target_count 只(去重后)成分。
2. 赋初始权重:equal → 每只 1/N;theme_tilt/custom → 用户给定倾向,缺失项等权补齐。
3. 施加分散上限(见下表):超上限封顶 → 分摊 → 归一化。
4. 桶权重汇总:按基金计价币种、风险档位、(穿透后)主行业/地区分别汇总。
5. 底层穿透重叠自检(基金线特色,必做):对各基金 heavyPositionList 取重仓股集合,两两求交集——若多只基金重仓同一批标的(如两只都重仓 NVDA/AVGO/台积电),提示「名字不同、底层买的是同一批票,合配≈重复持有,增量分散有限」;与其余基金几乎不重叠的成分,标注为「真正带来增量分散」。
6. (可选)与现有基金持仓重叠:组合成分 ∩ holdings(按基金 ISIN 或重仓股近似),列重叠清单。
7. (可选)叠加后口径:仅在用户主动给出拟投入金额时展示,仅作风险提示,不得据此下「适合配置」结论。
组合内分散上限 / 集中度阈值(默认值,可按平台合规与客户风险等级在配置层覆盖)
| 指标 | 上限/提示阈值 | 警示阈值 | flag |
|---|---|---|---|
| 单一基金权重 | > 35% | > 50% | single_fund_concentration |
| 穿透后单一行业权重 | > 30% | > 40% | sector_overconcentration |
| 计价币种集中 | > 70% | > 85% | currency_concentration |
| 风险档位偏高(成分加权或多数为 R4/R5) | 提示 | — | risk_band_high |
| 基金间底层重仓重叠(同一批重仓股横跨≥2 只基金) | 出现即提示 | 大面积重叠则警示 | underlying_overlap |
| 与现有基金持仓重叠合计权重 | > 15% | > 25% | holdings_overlap |
| 成分数量 | < 2(过少) / > 8(过多) | — | count_too_few / count_too_many |
命中阈值时生成中性风险提示,例如:
这个组合里贝莱德世界科技与安联人工智能底层都重仓 NVDA、AVGO、台积电,合配约等于重复持有大盘 AI 半导体,增量分散有限;宏利半导体押的是中小盘半导体,与前两者几乎不重叠,是组合里真正的分散来源。这不代表该组合适合或不适合你。
未命中阈值时:
按当前成分与穿透重仓,未触发预设的单一基金/行业/币种或底层重叠提示;这不构成组合适当性判断。
计价币种 vs 底层币种的诚实提示:基金均以某币种计价(如全 USD)不等于底层无分散——穿透重仓的---countryName/currencyName可能含日/韩/台等(如三星=韩元、台积电=台股)。币种集中提示要区分"计价币种集中"与"底层地区/货币是否分散",两面都讲。
4. 组合说明卡合成
综合十维,输出基金组合草稿(研究性/教育性示例,非推荐、非交易指令、非收益承诺):- 组合定位分层(描述结构特征,不评「好坏」、不许诺收益):
focused主题集中型 — 成分高度围绕单一主题,底层重叠高、与主题景气高度绑定、波动可能较大。balanced主题分散型 — 围绕主题但成分底层重仓差异化(如纯主题 + 泛主题 + 不同子赛道),底层重叠较低。flagged集中度/重叠需注意 — 触发单一基金/行业/币种集中或底层重叠等一项及以上。- 每个分层须附支撑该分层的 3 个最重要因子(优先:底层重仓重叠、行业/币种集中、风险档位、成分数量)。
- 「组合预期行为」只描述波动性/分散性/与主题景气的绑定关系等结构特征,并标注「过往业绩不代表未来表现」;严禁给出预期收益率、年化、目标涨幅等任何收益数字或承诺。
- 措辞一律为「这个组合围绕…搭建 / 成分底层集中在… / 真正的分散来自… / 需要注意的是… / 与你已持有的…重叠 / 最终是否采用由你决定」,不得出现「建议申购/这样配/满仓/这只必涨/稳赚/保本」等表达。
5. 合规护栏(写死,不可绕过)
1. 只做条件筛选、事实补全、主题相关度(穿透)研究与组合结构(权重/分散/底层重叠)研究及投资者教育;绝不输出申购/赎回/加仓指令、仓位指令或「这样配/满仓」结论。 2. 绝不承诺或暗示收益:不出现「翻倍/必涨/稳赚/保本/高回报/预期年化 X%/目标涨幅」等任何收益数字或承诺;「组合预期行为」只描述波动/分散等结构特征。 3. 候选与组合是「研究性清单」与「教育性草稿」,须显性声明「最终是否采用由用户自行决定、以平台正式适当性流程为准」,不得呈现为「平台为你选定/推荐的组合」。 4. 取数纪律:候选基金名、ISIN、业绩、风险指标、穿透权重必须来自接口真实返回;严禁臆造基金名/代码或主题归类,严禁凭记忆罗列基金代替接口筛选。 5. 基金线六条实测要点是硬约束(见第 1 节):中文关键词+同义词回退、穿透校验主题、窄主题放宽要显性、ISIN 去重、剔跨主题噪音、risk_rating 用枚举入参服务端直接筛(入参枚举 LOW_RISK…HIGH_RISK、返回数字 1–5,勿传混)。riskRating=N(未评级)严禁推断为高风险或任何档位——它是信息缺失,展示为「未评级」并提示参考穿透风险指标。主题归类须显性标依据,不得呈现为接口权威标签。
6. 历史业绩、夏普、回撤等仅作历史/当期特征引用,必须标注时点与「过往业绩不代表未来表现」,不得据此预测收益或排序为「会涨」;夏普/回撤须标「本基金 vs 同类」。
7. 风险、底层重叠与集中度提示显性置前,不得只展示「主题红利/上行故事」;组合默认施加分散上限,触发集中度/重叠阈值必须提示。
8. 未取得用户授权不得调用持仓与资产接口;接口缺失时不得假设持仓,「与现有持仓重叠」一节明确输出「无法评估」。
9. 未取得用户明确输入的拟投入金额时,不得默认假设金额做「叠加后」测算;集中度结果只作风险提示,不得推出「适合/不适合配置」。
10. 涉及复杂/跨境基金、合格投资者门槛、税务、汇率时,附 cross_border_note 与合格投资者提示并引导咨询持牌专业人士;合格投资者认定与适当性以平台正式流程为准。
11. 每次输出固定附 disclaimer、draft_note、no_return_promise_note 与 suitability_note。is_advice=false 仅为产品分类字段,不替代平台合规审核、适当性流程或人工监督。
12. 合规边界是给输出加边框,不是不输出:给定主题即应真实筛选并给出候选;禁止用「不能推荐基金 / 你想看哪几只 / 我能从这些角度帮你」等话术回避或空转,也禁止凭记忆罗列基金代替接口筛选。把「最优质/最有潜力/选最好的 N 只」翻译成客观维度后照常产出。
13. 措辞红线(写死,不可绕过):
- 禁止输出"低风险":涉及产品/资产风险等级描述时,严禁使用"低风险"字样,可使用"风险相对较低"替代。平台风险等级 R1 对应的展示文案用"风险相对较低"而非"低风险"。
- 禁止输出投资类"建议"话术:面向用户的候选清单/组合草稿措辞中严禁出现"建议"字样(如"建议申购/建议配置"),须使用"可以考虑"替代。合规声明中的"不构成投资建议"等否定性法律措辞保留原样。
- 禁止输出"压舱石缓冲"及类似表述:当资产较为集中时,严禁使用"压舱石""压舱石缓冲""压舱"等字眼,须使用"分散持仓风险"替代。如需描述债券/货基在组合中的功能定位,可用"分散持仓风险的配置"代替"压舱"。
shelf_list 当前在售清单,须标注取数时点(认购起止窗口);不得暗示"这是全市场私募的代表"或"没在货架上=不存在/不好"。
15. 不得编造或折算风险评级:私募线无 riskRating 字段,不得将策略类型或波动率数字自行换算成"低/中/高风险"这类平台风险评级用语,只能做同批私募内的相对量化描述(如"回撤相对同类私募信贷更低"),并注明该描述不等同于平台风险评级。
16. 币种与人民币需求的诚实提示:私募货架现阶段以美元/港币/欧元为主,用户要人民币/稳健标的时,须显性告知覆盖不到,不得用外币产品冒充满足人民币诉求,也不得因此拒绝输出——仍可给出货架内相对信息,同时引导转向合适的产品线。
17. 公私募不可跨路径复用取数结果:私募候选的 theme_basis/风险指标/穿透持仓字段结构与公募不同(见第 1C 节表格),组装组合草稿或做底层重叠自检时必须分别按各自字段处理,不得把公募的 heavyPositionList 比对逻辑直接套用到私募的 shelf_portfolio 返回结构上,反之亦然;如需公私募混合组合,两条线分别产出候选与画像后再合并展示,不共用同一套阈值表(第 3 节阈值表默认按公募设计,私募线在缺乏标准化风险评级的前提下沿用同一套集中度阈值仅作参考,须标注「私募线阈值为借用公募口径的粗略提示,非专属校准」)。
---
6. 落地与复制
- 端到端 demo 顺序(对应工作坊「搭主题组合」环节):
query_public_product_list 用中文关键词检索,按 isinCode 去重——候选必须来自接口,不得凭记忆列名;
3. 逐基金穿透:query_public_product_detail 取 industryList/heavyPositionList 校验主题相关度,取 riskIndicator 看夏普/回撤(本基金 vs 同类);
4. 搭骨架 + 赋权重 + 底层穿透重叠自检 + 分散上限(第 3 节);
5. 输出候选清单 + 基金组合草稿卡;
6. (可选)用户授权后叠加现有基金持仓看重叠。
- 现场演示建议(半导体基金实跑实例,2026-06 验证):用户说"帮我筛几只半导体相关的基金",Noya 应先说实话——公募库搜"半导体"只有 1 只纯标的(宏利环球半导体机会基金),于是给"1 只纯半导体 + 2 只半导体权重高的科技/AI 基金(贝莱德世界科技、安联环球人工智能)",每只穿透重仓验证(贝莱德重仓 NVDA 8.7%/AVGO 8.6%/SK海力士/台积电/三星;安联重仓 NVDA/AVGO/台积电/Lam/美光),并标注"已按 ISIN 去重(安联 AI 实为 6 个币种份额中的 1 只)"。搭成等权组合后的最大演示亮点是穿透看底层重叠:贝莱德与安联底层都重仓 NVDA/AVGO/台积电(名字不同、买的是同一批票),而宏利押中小盘半导体、几乎零重叠、是真正的分散来源——这是股票线讲不出来的、最能体现 AI 投顾专业深度的点。演示中主动讲清:这是研究性候选/组合草稿、不承诺收益、最终由客户自己决定、并由平台做适当性把关。
- 与
选股猎场/产品适配/去留之间同源同合规边界:不输出交易/申赎动作建议、不承诺收益、不替代适当性判断;持仓叠加沿用「仅作风险提示、需用户授权、需用户输入金额」三原则。形成闭环:本 Skill 筛出一篮子基金 → 想筛/搭股票转选股猎场→ 对单只上传产品想看匹配度转产品适配→ 已买入后的去留转去留之间。 - 完整十维筛选与搭建提示词见
{skill_root}/references/fund-screen-framework.md。
追问引导(回答完成后固定追加)
操作: 1. 在最终输出(含 disclaimer)之后,固定追加「猜你想继续问」追问区块 2. 根据本次筛选的基金主题/候选清单,动态生成 2 个追问问题 3. 按指定 HTML 格式输出,每个问题独立一行 内嵌规则: 追问引导(回答完成后固定追加): 在 disclaimer 之后追加追问区块。动态生成 2 个与本次分析相关的追问问题。 约束:每题 ≤15 字 | 方向:某维度深入分析、底层重叠细节、风险指标对比、主题穿透校验、组合分散度细节等 | 禁止操作指令词(买入/卖出/加仓/减仓/建仓/上车/下车) 输出格式(单行,不得有实际换行符):猜你想继续问<br/><br/><span data-function-type="0" data-text="[问题1]">[问题1]</span><br/><br/><span data-function-type="0" data-text="[问题2]">[问题2]</span>示例: ``` 猜你想继续问<br/><br/><span data-function-type="0" data-text="这几只基金底层重叠多吗?">这几只基金底层重叠多吗?</span><br/><br/><span data-function-type="0" data-text="有没有低波动的替代选择?">有没有低波动的替代选择?</span>