资产配置Skill

v3.2.0 私行客户经理专用

帮助理财师为高净值客户提供专业的资产配置建议:联动测算目标配置比例、分析持仓穿透、强制联动基金/保单/理财产品健诊,生成《资产配置建议书》

一、技能概述

📋核心功能

  1. 客户偏好信息收集与验证
  2. 目标大类资产配置比例测算(联动 asset-allocation-ratio 计算)
  3. 持仓现状分析与穿透(强制查询产品信息)
  4. 健诊联动(基金健诊、保单健诊、理财产品健诊)
  5. 综合分析与优化建议
  6. 产品推荐(推荐前告知计划 → 询问指定产品或范围 → 线上搜索在售产品)
  7. 生成《资产配置建议书》

触发条件

用户说以下类似意图时自动触发:

资产配置
资产配置建议
投资组合建议
帮我做资产配置
配置方案
大类资产配置

数据源(零配置自动择优)

优先级 数据源 覆盖能力
首选 盈米基金(yingmi-mcp) 基金档案/净值/阶段收益/持仓/基金经理/费率/健诊/组合归因
次选 东方妙想(mx-ds-mcp)/ 同花顺(ifind-mcp)/ neodata 基金财务数据、市场综合指标、指数行情、宏观数据
兜底 网络搜索 公开页面(须如实标注来源与置信度)

✅ 零配置、零脚本:无需预先连接任何 MCP 或配置密钥,也无需安装任何 Python 库。执行时自动探测 WorkBuddy 中已接通的数据源,任一数据源可用即可跑通全流程,不可用时按「外部数据解析阶梯」处理,不阻塞流程。

🔒 银行理财产品、保险、信托的产品级数据不在金融连接器覆盖范围内,仍须走中国理财网 / 发行机构官网 / 代销银行官网等公开渠道。

二、联动 SKILL 清单(执行前必查)

本 Skill 通过联动已上架 SKILL 完成客户洞察、财富筹划、配置比例测算与三类健诊。执行前须逐一检查是否已安装。

联动 SKILL slug 用途 / 触发 是否可跳过
私人银行客户洞察 client-insight Step 0 客户洞察(选方案 b 时) 可(须用户授权)
银行财富筹划专家 wealth-planning-pro Step 0 财富筹划(选方案 b 时) 可(须用户授权)
大类资产配置比例计算 asset-allocation-ratio Step 4 目标配置测算(始终强制) ❌ 不可跳过
银行基金健诊专家 fund-diagnosis-pro Step 6.1 基金健诊(基金 ≥ 3) ❌ 不可跳过
保单健诊专家 policy-diagnosis Step 6.2 保单健诊(保险 ≥ 3) ❌ 不可跳过
银行理财产品健诊专家 wealth-product-diagnosis-pro Step 6.3 理财产品健诊(银行理财 ≥ 3) ❌ 不可跳过

安装方式

# 逐个安装
skillhub install asset-allocation-ratio
skillhub install fund-diagnosis-pro
skillhub install policy-diagnosis
skillhub install wealth-product-diagnosis-pro

# 或访问网页端(https://skillhub.cn/skills/<slug>)安装
# 完整清单与排障见 references/linked-skills-guide.md

⚠付费说明

仅 asset-allocation-ratio 为按量付费 Skill:默认使用随包冻结快照,免费; 仅当市场参数快照距今 ≥ 2 个月且理财师同意刷新时,才走付费链路(0.01 元/次)。 付款失败不阻断测算——退回冻结快照继续,并如实标注参数日期。其余 5 项联动 SKILL 均免费。

三、刚性约束总则

🚫绝对禁止事项

  • 禁止虚拟数据:所有数据必须来自 API 查询或用户确认,禁止凭空捏造数字
  • 禁止跳过产品查询:持仓产品穿透前必须先查询产品具体信息
  • 禁止跳过健诊:基金 ≥ 3 必须调用基金健诊;保险 ≥ 3 必须调用保单健诊;银行理财 ≥ 3 必须调用理财产品健诊
  • 禁止改变规则:必须严格按照 references/ 目录下的规则文件执行
  • 禁止自带配置算法:大类资产配置比例必须由 asset-allocation-ratio 计算得出,不得自行拍定或凭经验估算

