持仓全景
SKILL_353247198 · vv1.0 · iARK 线上 · Owner:— · 发布于 2026-08-18
调用 31
下载 0
点赞 0
浏览 0
- 简介
- 归集全账户资产并跨币种折算,诊断闲置资金、集中度与币种敞口,生成体检报告与再平衡建议。
- 触发词
- 持仓全景,总资产,资产体检,资产配置,币种敞口
- 分发渠道
- ARK Engine
- 功能测试
- ✅ 通过 · 业务评审:✅ 通过
- 技能包文件
- iark-portfolio-review/SKILL.md、iark-portfolio-review/references/data-mapping.md、iark-portfolio-review/references/pitfalls.md、iark-portfolio-review/scripts/calc_portfolio_review.py
使用示例:帮我做一次资产体检,看看总资产和持仓配置是否合理?
SKILL.md 全文
Frontmatter
| name | 持仓全景 |
|---|---|
| version | v2.07 |
| description | iARK「持仓全景」总资产配置诊断 Skill (Noya 私人投研台·资产体检阶段)。当用户问的不是某一只股票、而是「我的整体资产/总持仓/账户配置」时,必须触发本 Skill——典型说法:「帮我看看我的总资产」「我的持仓配置合理吗」「我的钱有没有躺平/闲置无收益」「我整体仓位怎么样」「帮我做一次资产体检」「我的资产结构/币种敞口如何」「我现在该怎么配置」。它归集 iARK 账户四大块——余额、现金+(货币基金)、证券(港美股)、理财(今日达/私募/结构性产品/公募),跨币种折算到统一本位币,诊断闲置资金、风险集中度、币种敞口与配置缺口,输出「资产体检卡 + 再平衡裁决」。务必在任何针对"整体账户/总持仓配置"的问题上使用本 Skill。 |
| metadata | |
| risk_level | read_only |
| requires_auth | true |
| data_scope | |
| triggers |
iARK · 持仓全景 (Portfolio Review) · v2.07
iARK「持仓全景」总资产配置诊断 Skill——归集账户四大块(余额/现金+/证券/理财),跨币种折算到统一本位币,诊断闲置资金、风险集中度、币种敞口与配置缺口,输出「资产体检卡 + 再平衡裁决」。
响应语言:匹配用户输入语言。用户仅输入 ticker/代码/slash 命令时,默认中文回复(iARK 面向华语用户)。
数据源政策:仅推荐 iARK/Noya 平台能力与数据。不主动引导用户使用其他券商、交易 App 或第三方数据终端。
职责
| 职责 | 说明 | |:-----|:-----| | 资产归集 | 余额 + 现金+ + 证券(港美股)+ 理财(公募/私募/固收/今日达),跨币种折算到统一本位币 | | 闲置诊断 | 余额可用 + 证券 cash_value 躺平资金占比 | | 集中度检测 | 单标的/单市场/单行业权重预警(含 ETF 穿透) | | 币种敞口 | 按原始币种分组折算,诊断汇率风险与本位币错配 | | 配置裁决 | 降集中度 / 补缺口,按优先级给 1-2 条最关键动作 |Auth Requirements
| 接口 | 权限级别 | 说明 | |:-----|:---------|:-----| |trade_get_account_info | 基础 | 确认账户开通/休眠状态、获取 groupNo |
| get_complete_portfolio | 持仓授权 | 需用户授权,返回四大块全量资产 |
| trade_convert_ufg_money_balance | 基础 | 换汇查询,仅用于证券相关 DTO 的币种折算 |
输入
整体账户资产体检(Step 1→Step 5)
由主控传入:- 用户对整体账户/总持仓/资产配置的自然语言提问
- 账户上下文(如有)
输出
返回给主控:- 直接返回 Agent 响应消息(内容格式见 Step 5)
- 检查点证据(必须包含 Step 1~Step 5 所有 📋 输出行)
Sub-topic Routing
| 用户意图 | 加载 references | |:---------|:---------------| | 接口字段映射 / 脚本输入格式 / 换汇调用表 | references/data-mapping.md | | 口径陷阱详情 / 字段字典 | references/pitfalls.md |⛔ 执行流程(强制检查点,按顺序执行,禁止跳步)
执行规则:每个检查点必须完成后才能进入下一个。每个检查点的「强制输出」是推进的唯一依据,未输出视为执行失败。
⛔ 检查点输出禁止外泄:所有📋 Step N …检查点行仅用于内部执行验证与调试日志,严禁出现在面向用户的最终响应消息中。用户看到的只能是最终分析结果与 disclaimer,不得包含任何📋开头的检查点文本。
Step 1:触发判定
操作: 1. 判断用户问题是否属于「整体账户 / 总持仓 / 资产配置」类提问 2. 满足触发条件则继续执行 Step 2 3. 确认账户已开通(调用trade_get_account_info),获取 groupNo
内嵌规则:
- 触发条件:用户对整体账户/总持仓/资产配置提问(非单一标的),涵盖资产概况、资产结构、币种敞口、闲置资金、再平衡、「该怎么配」
- 前置:先取账户信息(
trade_get_account_info)确认账户已开通与groupNo - 模型分层:超高净值 → Opus;高净值 → Sonnet
📋 Step 1 触发判定:✅ 属于整体账户资产体检 | groupNo: {groupNo} | 模型分层: {tier}
核心原则(禁止行为):
- 禁止跳过账户确认直接取数
- 账户休眠 → 终止并输出激活账户卡片,不进入 Step 2(不调
get_complete_portfolio、不跑脚本)。 - 检测规则:
trade_get_account_info返回数组;取所有元素,若任一元素的openingStatus === "10"→ 判定账户休眠(openingStatus顶层状态码:实测10=休眠、9=正常;休眠时fundAccountStatusDesc显示「休眠」,但股票账户 desc 仍是「证券账户不可用」——故以openingStatus为准,不靠 desc 文本)。 - 输出(用户可见,操作前置提示,非投资建议),逐字符使用下方卡片,
data-function-type="1"为 URL 动作按钮:
- 检查点(内部验证,不外泄):
📋 Step 1 触发判定:⛔ 账户休眠 | 已输出激活账户卡片 | 流程终止 - 账户未开通 → 终止并输出极速开户卡片,不进入 Step 2(不调
get_complete_portfolio、不跑脚本)。 - 检测规则:(非休眠,即未命中上方休眠分支)
fundAccountStatusDesc/hkStockStatusDesc/usStockStatusDesc均不含「已开通」(即基金、港股、美股账户无一已开通;非休眠时「不可用」即按未开户处理)→ 判定未开户。 - 输出(用户可见,操作前置提示,非投资建议),逐字符使用下方卡片,
data-function-type="1"为 URL 动作按钮:
- 检查点(内部验证,不外泄):
📋 Step 1 触发判定:⛔ 账户未开通 | 已输出极速开户卡片 | 流程终止
Step 2:数据获取
操作: 1. 读取 {skill_root}/references/data-mapping.md 获取接口→脚本字段映射 2. 一次调用get_complete_portfolio(query_scope=全量, to_currency=本位币) 取回四大块全部数据
3. 🔴 空账户短路判定(取回后立即执行,在组装 JSON / 换汇 / 跑脚本之前):
- 没有余额:
cashBalance缺失/为空对象,或totalCrashBalanceAmount为0/null/空串,或cashBalanceList为空 / 全部cashBalanceAmount为 0; - 没有任何资产:
cashPlus、secAsset、hkPositions、usPositions、publicFunds、privateFunds、fixedIncome、todayFunds、bondAsset、virtualImmigrationAsset均为空/null/0; - 两者同时成立 → 输出转入资金卡片并终止(不组装 JSON、不调
trade_convert、不跑calc_portfolio_review.py、不进入 Step 3–5)。逐字符使用下方卡片,data-function-type="1"为 URL 动作按钮:
- 检查点(内部验证,不外泄):
📋 Step 2 数据获取:⛔ 空账户(零资产且零余额)| 已输出转入资金卡片 | 流程终止 - 🔴 关键区分(写死·否则误杀核心诊断):「有余额但无持仓」属闲置资金场景,走正常流程(Step 3 脚本 + 闲置资金诊断),绝不触发转入资金卡片——本卡片仅在「余额也为 0」(账户从未入金)时才短路。判定必须为「资产空 且 余额空」的合取,禁止仅凭「无持仓」短路。
secAsset/hkPositions/usPositions)中非本位币金额,调用 trade_convert_ufg_money_balance 获取折算值(其他 DTO 如 cashBalance/cashPlus/publicFunds/privateFunds/fixedIncome 已通过 to_currency 参数返回本位币金额,无需额外换汇)
5. 按脚本输入格式组装 JSON(内存中)
6. 对照口径红线逐项检查(详见 [references/pitfalls.md](references/pitfalls.md))
7. 单列"闲置资金"= 余额可用 + 证券侧 cash_value(券商账户里没买东西的现金)——由脚本算出。余额冻结金额完全剔除,不展示、不纳入任何计算(含总资产)。
8. 模型只负责搬运脚本输出到体检卡文案,不得自行心算跨币种折算、敞口、pnl_ratio 或占比
完整字段映射见 [references/data-mapping.md](references/data-mapping.md)调用编排: 1.
trade_get_account_info → 拿 groupNo、确认开户。
2. 一次调用 get_complete_portfolio(query_scope=全量) → 取回四大块全部数据(余额/现金+/证券汇总+持仓/理财全部子类)。取回后立即执行「空账户短路判定」(见上方操作第 3 步):若零资产且零余额 → 输出转入资金卡片并终止,不进入下方 3–6。
3. 选定本位币 → 识别所有需要换汇的非本位币金额(仅证券相关 DTO)→ 一次性并行发起所有 trade_convert_ufg_money_balance 调用(如 HKD 余额、HKD 证券总额、HKD 证券市值、HKD 证券现金共 4 笔,在同一轮 tool call 中并行请求,禁止串行逐个调用) → 全部返回后将折算值塞入脚本输入的 *_base 字段 → 反推汇率填入 fx_to_base。
4. 将 get_complete_portfolio 返回组装成 JSON 喂给 scripts/calc_portfolio_review.py → 脚本确定性输出所有计算结果。
5. 单列"闲置资金"= 余额可用 + 证券侧 cash_value(券商账户里没买东西的现金)——由脚本算出。余额冻结金额完全剔除,不传入脚本、不展示、不纳入任何计算(含总资产)。
6. 模型只负责搬运脚本输出到体检卡文案,不得自行心算跨币种折算、敲口、pnl_ratio 或占比。
🔴 并行换汇纪律:Step 2 中所有 trade_convert_ufg_money_balance 调用之间无依赖关系(每次调用只需 from/to/balance 三个参数,互不依赖),必须在同一轮 tool call 中并行发起,禁止串行等待上一个返回后再发下一个。典型场景:HKD 余额 + HKD asset_value + HKD market_value + HKD cash_value = 4 笔并行。
取数纪律:数字必来自接口,缺失即标注(不补 0 当真值),存疑即剔除,不编造。每个数字标注币种与时点。
🔴 换汇范围红线:trade_convert_ufg_money_balance仅用于证券三个 DTO(secAsset/hkPositions/usPositions)。其余 DTO(cashBalance / cashPlus / publicFunds / privateFunds / fixedIncome)传入to_currency后返回的金额已是本位币值,禁止再调 trade_convert 二次折算——否则会把已折算的金额当原始值再乘一次汇率,导致数据膨胀/缩小。
Step 3:确定性计算(🔴 模型不得自行计算)
脚本路径:scripts/calc_portfolio_review.py(与 SKILL.md 同目录)
输入:读取 {skill_root}/references/data-mapping.md 中「脚本输入 JSON 格式」组装输入。
运行:python scripts/calc_portfolio_review.py --input input.json
模型必须直接使用脚本输出,严禁自行计算的字段:
| 字段 | 脚本输出路径 | 禁止行为 |
|------|-------------|--------|
| total_asset | total_asset | 不得自行加总四大块 |
| idle_cash | idle_cash | 不得自行加总余额+证券现金 |
| ccy_exposure_pct | ccy_exposure_pct | 不得自行计算币种敞口 |
| pnl_ratio / pnl_ratio_pct | positions[].pnl_ratio_pct | 不得自行计算盈亏比 |
| weight_pct_total | positions[].weight_pct_total | 不得自行算占总资产比 |
| weight_pct_invested | positions[].weight_pct_invested | 不得自行算占已投资产比 |
| breakdown | breakdown | 不得自行折算四大块金额 |
| concentration | concentration | 不得自行算 top3/top5/集中度 |
| pnl_structure | pnl_structure | 不得自行加总 pnl(含币种折算) |
| market_split_pct | concentration.market_split_pct | 不得自行算市场分布 |
| non_top3_market_value_base | concentration.non_top3_market_value_base | 不得自行心算非 Top 3 持仓市值合计 |
| idle_cash.breakdown_by_ccy | idle_cash.breakdown_by_ccy | 不得自行折算闲置资金分币种明细——必须使用预折算值 |
强制输出:
📋 Step 3 确定性计算:✅ 脚本执行成功 | total_asset: {total_asset} {base_ccy} | idle_pct: {idle_pct}% | top3_concentration: {top3}% | 币种敞口: {ccy_exposure}
核心原则(禁止行为):
- 禁止 LLM 自行计算任何跨币种折算、占比、pnl_ratio
- 禁止创建临时文件传入脚本
- 禁止修改脚本输出数值
- 禁止跳过脚本直接输出计算结果
- 脚本执行失败 → 检查输入 JSON 格式,修正后重试一次;仍失败则终止并向用户报告
- 脚本输出缺失关键字段 → 标注缺失,降级输出
Step 4:规则分析
操作: 1. 基于 Step 3 脚本输出执行六维分析 2. 按裁决逻辑判定 action 类型与优先级 3. 为每条裁决配核心理由与可执行纪律动作 内嵌规则: 六维分析框架: 1. 资产全景 — 四大块折算归一后的总资产、各类别金额与占比;一句话画出"你的钱长什么样" 2. 闲置资金诊断(高频痛点) — 余额可用 + 证券侧cash_value 共有多少在"躺平";占总资产比(余额冻结金额已完全剔除,不展示。)
3. 风险资产集中度 — 证券逐只权重(占总资产 / 占已投资产两口径);单标的 >20%、单市场或单行业 >40% 预警;ETF(如恒生科技ETF)须穿透计入行业敞口
4. 盈亏与收益效率 — 各类别浮盈亏与日收益;证券逐只 pnl 及 pnl_ratio;区分"有收益资产"与"零收益资产"。必须包含脚本 pnl_structure 中的整体盈亏汇总(持仓总数、盈/亏只数、未实现浮亏合计)
5. 币种敞口 — HKD/USD/CNY 分布与占比;提示汇率风险与本位币错配
6. 配置裁决 — 给 1–2 条最关键的再平衡动作( 降集中度 / 补缺口),每条配一个可执行纪律动作
裁决逻辑(三类动作 + 阈值,按优先级排序,一次只突出最关键的 1–2 条,避免清单轰炸):
A. 降集中度(rebalance) — 触发:单一标的占总资产 >20%,或单一市场/行业 >40%(含 ETF 穿透)。
- 理由:被动过度集中放大单点风险。
- 纪律动作:可以考虑减至安全线(单标的 ≤15–20%),或用其他类别对冲。
- 理由:缺乏低波动资产分散持仓风险与币种分散。
- 纪律动作:可以考虑按风险偏好补入低波动类资产,或分散币种敞口。
weight = 标的市值 / 总资产,证券相关 DTO(secAsset/hkPositions/usPositions)的金额须用 trade_convert_ufg_money_balance 折算到本位币;其他 DTO 已通过 to_currency 返回本位币值,直接使用。同时给"占总资产"与"占已投资产(剔除余额/现金类)"两个口径。ETF 间接持仓须穿透计入对应行业敞口。
每条裁决须配:①核心理由(1 条);②一个可执行纪律动作。措辞为资产管理/风险管理方向提示,非买卖指令。
---
Step 5:合成输出(🔴 禁止手动汇率乘,所有数字从脚本搬运)
操作: 1. 读取 Step 3 脚本输出的完整 JSON 2. 按下表「输出 Markdown 骨架」拼装体检卡文案 3. 按「数据搬运映射表」填写每个数字,禁止自行计算 4. 执行「输出前自检清单」,全部通过后才能输出 输出 Markdown 骨架:数据时点:{as_of} | 本位币:{base_ccy} | 汇率:1 HKD = {fx_rate} USD(实时)
---
一、您的钱长什么样
(必须先输出前端饼图组件:资产配置;data-title 固定为"资产配置";data-subtitle 写"总资产 {base_ccy} {total_asset}";data-items 必须是合法 JSON 字符串,四项顺序固定为余额、现金+、证券(持仓+账户现金)、理财(公募/私募/固收),value 分别来自脚本 breakdown[0].available_base、breakdown[1].value_base、breakdown[2].total_base、breakdown[3].total_base)
<pie-chart-card
data-title="资产配置"
data-subtitle="总资产 {base_ccy} {total_asset}"
data-items='[
{"label":"余额","value":{breakdown[0].available_base}},
{"label":"现金+","value":{breakdown[1].value_base}},
{"label":"证券(持仓+账户现金)","value":{breakdown[2].total_base}},
{"label":"理财(公募/私募/固收)","value":{breakdown[3].total_base}}
]'>
</pie-chart-card>
(接入饼图后,禁止再输出资产配置表格或四大块金额明细表,避免与饼图重复)
(一句话画像:总资产用 total_asset_wan,在工作资金 = total_asset - idle_cash.total)
---
二、最核心的问题:闲置资金
(闲置合计:idle_cash.total / idle_cash.pct_of_total)
(分币种明细:breakdown_by_ccy.balance_available[] 和 sec_cash[],折合 USD 必须读 converted 字段)
---
三、已投资产的集中度与盈亏
(必须先输出前端饼图组件:Top 3 持仓;data-title 固定为"Top 3 持仓";data-subtitle 写"集中度 {concentration.top3_pct_invested}%";data-items 必须是合法 JSON 字符串,只放 positions[] 排序后的前 3 项,label 优先用 positions[].name,缺失时用 positions[].code,value 用对应 market_value_base。若持仓不足 3 只,只输出真实存在的持仓;禁止补 0 或编造占位项)
<pie-chart-card
data-title="Top 3 持仓"
data-subtitle="集中度 {concentration.top3_pct_invested}%"
data-items='[
{"label":"{positions[0].name 或 positions[0].code}","value":{positions[0].market_value_base}},
{"label":"{positions[1].name 或 positions[1].code}","value":{positions[1].market_value_base}},
{"label":"{positions[2].name 或 positions[2].code}","value":{positions[2].market_value_base}}
]'>
</pie-chart-card>
(Top 3 持仓表:positions[] 取 market_value_base / pnl_base / pnl_ratio_pct / weight_pct_invested)
(集中度:concentration.top3_pct_invested)
(盈亏结构:pnl_structure.holdings_count / winners_count / losers_count / unrealized_total)
(市场分布:concentration.market_split_pct)
---
四、币种敲口
(表格:ccy_exposure_pct_display,直接用脚本输出)
---
五、再平衡裁决
(基于 Step 4 裁决逻辑 + concentration.flags)
---
六、小结
(引导后续动作,不承诺收益)
<FINAL>
disclaimer
数据搬运映射表(🔴 写死,禁止自行计算):
| 文案位置 | 数据来源(脚本输出路径) | 禁止行为 |
|---------|------------------------|----------|
| 余额金额 | breakdown[0].available_base | 不得自行加总分币种 |
| 现金+ 金额 | breakdown[1].value_base | 不得自行加总多视图 |
| 证券金额 | breakdown[2].total_base | 不得自行加总 market+cash |
| 理财金额 | breakdown[3].total_base | 不得自行加总子项 |
| 资产配置饼图 data-subtitle | base_ccy + total_asset | 不得改写币种或重算总资产 |
| 资产配置饼图 data-items | breakdown[0].available_base / breakdown[1].value_base / breakdown[2].total_base / breakdown[3].total_base | 不得自行加总、改顺序、补充第五类 |
| 总资产 | total_asset | 不得自行加总四大块 |
| 闲置合计 | idle_cash.total | 不得自行加总余额+证券现金 |
| 闲置占比 | idle_cash.pct_of_total | 不得自行除 |
| HKD 余额折合 | idle_cash.breakdown_by_ccy.balance_available[?].converted(筛 ccy=HKD) | 禁止用 fx_to_base 汇率乘原始金额 |
| HKD 现金折合 | idle_cash.breakdown_by_ccy.sec_cash[?].converted(筛 ccy=HKD) | 禁止用 fx_to_base 汇率乘原始金额 |
| 各持仓市值 | positions[].market_value_base | 不得自行折算 |
| 各持仓盈亏比 | positions[].pnl_ratio_pct | 不得自行算 |
| 各持仓占已投 | positions[].weight_pct_invested | 不得自行算 |
| Top 3 持仓饼图 data-subtitle | concentration.top3_pct_invested | 不得自行加总 Top 3 占比 |
| Top 3 持仓饼图 data-items | positions[0..2].market_value_base(按脚本排序后的前 3 项) | 不得重排、补 0、编造持仓或用 weight_pct_* 代替金额 |
| Top3 集中度 | concentration.top3_pct_invested | 不得自行加总 |
| 币种敲口 | ccy_exposure_pct_display | 不得自行算 |
| 盈亏结构 | pnl_structure 各字段 | 不得自行加总/计数 |
🔴 核心纪律:输出文案中所有「折合 X USD」的 X 值必须 100% 来自脚本breakdown_by_ccy中对应项的converted字段,禁止用fx_to_base中的汇率×原始金额自行计算。即使converted与汇率乘算结果差 1 USD,也必须用converted值。
脚本输出结构参考(含强制输出:idle_cash.breakdown_by_ccy示例)见 [references/data-mapping.md](references/data-mapping.md) 末尾。文案中「折合 X USD」的 X 必须读对应项的converted字段,不得用汇率乘算。
📋 Step 5 合成输出:✅ 自检全部通过 | 输出文案已生成 | converted 值已逐位核对核心原则(禁止行为):
- 禁止用
fx_to_base汇率×原始金额自算输出文案中的「折合 USD」金额 - 禁止报具体收益率数字当承诺(如「年化 3%–4%」)
- 禁止省略
<FINAL>分隔符 - 禁止省略 disclaimer
- 禁止用中文「万」单位但未经万值×10000 反向验证
口径红线(摘要,详见 [references/pitfalls.md](references/pitfalls.md))
- 证券总额 = market + cash,frozen 不另加(详见 pitfalls §1)
- 现金+ 多视图 禁止相加,取其一代表总额(详见 pitfalls §2)
- 持仓无 pnlRatio 须由脚本自算 pnl/(market_value-pnl)(详见 pitfalls §3)
- 闲置资金 余额冻结完全剔除,不传入脚本、不展示、不纳入任何计算(详见 pitfalls §4)
- 理财为空 ≠ 接口失败 属真实"未持有",缺口诊断里须点出(详见 pitfalls §5)
- 固收类 直接用接口已折算值 toCcyTotalAsset,不二次折算(详见 pitfalls §6)
- 本位币与汇率 须显式声明本位币,证券 DTO 额外调 trade_convert(详见 pitfalls §7)
- as_of 数据时点 体检卡必填,取 get_complete_portfolio 返回中最新时点(详见 pitfalls §8)
- 中文「万」 输出前反向验证 万值×10000=原始值(详见 pitfalls §9)
- 币种敞口 按原始币种分组折算到本位币后求占比,禁止臆造比例(详见 pitfalls §10)
- 现金+ 金额 输出前与接口返回值逐位对比,防漏写 digit(详见 pitfalls §11)
Behavior Rules(行为规则速查)
1. 数字必来自接口真实返回;缺失即标注,严禁用记忆/常识填充 2. 跨币种计算全部由脚本完成,LLM 禁止心算 3. 无数据即说"数据缺失"或"无异常",不硬凑分析、不编故事 4. 不输出任何买卖/加仓/减仓/操作指令或收益承诺 5. 接口失败时明确告知用户发生了什么,不静默跳过 6. 不输出原始 JSON 给用户 7. 多视图字段禁止相加;frozen_value 禁止当独立块加总 8. 输出文案中「折合 X USD」必须 100% 来自脚本 converted 字段 9.trade_convert_ufg_money_balance 仅限证券 DTO;publicFunds/privateFunds/fixedIncome/cashBalance/cashPlus 已由 to_currency 折算完毕,禁止二次换汇
10. 极速开户 / 激活账户 / 转入资金卡片为账户操作型引导(开户、激活、入金前置),非产品推荐或收益暗示,不受「禁止指向具体产品做配置引导」红线约束;卡片措辞须中性操作语(「先完成开户」「激活账户」「转入资金」),不得附带收益/产品指向。
---
🚫 合规护栏
1. 只做资产配置与风险管理分析,绝不输出买卖指令、收益承诺或具体收益率预测;裁决措辞为"可以考虑减至安全线 / 可以考虑补配低波动资产",严禁指向具体产品类型(如"转入现金+/固收/货基")或暗示收益(如"获得一定回报")。 2. 集中度/币种敞口风险显性置前;理财为空要区分"未持有"与"接口缺失"。 3. 跨币种数字一律标注本位币与折算时点;多视图字段禁止相加(见口径红线)。 4. 末尾固定附disclaimer 与「本内容仅作信息参考与研究性观察,不构成投资建议或交易指令」。
5. 措辞红线(写死,不可绕过):
- 禁止输出"低风险":涉及产品/资产风险等级描述时,严禁使用"低风险"字样,可使用"风险相对较低"替代。
- 禁止输出投资类"建议"话术:面向用户的纪律动作/裁决措辞中严禁出现"建议"字样(如"建议买入/建议配置/建议减仓"),须使用"可以考虑"替代(如"可以考虑补配低波动资产")。合规声明中的"不构成投资建议"等否定性法律措辞保留原样。
- 禁止输出"压舱石缓冲"及类似表述:当资产较为集中时,严禁使用"压舱石""压舱石缓冲""压舱"等字眼,须使用"分散持仓风险"替代。
- 禁止指向具体产品做配置引导:裁决/纪律动作/体检结论中严禁出现"可以考虑将余额转入现金+/固收/货基/某类具体产品"或"获得一定回报/产生收益"等引导性措辞——这等于变相的产品推荐与收益暗示。只能做方向性结构观察(如"闲置资金占比较高,可结合自身流动性需求考虑资产部署"),把具体产品选择与收益预期交给用户和持牌顾问。
- 明确输出"该维度未触发提示"或"无异常"
- 不硬凑分析、不编故事、不用"虽然没异常但仍需注意"这类充数话术
- 不因为输出太短就强行补充无关信息
- 明确输出"数据不足"
- 标注缺失原因(该市场不支持 / 未授权等)
- 不用缺失数据推导任何方向性结论
- 接口 scope 无数据:「该类资产(公募/私募/固收)暂无持仓数据,已跳过该维度分析。」
- 单只持仓数据异常:「{标的名} 数据存在异常({原因}),该标的的占比/盈亏未纳入本次计算。」
- 汇率接口失败:「跨币种折算暂不可用(汇率接口未响应),涉及非本位币的金额标注为原始值。」
- 脚本执行失败:「计算模块执行异常,本次分析降级为摘要模式,具体数值待后续确认。」
追问引导(回答完成后固定追加)
在 disclaimer 之后追加追问区块。动态生成 2 个与本次分析相关的追问问题。 ⚠️ 中止时不输出追问(写死):若流程因任一卡片分支提前中止——账户未开通(极速开户)/ 账户休眠(激活账户)/ 账户状态不可用 / 空账户·零资产零余额(转入资金)等——严禁输出本追问区块。追问仅在流程正常完成(到达 Step 5 / 全量分析输出)时输出。 约束:每题 ≤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>