一键导入
一键导入
| name | portfolio-health-check |
| description | 串联投资组合快速诊断、深度诊断和优化处方三个子技能。支持对话模式(交互式阶段确认)和 API 模式(无状态一次性执行)。 |
这是总控技能,不负责单独输出完整分析结论。它只负责:
用于交互式场景(用户在聊天窗口中逐步输入持仓和参数):
用于程序化调用(payload 完整传入,无需追问):
/api/v1/portfolio/deep-diagnosis -> run_pipeline()/api/v1/portfolio/optimization -> prescription_main.run_optimization()portfolio-quick-diagnosis/:快速诊断,负责持仓概览、集中度检查和总体评价。portfolio-deep-diagnosis/:深度诊断,调用 run_pipeline() 完成量化计算。portfolio-optimization/:优化处方,调用 prescription_main.py 完成约束优化。本技能的所有脚本均位于本 SKILL.md 所在目录下。执行命令前,agent 应先从 SKILL.md 的加载路径推导出技能根目录,后续所有 cd 使用该路径,不要硬编码绝对路径:
# SKILL_ROOT = 本 SKILL.md 所在目录
cd "$SKILL_ROOT" && python scripts/portfolio-health-check/qveris_client.py identify "贵州茅台"
如果 agent 是通过读取 SKILL.md 获得路径的,直接取其父目录即可。
identify 命令),至少补齐股票名称/代码互查、公司简介和行业简介。如 QVeris 无法返回结果,再用公开网络检索补全基础背景。run_pipeline() 内部自动完成(QVeris + THS),不需要手动调用。_internal 字段,不需要手动拉取。cd "$SKILL_ROOT" && python scripts/portfolio-health-check/qveris_client.py identify "贵州茅台"
cd "$SKILL_ROOT" && python scripts/portfolio-health-check/qveris_client.py identify "贵州茅台" "中国平安" "沪深300ETF"
cd "$SKILL_ROOT" && python scripts/portfolio-health-check/qveris_client.py state show
identify。identify 结果自动写入 state/portfolio_state.json 的 stage1。run_pipeline() 或 run_optimization() 的实际计算输出。你不具备估算这些数值的能力,不要尝试。每次收集信息都遵守这三条:
如果用户一次给了很多信息,先整理成结构化输入,再进入下一步。
阶段一的目标是把持仓信息整理清楚并完成确认表,所以必须尽量收齐以下内容:
如果用户给出的持仓比例加总不足 100%,不能假设剩余部分是现金。必须追问用户:剩余部分是现金、货币基金,还是有其他持仓没有列出。只有在用户明确回答后,才能确定剩余部分的归属。
如果用户只给名称没给仓位,优先追问各标的大概占比或金额。 如果用户只给股数,优先追问大致市值或占比。 如果代码不清楚,优先追问标的全称或交易所代码。
阶段一结束时,必须得到一份可供确认的持仓表。
阶段二只在快速诊断完成后进行,目标是补齐深度诊断参数。
必须收集:
rebalance_frequency):日内 / 每周 / 每月 / 每季 / 长期持有position_style):择时 / 轮动 / 恒定比例 / 定投 / 核心-卫星risk_tolerance):保守 / 稳健 / 积极 / 激进investment_horizon):<1年 / 1-3年 / 3-5年 / >5年如果用户不理解这些项,优先用选项形式提问,不要让用户自由发挥太多。
阶段三只在深度诊断完成后进行,目标是收集优化约束。
必须收集:
allowed_markets):A股 / 港股通 / 美股 等allowed_instruments):股票 / ETF / 期货 / 期权 等additional_capital_ratio):无 / 10-30% / 30-50% / 50%+objectives):资产增值 / 稳定现金流 / 对冲风险 / 打新底仓如果用户不理解这些项,先让用户从几个常见目标里选,不要让用户用长段文字自由描述。
如果用户只给了股票名称、ETF 名称或简称,没有给代码,可以先自己检索公开信息补全代码。
portfolio-quick-diagnosis/。仅在第 1 阶段完成且用户明确同意后进行。
portfolio-deep-diagnosis/(内部通过 run_pipeline() 自动完成数据拉取和量化计算)。仅在第 2 阶段完成且用户明确同意后进行。
portfolio-optimization/(内部通过 prescription_main.py 完成优化计算)。scripts/portfolio-health-check/qveris_client.pyportfolio-quick-diagnosis/SKILL.mdportfolio-deep-diagnosis/SKILL.mdportfolio-optimization/SKILL.md用于快速分析投资组合的持仓概览、集中度检查和总体评价。适用于用户请求组合快速诊断、持仓概览、集中度分析或面向客户的结构化结果说明时。
定时推送、手动获取事件资讯,并支持查询单条事件详情。
用于对投资组合进行深度诊断。收集 4 个分析参数后调用 run_pipeline() 完成量化计算,再向用户解释诊断结果。
用于基于约束条件生成投资组合优化处方。调用 prescription_main.py 完成量化优化,仅保留约束收集、异常处理和结果解释。