✅强制执行事项

  • 数据溯源:每条数据必须标注来源(API / 用户提供 / 规则估算)
  • 信息标注:估算数据必须明确标注"⚠️ 估算"字样
  • 健诊引用:健诊结论必须原文引用,不得改写
  • 用户确认:关键数据必须经用户确认后再继续

⚠估算 / 假设处理原则

  1. 优先查询:尽量通过连接器或权威渠道获取真实数据
  2. 次级搜索:无法获取时,通过网络搜索获取
  3. 最后估算:以上都无法获取时,才使用规则文件中的默认值
  4. 必须标注:所有估算数据必须明确标注,并说明原因

四、执行流程(9 步)

Step 0: 环境自检(强制)

0.0 数据源探测

自动探测已连接的数据源,探测结果不影响流程是否执行——任一可用即继续。

0.1 联动 SKILL 前置检查

检查 6 个联动 SKILL 是否已安装(client-insight、wealth-planning-pro、asset-allocation-ratio、fund-diagnosis-pro、policy-diagnosis、wealth-product-diagnosis-pro)。

🚫特例:缺失 asset-allocation-ratio

该项为 Step 4 强制联动,不允许跳过。明确告知用户该 Skill 默认免费(仅刷新参数 0.01 元/次),可先完成 Step 1~3 并暂停等待安装。

0.3 客户洞察与财富筹划前置检查

提示用户可选:a. 上传已有洞察报告与筹划建议书;b. 先调用 client-insight 与 wealth-planning-pro;c. 不进行前置,直接用当前信息配置。

Step 1: 偏好信息收集

收集以下客户信息(表格最后一列标明其将映射为 asset-allocation-ratio 的哪项输入):

信息项说明示例用途
风险测评结果C1-R5 或 R1-R5C3→ ratio 输入①
预期组合年化收益率年化百分比(非负)5%→ ratio 输入②
可接受年度回撤水平百分比(负值)-10%→ ratio 输入③
一年生活支出万元(可由月家庭支出 × 12 换算)24→ ratio 输入④
可配置总资产金额万元500→ ratio 输入④
流动性预留月数6-12 个月,默认 8;仅用于流动性检视8见 05-liquidity-rules
其他关键信息家庭结构、职业阶段、特殊需求-报告补充
💡 口径对齐(重要)

货币类比例 C 按 ratio 口径确定:优先由理财师直接给定;未给定时 C = 一年生活支出 ÷ 可投资金额。

Step 2: 持仓信息收集(可选)

询问用户是否提供客户当前持仓产品信息:

  • 如不提供:仅做目标配置,跳过持仓分析
  • 如提供:按以下格式整理
持仓产品列表(格式):
产品名称 | 产品类型 | 持有金额(万元) | 购买日期(可选)

示例:
易方达蓝筹精选 | 基金 | 50 | 2023-01-15
招行日日金 | 理财 | 100 | -
平安福满堂保险 | 保险 | 30 | 2022-06-01

Step 3: 产品信息查询 🚫 强制执行

🚫【刚性约束】在进行任何穿透分析前,必须先完成产品信息查询!

3.1 查询优先级

产品类型第一优先级第二优先级第三优先级
基金盈米基金(yingmi-mcp)东方妙想 / 同花顺 / neodata网络搜索
银行理财中国理财网银行官网风险等级估算
保险资管中保登官网保险公司官网产品类型估算
信托中信登官网管理人产品类型估算
保险产品中国保险行业协会保险公司官网产品类型估算

3.2 查询结果记录模板

【产品信息查询记录】
产品名称:{产品名称}
产品类型:{查询到的实际类型}
风险等级:{查询到的风险等级}
投资范围:{查询到的投资范围/大类资产配置}
数据来源:{API名称/网站名称/用户确认/估算}
查询时间:{时间戳}

Step 4: 目标配置测算 🚫 强制联动 asset-allocation-ratio

🚫本 Skill 不自带大类资产配置算法。目标配置比例必须通过联动调用 asset-allocation-ratio 计算得出。

