Skill Hub · 诺亚 AI 能力中心 静态参考版

让每一个技能成为可信资产 —— 诺亚 Agent 生态的技能资产中心:统一注册、检测把关、按需复用。本站为 skill-hub.noahgroup.com 于 2026-08-21 的全量数据镜像。

镜像采集 2026-08-2166 个已发布技能18 个分类 · 3 条分发渠道含技能包 SKILL.md 全文
← 返回目录

持股雷达

SKILL_598959000 · vv1.0 · iARK 线上 · Owner:— · 发布于 2026-08-18
调用 14 下载 0 点赞 0 浏览 0
简介
专为港美股组合提供结构诊断,输出资产、集中度与盈亏结论的体检卡,不含交易建议。
触发词
持仓体检,组合诊断,仓位结构,风险评估,集中度
分发渠道
ARK Engine
功能测试
✅ 通过 · 业务评审:✅ 通过
技能包文件
iark-portfolio-checkup-min/SKILL.md、iark-portfolio-checkup-min/scripts/calc_portfolio_min.py
使用示例:帮我看看我的持仓,组合健康吗,仓位结构有没有问题?

SKILL.md 全文

Frontmatter

name持股雷达
versionv2.04
descriptioniARK「持股雷达」Skill。当用户询问「帮我看看我的持仓/我的组合健康吗/我的仓位结构有没有问题/我整体风险大不大/持仓集中度高不高」等针对港美股组合的整体诊断类问题时触发。通过 get_complete_portfolio 接口获取证券总资产与持仓,输出「组合体检卡」:资产全景、产品/持仓集中度、盈亏结构、体检结论。覆盖范围仅港美股证券与现金;不含 A 股、基金、其他市场。不输出任何买卖/调仓建议。

iARK · 港美股组合体检

研判你港美股组合的持仓结构是否健康——仓位、产品集中度、盈亏分布。是否调整、如何调整,决定权始终在用户。

职责

| 职责 | 说明 | |:-----|:-----| | 组合结构诊断 | 仓位占比、产品/持仓集中度、盈亏分布的事实呈现 | | 体检卡输出 | 资产全景 + 集中度 + 盈亏 + 结论,一张结构化组合体检卡 | | 覆盖范围 | 仅港股 + 美股证券及对应现金;A 股、公募基金、其他市场资产不在范围内 |

输入

[组合诊断入口](Step 1→Step 5)

由主控传入:

输出

返回给主控:
不落盘原则:所有中间数据在内存中处理,产出作为 Agent 响应消息直接返回,不写磁盘文件。

⛔ 执行流程(强制检查点,按顺序执行,禁止跳步)

执行规则:每个检查点必须完成后才能进入下一个。每个检查点的「强制输出」是推进的唯一依据,未输出视为执行失败。
检查点输出禁止外泄:所有 📋 Step N … 检查点行仅用于内部执行验证与调试日志,严禁出现在面向用户的最终响应消息中。用户看到的只能是最终体检卡/分析结果与 disclaimer,不得包含任何 📋 开头的检查点文本。

Step 1:触发判定

操作: 1. 判断用户问题是否属于本 Skill 处理范围 2. 匹配则继续;不匹配则转交或终止 3. 调用 trade_get_account_info 检证券账户状态(已开通/休眠/未开通),休眠或未开通则走「失败处理」短路 内嵌规则 强制输出(仅用于内部执行验证,严禁出现在面向用户的最终响应中):
📋 Step 1 触发判定:✅ 命中触发条件「[匹配关键词]」 / ❌ 转交 [目标Skill] / ❌ 终止
核心原则(禁止行为): 通关标准: | 检查项 | 标准 | 禁止 | |:-------|:-----|:-----| | 触发/转交判定 | 明确命中触发条件或明确转交 | 模糊放行 | 失败处理(判定顺序:先休眠再未开通——休眠 desc 不含「已开通」,会被未开通误判,故先排休眠): 您可以通过以下入口激活账户后再进行组合体验。 激活账户:<span data-function-type="1" data-url="https://hkapp-cdn.noahgroup.com/hkaccount/index.html?theme=stock-back-white&appLogin=1#/AccountActivate" data-text="激活账户"></span> 您可以通过以下入口完成开户后再进行组合体验。 <span data-function-type="1" data-url="https://hkapp-cdn.noahgroup.com/hkaccount/index.html?theme=stock-back-white&appLogin=1#/OpenAccount" data-text="极速开户"></span> ---

