42 lines
2.7 KiB
Markdown
42 lines
2.7 KiB
Markdown
# 风险代理集成规划
|
||
|
||
## 目标
|
||
- 将 `risk_guard` 回合由占位消息升级为可执行决策:低置信度的部门共识需自动进入复核流程,根据风险因子、仓位约束、外部告警调整最终指令。
|
||
- 兼容历史回测与实时监控,确保补数、验证和告警闭环共享风险上下文。
|
||
|
||
## 数据与信号需求
|
||
- **输入特征**:`risk_penalty`、`position_limit`、`is_suspended` 等现有布尔/得分信号;新增日内波动、VaR、行业集中度、外部事件标签(停牌预警、合规黑名单)。
|
||
- **实时事件**:补数触发的异常、执行失败回报、仓位越界日志;需要通过 `DataBroker.register_refresh_callback()` 和交易执行层的回调管理。
|
||
- **上下文结构**:在 `AgentContext.raw` 中携带 `risk_flags`、`compliance_notes`,供主持器和前端展示。
|
||
|
||
## 决策流程改造
|
||
1. **风险评估阶段**
|
||
- 在部门回合后触发 `risk_round`,由 `RiskAgent` 复写 `Decision` 的 `requires_review` 与 `target_weight`,必要时生成“回滚/减仓”建议。
|
||
- 引入 `RiskAssessment` 数据类,存储风险来源、建议操作、置信度,序列化到 `Decision.rounds`。
|
||
2. **执行协调阶段**
|
||
- 若风险回合给出回滚指令,则 `execution_round` 应记录“冻结执行”或“调整仓位”而非直接落地。
|
||
- 将风险回合结论写入 `risk_events` 表(或新建),供 UI 与监控使用。
|
||
3. **日志与监控**
|
||
- 在 `risk_round` 中附加 `annotations` 字段:`{"breach_metrics": {...}, "actions": [...]}`。
|
||
- 通过补数回调和执行回调,将风险事件推送到监控指标,如“复核触发率”“回滚成功率”。
|
||
|
||
## 实施里程碑
|
||
1. **原型阶段**
|
||
- ✅ 重构 `RiskAgent` 以返回策略建议(持仓调整、止损触发)。
|
||
- ✅ 扩展 `Decision` 结构,增加 `risk_assessment` 字段。
|
||
- ✅ 更新 `ProtocolHost` 将风险建议纳入 `risk_round.notes`。
|
||
2. **集成验证**
|
||
- 在回测环境构造冲突样例,验证“冲突→风险建议→执行调整”链路。
|
||
- 新增测试:模拟停牌、仓位超限、黑名单事件,确认风险代理逻辑。
|
||
3. **实盘准备**
|
||
- 接入实时告警渠道(如风控系统/合规接口)。
|
||
- 监控接入:统计复核频率、回滚动作、失败告警。
|
||
4. **上线迭代**
|
||
- 影子运行记录风险建议与实际执行差异。
|
||
- 评估模型表现,迭代规则或引入强化学习风险控制策略。
|
||
|
||
## 未决事项
|
||
- 风险代理与执行模块的数据同步接口(数据库/消息队列)。
|
||
- 与合规团队确认风险阈值与回滚条件。
|
||
- 定义UI展示:风险回合的建议、证据引用、执行结果。
|