4.1 计算流动性预留

预留金额 = 月家庭支出 × 流动性月数
可投资金额 = 总资产 - 预留金额

4.2 调用 asset-allocation-ratio(输入映射)

ratio 输入项取值来源校验规则
① 风险承受能力Step 1 风险测评结果(C1~C5)必填,不得推测
② 预期组合年化收益率 RMRStep 1 预期组合年化收益率非负;"投资目标"须先换算
③ 可接受年度回撤水平 MADStep 1 可接受年度回撤水平必须为负值
④ 货币类比例 C优先直接给定;否则 一年生活支出 ÷ 可投资金额口径一致,不得自行改
python <asset-allocation-ratio>/scripts/ratio_calculator.py \
  --tier <C1..C5> --return <RMR> --drawdown <MAD> \
  --annual-expense <一年生活支出万元> --investable <可投资金额万元>
# 或理财师已直接给定货币比例:
python <asset-allocation-ratio>/scripts/ratio_calculator.py \
  --tier <C1..C5> --return <RMR> --drawdown <MAD> --cash <货币比例百分数>

4.3 输出内容(原样引用 ratio 五节结构)

  1. 客户输入(四项)
  2. 测算结果(推荐值)——权益类 / 债权类 / 货币类
  3. 五档取值对照表(C1~C5 全档,供理财师横向对照)
  4. 预期指标校验(组合预期收益 / 一年期预期回撤是否达标)
  5. 参数来源(参数版本 + 更新日)

术语映射(只改称谓、不改数值)

ratio 输出用词本建议书用词
权益类资产权益类
债权类资产固收类(债权类)
货币类资产货币类

4.4 与财富筹划建议书的协调

  • 建议书已给出具体比例 → 以 ratio 推荐值为基准对照,逐类说明差异,请理财师确认采纳口径
  • 建议书仅给出原则(稳健/成长等)→ 用 ratio 推荐值校验方向是否一致,不一致须明确提示
  • 未提供建议书 → 直接采用 ratio 推荐值

4.5 不可行处理

ratio 判定不可行时禁止"凑"结果,须原样转述其不可行结论 + 可实现最高组合收益 + 调整方向,请理财师调整输入后重新测算。

4.6 向用户展示上述全部内容,要求用户确认后方可进入 Step 5。

Step 5: 持仓现状分析 🚫 强制执行

🚫【刚性约束】必须完成 Step 3 的产品信息查询后,才能进行穿透分析!

5.1 持仓产品分类与穿透

按 references/04-product-lookthrough.md 将产品穿透到大类资产(对标 Step 4 三类口径);分析维度与流程按 references/03-position-analysis.md 执行。

5.2 穿透数据来源标注

穿透来源标注方式
API 实际数据✅ 真实数据
中国理财网 / 定期公告原文✅ 官网原文
用户确认信息✅ 用户提供
规则默认值估算⚠️ 估算

5.3 偏离度分析

偏离度 = |实际占比 - 目标占比|
偏离度范围状态
<5%正常
5%-10%轻度偏离,建议关注
10%-20%中度偏离,建议调整
>20%重度偏离,建议立即调整

Step 6: 健诊联动 🚫 刚性约束

🚫以下三项健诊联动规则必须 100% 执行,不得跳过!结论须原文引用,不得改写或替代。

6.0 并行执行总则(v3.2 新增 · 强制)

三项健诊彼此独立,均只依赖 Step 5 的持仓清单。必须并行派发(同一响应内并发调用),禁止按 6.1 → 6.2 → 6.3 的顺序串行执行。

  • 命中即并行:仅对满足 ≥3 的健诊类型派发;未命中走 6.4 豁免
  • 并行不降标准:数据真实性、原文引用、不可缺失项,一条都不放松
  • 统一回收:全部子任务返回后再合并结论,进入 Step 7
  • md 契约:派发时必须索取对方的 Markdown 结构化摘要用于「原文引用」,禁止为取数去剥离对方 HTML 报告;HTML 降级为可选客户附件

实测(2026-10-13 案例):基金健诊约 8.7 分钟、理财产品健诊约 11.1 分钟,串行合计约 20 分钟;两者零依赖,并行后总耗时约等于较长的一项(约 11 分钟)。