Step 2:数据获取

操作: 1. 调用 get_complete_portfolio 获取证券资产与持仓数据 2. 🔴 无持仓短路判定(取回后立即执行,在换汇 / 跑脚本之前):若 hkPositionsusPositions为空(证券账户已开通但无港美股持仓)→ 输出股票转入卡片并终止(不调 trade_convert、不跑 calc_portfolio_min.py、不进入 Step 3–5)。逐字符使用下方卡片,data-function-type="1" 为 URL 动作按钮: 您可以等有港美股持仓或通过以下入口转入股票后再进行体验。 <span data-function-type="1" data-url="https://static-resource-cdn.noahgroup.com/h5/trans-stock/index.html?appLogin=1&appTradeCheck=2&appJumpType=&appContainer=h5&currentLanguage=zh-Hans&theme=stock-back-white#/" data-text="股票转入"></span> 3. 对每个非基准币调用 trade_convert_ufg_money_balance 获取汇率 4. 校验返回数据完整性 内嵌规则 | # | 接口(Noah 证券 MCP) | 入参 | 取什么 | |---|---|---|---| | 1 | get_complete_portfolio | query_scope=["hk_positions","us_positions","sec_asset"] | secAsset[]:各币种 asset_value/market_value/cash_valuehkPositions[]+usPositions[]:各持仓 codecurrencymarket_valuepnl | | 2 | trade_convert_ufg_money_balance | from_money_typeto_money_typebalance | 换汇:返回 balance(换算后金额),用于求基准币汇率 | | 想加的维度 | 需补的真实接口 | |---|---| | 行业集中度 / 行业 HHI / 宽基ETF识别 | get_stock_basicinfo(逐只取行业、证券类型) | | 实时风险信号(主力资金流) | get_capital_flow / trade_get_sec_capital_flow | | 内部人增减持 | shareholder_inc_red_hold_by_ucode |
加这些时,沿用完整版 iark-portfolio-checkup 的口径与脚本即可。最小版刻意只保留"两个接口能算准"的部分。
强制输出(仅用于内部执行验证,严禁出现在面向用户的最终响应中):
📋 Step 2 数据获取:✅ secAsset [n]条 / hkPositions [n]条 / usPositions [n]条 / 汇率 [已获取币种列表] / ❌ 缺失项 [缺失列表]
核心原则(禁止行为): 通关标准: | 检查项 | 标准 | 禁止 | |:-------|:-----|:-----| | secAsset 返回 | 至少 1 条币种行 | 空返回当正常处理 | | 持仓返回 | hkPositions + usPositions 合计 ≥ 0 条 | 无持仓时不标注 no_holdings | | 汇率 | 每个非基准币均已获取 | 缺失汇率时不估算 | 失败处理 ---

Step 3:确定性计算

操作: 1. 将 Step 2 获取的数据组装为标准化 JSON 2. 通过 stdin 管道传给 {skill_root}/scripts/calc_portfolio_min.py 3. 读取脚本 stdout 返回的计算结果 内嵌规则
{
  "base_currency": "USD",
  "fx_to_base": { "USD": 1.0, "HKD": 0.128 },
  "sec_asset":  [ / get_complete_portfolio → secAsset 原样 / ],
  "positions":  [ / get_complete_portfolio → hkPositions + usPositions 合并,字段 code/market/currency/market_value/pnl / ]
}
强制输出(仅用于内部执行验证,严禁出现在面向用户的最终响应中):
📋 Step 3 确定性计算:✅ status_hint=[status] / denominator=[值] / holdings=[n]只 / ❌ [缺失原因]
核心原则(禁止行为): 通关标准: | 检查项 | 标准 | 禁止 | |:-------|:-----|:-----| | 脚本调用 | stdin 传入 + stdout 读取 | 写临时文件 | | status_hint | 脚本返回有效枚举值 | LLM 自行编造 status | | 计算结果 | 完整读取脚本输出 | 选择性忽略字段 | 失败处理 ---

