3. 验证规则体系总览
验证规则体系是灰度发布策略的核心决策引擎。它定义了“什么样的回测结果可以被视为有效”、“哪些异常必须阻断发布”以及“如何在不同灰度阶段动态调整验证标准”。本章从规则分类、优先级和依赖关系三个维度构建完整的规则体系视图。
3.1 规则分类
验证规则按关注领域划分为四大类别:数据规则、逻辑规则、性能规则和风控规则。每类规则对应回测流程中的不同风险点。
| 规则类别 | 关注焦点 | 典型规则示例 | 阻断等级 |
|---|---|---|---|
| 数据规则 | 输入数据的完整性、一致性与时效性 | 缺失率 < 5%、时间戳无跳跃、复权因子连续 | 高 |
| 逻辑规则 | 策略逻辑的正确性与可复现性 | 买卖信号无未来函数、持仓计算与成交记录匹配 | 极高 |
| 性能规则 | 回测执行效率与资源消耗 | 单标的回测耗时 < 30s、内存峰值 < 2GB | 中 |
| 风控规则 | 策略在极端行情下的风险暴露 | 最大回撤 < 20%、VaR 95% 在阈值内 | 高 |
灰度阶段与规则激活: 在灰度发布的早期阶段(如 5% 流量),优先激活数据规则和逻辑规则;性能规则和风控规则可在流量扩大至 30% 后逐步启用,避免因资源抖动导致误阻断。
3.2 规则优先级
规则优先级决定了当多条规则同时触发时,系统以哪条规则的判定结果为准。优先级采用 P0–P3 四级分级,P0 为最高优先级,直接阻断发布流程。
- P0(致命):数据损坏、逻辑错误、严重风控越界。一旦触发,立即终止灰度发布并回滚。
- P1(严重):数据质量不达标、性能严重退化。触发后暂停灰度,等待人工确认或自动修复。
- P2(警告):性能轻微退化、风控指标接近阈值。触发后记录告警,不阻断发布,但需在最终评审中说明。
- P3(提示):数据格式建议、逻辑冗余提示。仅记录日志,不影响发布决策。
优先级冲突处理原则: 当同一回测结果同时触发 P0 和 P2 规则时,以 P0 判定为准;当多条同优先级规则触发时,按“数据 → 逻辑 → 风控 → 性能”的默认裁决顺序执行。
3.3 规则依赖关系
规则之间存在明确的执行依赖,错误的执行顺序会导致验证结果失真。依赖关系分为三种类型:强依赖、弱依赖和独立。
| 依赖类型 | 定义 | 示例 |
|---|---|---|
| 强依赖 | 前置规则必须通过,后置规则才能执行 | 数据完整性规则 → 逻辑规则(数据不完整则逻辑验证无意义) |
| 弱依赖 | 前置规则未通过时,后置规则仍可执行但结果需标记 | 性能规则 → 风控规则(性能差时风控结果仍可参考,但需标注性能影响) |
| 独立 | 规则之间无执行顺序要求 | 数据时效性规则 ↔ 数据缺失率规则(可并行执行) |
3.4 规则执行引擎架构
验证规则体系通过一个轻量级规则引擎实现自动化编排。引擎采用 DAG(有向无环图) 调度模型,确保依赖关系被正确解析,同时支持并行执行独立规则。
工程注意: DAG 调度器必须处理循环依赖检测。如果规则配置中出现 A → B → A 的循环,调度器应在初始化阶段抛出异常并拒绝执行,避免死锁。
3.5 规则配置示例
以下是一个 YAML 格式的规则配置片段,展示了规则分类、优先级和依赖关系的实际声明方式:
rules:
- id: data_completeness
category: data
priority: P0
depends_on: [] # 无依赖
condition: "missing_rate < 0.05"
action: block
- id: logic_no_future
category: logic
priority: P0
depends_on: ["data_completeness"] # 强依赖数据规则
condition: "signal_lead_time >= 0"
action: block
- id: perf_exec_time
category: performance
priority: P2
depends_on: [] # 独立规则
condition: "exec_time_sec < 30"
action: warn
- id: risk_max_drawdown
category: risk
priority: P1
depends_on: ["logic_no_future"] # 强依赖逻辑规则
condition: "max_drawdown < 0.20"
action: pause
灰度发布中的规则动态调整: 在灰度流量从 5% 提升至 50% 的过程中,规则引擎支持动态修改规则的
priority 和 action。例如,在 5% 阶段将性能规则的 action 设为 warn,在 50% 阶段提升为 block,以平衡验证严格度与发布效率。