通用原则:给人看的用 HTML,给 Skill 读的用 md。

6.1 基金健诊联动

触发条件:基金数量 ≥ 3  |  调用 fund-diagnosis-pro

传递完整基金列表与客户信息;引用其逐只基金综合评价、建议与组合结论。

6.2 保单健诊联动

触发条件:保险产品数量 ≥ 3  |  调用 policy-diagnosis

分析保险产品的保障功能与资产属性;引用其关键结论。

6.3 理财产品健诊联动(v3.1 新增)

触发条件:银行理财产品数量 ≥ 3  |  调用 wealth-product-diagnosis-pro

口径界定:本流程中「理财产品」专指银行理财产品(含理财子公司产品、净值型理财);公募基金走基金健诊、保险走保单健诊、信托与存款不触发(仅穿透)。

执行要求:

  1. 必须调用 wealth-product-diagnosis-pro
  2. 必须传递 理财产品清单(名称/代码 + 持有金额或份额)、客户风险承受能力、现金流需求
  3. 必须遵守 其刚性要求——净值(含净值日期)、到期日/下次开放日、穿透后资产配置比例三项不可缺失;无法自动获取时按其流程请客户手工下载协助
  4. 必须引用 其逐产品综合评价 + 组合分析结论 + 综合评价与调整建议
  5. 必须索取 其 Markdown 摘要(理财产品健诊摘要_{客户简称}_{YYYYMMDD}.md),本 Skill 读 md 引用结论;禁止剥离其 HTML 报告取数(既慢又易失真)
【理财产品健诊结论】(引用自 wealth-product-diagnosis-pro)

1. 产品A:{产品名称}
   - 风险适配性:{引用原文}
   - 流动性与现金流匹配:{引用原文}
   - 投资策略一致性:{引用原文}
   - 业绩评估:{引用原文}
   - 管理人评估:{引用原文}
   - 综合评价:{正常/需关注/建议调整}

【理财组合分析结论】
- 穿透后大类资产配置:{引用原文}
- 流动性匹配:{引用原文}
- 组合健康度:{引用原文}
- 综合评价与调整建议:{引用原文}

6.4 健诊豁免条件

条件是否豁免替代方案
基金 < 3 个✅ 豁免仅做简化穿透分析
保险 < 3 个✅ 豁免仅做简化穿透分析
银行理财 < 3 个✅ 豁免仅做简化穿透分析
数据源/连接器不可用❌ 不豁免按《数据源策略》降级,仍须完成

Step 7: 综合分析建议

数据口径:下表"目标比例"一律取自 Step 4 中 asset-allocation-ratio 的推荐值;"当前比例"取自 Step 5 穿透后的实际占比。二者必须同口径对比。

7.1 调整方向

资产类别当前比例目标比例调整方向调整金额
权益类X%Y%增配/减配Z 万
固收类(债权类)X%Y%增配/减配Z 万
货币类X%Y%增配/减配Z 万

7.2 绩差 / 风险产品识别

  • 历史业绩持续低于同类平均
  • 风险过于集中
  • 产品类型与客户风险偏好不匹配

7.3 风险关注点

  • 流动性风险(按 references/05-liquidity-rules.md 检视:时间/金额/成本三维度 + 流动性评级)
  • 集中度风险
  • 市场风险
  • 产品风险(汇总 Step 6 三项健诊中标注"需关注/建议调整"的产品)

Step 8: 产品推荐

8.0 推荐前告知与确认(强制)

生成任何推荐清单前,先向用户说明本次计划推荐的产品类型与数量,并询问产品来源(提供指定产品 / 限定推荐范围 / 线上搜索在售产品,默认第三种)。

8.1 线上搜索在售产品(默认方式)

参考智能体记忆判断用户服务银行,结合目标配置方向,搜索用户服务银行/渠道当前在售的真实产品。

搜索优先级(AI 自动执行):

  1. 用户服务银行官网/官方渠道(在售产品公示)
  2. 基金公司/理财子公司官网
  3. 持牌代销平台公示
  4. 公开研报/媒体(标注来源)

