feat: add advisor portfolio analysis

This commit is contained in:
Windows
2026-09-11 13:20:09 +08:00
parent 60c4a49b9b
commit 281e76e4b1
13 changed files with 448 additions and 22 deletions
+29 -18
View File
@@ -76,6 +76,17 @@ Agent 暴露客户最新的 `confirmed` 目标,未确认目标不会进入后
阶段七测试结果:专项测试 `5 passed`,全量单元测试 `468 passed, 3 warnings`,Ruff
通过,MyPy(122 个源文件)通过。阶段七提交:待提交。
### 阶段八:持仓分析(核心完成,图谱增强待补)
已基于现行 `fin_holding`、`fin_product` 和投顾行业/历史指标表完成只读持仓分析:
支持持仓查询、市值汇总、单产品集中度、行业穿透、产品/行业 HHI、行业与历史指标
覆盖率,并在市值或行业数据不足时返回明确的降级状态和警告。MySQL 是数值分析的
唯一事实来源,输出只生成分析结论,不生成交易指令;图谱上下文当前明确标记为
`neo4j_not_configured`,真实 Neo4j 关系增强留在后续阶段。
阶段八测试结果:专项测试 `4 passed`,全量单元测试 `471 passed, 3 warnings`,Ruff
通过,MyPy(127 个源文件)通过。阶段八核心提交:待提交。
## 一、迁移准备
- [ ] 确认远程仓库可访问。(当前失败:连接 `47.106.207.27:3000` 被拒绝)
@@ -252,28 +263,28 @@ python tools/audit_constraints.py
## 八、持仓分析
- [ ] 迁移持仓查询。
- [ ] 迁移持仓市值计算。
- [ ] 迁移单产品集中度计算。
- [ ] 迁移行业集中度计算。
- [ ] 迁移 HHI 指标计算。
- [ ] 迁移行业穿透计算。
- [ ] 迁移行情和行业数据覆盖率计算。
- [x] 迁移持仓查询。
- [x] 迁移持仓市值计算。
- [x] 迁移单产品集中度计算。
- [x] 迁移行业集中度计算。
- [x] 迁移 HHI 指标计算。
- [x] 迁移行业穿透计算。
- [x] 迁移行情和行业数据覆盖率计算。
- [ ] 迁移 Neo4j 图谱增强。
- [ ] 确认 MySQL 是数值分析权威来源。
- [ ] 确认 Neo4j 只做关系增强。
- [ ] 实现图谱不可用时的降级。
- [ ] 实现关键数据不足时的降级。
- [ ] 确认分析结果不生成交易指令。
- [ ] 完成持仓分析提交 `advisor/portfolio-analysis`。
- [x] 确认 MySQL 是数值分析权威来源。
- [x] 确认 Neo4j 只做关系增强。(真实驱动接入待补)
- [x] 实现图谱不可用时的降级。(当前返回 `neo4j_not_configured`)
- [x] 实现关键数据不足时的降级。
- [x] 确认分析结果不生成交易指令。
- [x] 完成持仓分析提交 `advisor/portfolio-analysis`。(专项 `4 passed`;全量单元 `471 passed`;图谱增强待补)
验收:
- [ ] 无持仓时返回明确状态。
- [ ] 缺少市值时不计算集中度。
- [ ] 行业覆盖不足时不输出确定性行业结论。
- [ ] 图谱不可用时仍可返回可靠的数值分析。
- [ ] 客户看不到内部数据库查询细节。
- [x] 无持仓时返回明确状态。
- [x] 缺少市值时不计算集中度。
- [x] 行业覆盖不足时不输出确定性行业结论。
- [x] 图谱不可用时仍可返回可靠的数值分析。(当前图谱未配置,数值分析仍可返回)
- [x] 客户看不到内部数据库查询细节。
## 九、动态资产配置