Step 4:规则分析

操作(依赖 Step 3): 1. 读取脚本返回的 status_hintflags 2. 按阈值表映射体检结论 3. 按固定枚举生成 headline 内嵌规则 | 指标 | 提示 | 警示 | flag | |---|---|---|---| | 单一个股权重 | >10% | >20% | single_stock_concentration | | 前 3 大合计 | >50% | >70% | top_holdings_concentration | | status | headline 模板(固定枚举,不得自由生成) | |---|---| | sound 结构稳健 | 结构稳健 · 未见明显集中风险 | | watch 需留意 | 需留意 · 存在集中度提示项 | | attention 需关注 | 需关注 · 存在集中度警示项 | | insufficient_data 暂无法判断 | 暂无法判断 · 关键数据缺失 | | no_holdings 无可体检标的 | 无可体检标的 · 账户无港美股持仓 | 强制输出(仅用于内部执行验证,严禁出现在面向用户的最终响应中):
📋 Step 4 规则分析:✅ status=[status] / headline=[固定枚举文本] / flags=[flag列表] / 结构特征=[3条]
核心原则(禁止行为): 通关标准: | 检查项 | 标准 | 禁止 | |:-------|:-----|:-----| | headline | 严格匹配固定枚举 | 自由发挥 | | 结构特征 | 3 条,措辞为事实呈现 | 含操作建议 | | status | 与脚本 status_hint 一致 | LLM 自行升级/降级 | 失败处理 ---

Step 5:合成输出

操作(依赖 Step 2-Step 4): 1. 将 Step 3 计算结果 + Step 4 规则分析填入体检卡输出模板 2. 填充合规字段(固定值) 3. 输出完整体检卡作为 Agent 响应消息 内嵌规则 强制输出(仅用于内部执行验证,严禁出现在面向用户的最终响应中):
📋 Step 5 合成输出:✅ 体检卡已输出 / skill=iark-portfolio-checkup-min / status=[status] / 合规边界文案已输出
核心原则(禁止行为 — 反面写法清单): 通关标准: | 检查项 | 标准 | 禁止 | |:-------|:-----|:-----| | 输出完整 | 各字段完整(全景/集中度/盈亏/结论/合规) | 缺字段 | | compliance | 合规边界文案、ai_generated=true、disclaimer 三要素齐 | 省略任一 | | headline | 严格取 Step 4 枚举 | 自由生成 | | 操作指令 | 全文零出现 | 含买入/卖出/调仓等 | 失败处理 ---

🚫 措辞红线(写死,不可绕过)

1. 禁止输出"低风险":涉及产品/资产风险等级描述时,严禁使用"低风险"字样,可使用"风险相对较低"替代。 2. 禁止输出投资类"建议"话术:面向用户的结论/结构特征措辞中严禁出现"建议"字样(如"建议分散/建议调仓"),须使用"可以考虑"替代。合规声明中的"不构成投资建议"等否定性法律措辞保留原样。 3. 禁止输出"压舱石缓冲"及类似表述:当资产较为集中时,严禁使用"压舱石""压舱石缓冲""压舱"等字眼,须使用"分散持仓风险"替代。 4. 开户/激活/转股卡片为账户操作型引导:「极速开户」「激活账户」「股票转入」卡片属开户、激活、转股入金前置操作,非产品推荐或收益暗示,不受第 2 条「投资类建议」话术禁令约束;卡片措辞须中性操作语(「先完成开户」「激活账户」「转入股票」),不得附带收益/产品指向。 ---

追问引导(回答完成后固定追加)

在 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>