要求:推荐产品必须真实在售、标注来源、风险等级匹配客户承受能力;搜索不到如实说明,不得编造。

🚫推荐范围约束

  1. 仅推荐真实在售产品:不得编造产品名称/代码/收益,不得推荐已停售产品
  2. 匹配调整方向:只推荐与调整方向一致的产品
  3. 来源可溯:每只推荐产品必须标注信息来源
  4. 禁止承诺收益:不得承诺具体收益率;参考收益注明"历史业绩不代表未来表现"
  5. 风险等级匹配:推荐产品风险等级不得超出客户承受能力(C1-C5)

Step 9: 生成报告

按 references/06-report-template.md 生成《资产配置建议书》MD 文档。

报告结构

  1. 客户基本信息与投资偏好
  2. 目标资产配置方案(联动 asset-allocation-ratio 的测算结果:推荐值/可配置区间/五档对照/预期指标校验/参数来源)
  3. 持仓现状分析(含产品信息查询记录)
  4. 健诊结论(基金 / 保单 / 理财产品,如适用必须引用原文)
  5. 综合分析与优化建议
  6. 产品推荐清单
  7. 风险揭示与免责声明

文件名:《资产配置建议书》_[客户姓名]_[日期].md

五、产品穿透规则

1. 基金产品穿透

基金类型权益类固收类货币类说明
股票型基金80-100%0-20%0%股票持仓穿透
混合型(偏股)50-80%20-50%0%按实际持仓
混合型(均衡)30-50%50-70%0%按实际持仓
混合型(偏债)10-30%70-90%0%按实际持仓
债券型基金0-10%90-100%0%按实际持仓
货币市场基金0%0%100%完全货币类

基金穿透优先取 yingmi-mcp 的 assetPortfolios(真实持仓),其余降级至 mx-ds-mcp / ifind-mcp / neodata。

2. 银行理财产品穿透

🚫定期公告原文优先,规则映射仅兜底

获取顺序:① 理财产品健诊(wealth-product-diagnosis-pro)返回的定期公告原文穿透比例 → ② 中国理财网定期报告原文 → ③ 发行机构官网定期报告 → ④ 代销银行官网披露 → ⑤ 均失败才用下表规则映射估算(须标注 ⚠️)。

理财数量 ≥ 3 只触发健诊时,其穿透比例必须采用健诊 Skill 的结论(第 ① 顺序),不得使用规则映射值。

理财产品类型大类资产映射(兜底)说明
固定收益类(PR1-PR2)货币类:10%, 固收类:90%低风险理财
固定收益类(PR3)固收类:100%中风险理财
混合类(PR4)权益类:30%, 固收类:70%中高风险
权益类(PR5)权益类:80%, 固收类:20%高风险

3. 保险产品穿透

保险产品类型大类资产映射说明
年金险(传统型)固收类:100%低波动
年金险(分红型)固收类:80%, 权益类:20%含权益仓位
年金险(万能型)固收类:70%, 权益类:30%账户投资
终身寿险(传统)固收类:100%低风险
终身寿险(分红)固收类:85%, 权益类:15%含权益仓位
终身寿险(万能)固收类:75%, 权益类:25%账户投资
投连险按账户配置穿透高风险

4. 其他产品穿透

产品类型大类资产映射数据获取
银行存款货币类:100%银行
国债固收类:100%交易所
企业债固收类:100%交易所
公募 REITs固收类:70%, 权益类:30%交易所
融资类信托固收类:100%债权类
股权类信托权益类:100%股权投资

另类资产(股权信托、公募 REITs 等无法归入三类者)在穿透后单列披露,不得强行并入三类以凑合 100%。

六、执行前检查清单

执行前检查
  • 数据来源是否都已标注?
  • 产品信息是否都已查询(基金除外)?
  • asset-allocation-ratio 是否已安装并完成联动(Step 4 强制)?
  • 目标配置比例是否由 asset-allocation-ratio 计算得出(非自行拍定)?
  • ratio 输出的五节结构 + 口径说明是否已原样保留?
  • 基金是否 ≥ 3,是否已调用基金健诊?
  • 保险是否 ≥ 3,是否已调用保单健诊?
  • 银行理财产品是否 ≥ 3,是否已调用理财产品健诊?
  • 估算数据是否都已标注"⚠️ 估算"?
报告检查
  • 是否添加了未经确认的数据?
  • 是否引用了健诊报告原文(基金/保单/理财产品)?
  • 是否标注了 ratio 的参数版本与更新日?
  • 推荐前是否已向用户说明计划推荐类型与数量并获确认?
  • 推荐产品是否均为真实在售产品且标注来源?
  • 是否存在虚拟捏造的数据?

错误处理

场景处理方式
asset-allocation-ratio 未安装不降级、不自行估算;告知其为 Step 4 强制联动(默认免费),引导安装后继续
ratio 判定不可行原样转述不可行结论 + 可实现最高组合收益 + 调整方向,请理财师调整输入后重算
ratio 云端参数付费未完成 / 网络不通退回其随包冻结快照继续测算,如实标注参数日期,不阻断流程
理财产品净值/到期日/穿透比例无法获取按其流程提供网址请客户手工下载协助,标注 ❌ 并同步转述其信息完整性声明
基金数据获取失败按连接器优先级依次降级(盈米基金 → 东方妙想 → 同花顺 → neodata),仍失败则按产品名称估算并标注
线上搜索的在售产品信息无法核实标注"⚠️ 待确认",不写入推荐清单
产品信息缺失在报告中标注"⚠️ 信息待补充"

七、示例对话

帮我做个资产配置
请提供客户的投资偏好信息: 1. 风险测评结果(C1-R5): 2. 预期组合年化收益率(%,非负): 3. 可接受年度回撤水平(%,负值): 4. 一年生活支出(万元): 5. 可配置总资产金额(万元): 6. 流动性预留月数(6-12 月,默认 8):
[输入信息]
是否提供客户当前的持仓产品信息?(提供可获得持仓分析,跳过仅做目标配置)
[提供持仓]
【产品信息查询记录】 - 产品A:查询中...(中国理财网) - 产品B:查询中...(基金数据连接器) ...
⚠️ 以下产品信息未能查到,将使用规则默认值估算: - 产品C:⚠️ 估算(风险等级 PR2,固收类 90%)
开始调用「大类资产配置比例计算」(asset-allocation-ratio)测算目标配置... 【映射四项输入 → 调用 ratio_calculator.py】 【引用其五节结果:推荐值 权益 32.32% / 债权(固收)62.68% / 货币 5.00%,可配置区间 30.14%~34.49%】 【附参数来源:参数版本 v6.0-1Y-EXPECT,更新日 2026-10-13】
基金 ≥ 3,开始调用「基金健诊」... 【调用 fund-diagnosis-pro 并引用结论】
银行理财产品 ≥ 3,开始调用「理财产品健诊」... 【调用 wealth-product-diagnosis-pro 并引用结论,附 HTML 健诊报告】
建议书已生成,请确认以下信息无误...

八、Skill 文件结构

asset-allocation-pro/
├── SKILL.md                      # 主入口(v3.2.0)
├── CHANGELOG.md                  # 变更记录
├── USAGE.html                    # 本文件
├── _meta.json                    # SkillHub 元数据
└── references/
    ├── 03-position-analysis.md   # 现状检视 5 维度规则(对标 ratio 目标配置)
    ├── 04-product-lookthrough.md # 产品→大类资产映射规则 + 健诊联动规则
    ├── 05-liquidity-rules.md     # 流动性预留计算 + 与 ratio 口径衔接
    ├── 06-report-template.md     # 资产配置建议书模板(含 ratio 联动章节)
    └── linked-skills-guide.md    # 6 个联动 SKILL 安装指引

✅零脚本

本 Skill 不携带任何脚本(无 scripts/ 目录),不依赖任何 Python 库。配置比例算法与市场参数由 asset-allocation-ratio 提供。

⚠v3.1.0 已删除的历史文件

scripts/(8 个旧计算/取数模块)、references/01_风险等级配置.json、references/02_资产特征参数.json——均已被 asset-allocation-ratio 取代。详见 CHANGELOG.md。