IMM Kalman regime_score 说明
IMM Kalman regime_score 说明
版本:IMM Kalman v5.0
生效日期:2026-03-16
对应代码:src/utils/analysis/analysis_core.py—IMMKalmanBetaEstimator
定义
regime_score 是 IMM(交互多模型)滤波器中高 Q 模型的后验概率之和:
regime_score = μ[3] + μ[4] # M3 和 M4 的后验权重之和
其中 μ[j] 是模型 j 的后验权重,表示在当前观测数据下模型 j 的可信程度。
IMM 的 5 个并行模型
IMM 同时运行 5 个 Kalman 滤波器,每个对应不同的 β 过程噪声(Q_β)假设:
| 编号 | Q_β | β 每步标准差 | 物理含义 |
|---|---|---|---|
| M0 | 1e-6 | ≈ 0.001 | β 极稳定 |
| M1 | 1e-5 | ≈ 0.003 | β 缓慢漂移 |
| M2 | 1e-4 | ≈ 0.010 | β 中速漂移 |
| M3 | 1e-3 | ≈ 0.032 | β 快速变化 |
| M4 | 1e-2 | ≈ 0.100 | β 剧烈变化 |
high_q_threshold = 1e-3,M3 和 M4 被标记为"高 Q 模型",代表 β 正在发生快速或剧烈变化的假设。
直观含义
regime_score表示当前观测数据有多大概率支持"β 正在快速/剧烈变化"这个假设。
regime_score接近 0:低 Q 模型主导,β 稳定,spread 均值和方差可信,Z-score 信号可靠regime_score接近 1:高 Q 模型主导,β 正在快速突变,spread 基准不稳定,Z-score 信号可靠性低
各值域含义
| 值域 | 状态 | 说明 |
|---|---|---|
| 0.0 – 0.1 | β 极稳定 | 低 Q 模型主导,Z-score 可信 |
| 0.1 – 0.3 | β 轻微漂移 | 正常范围,无需关注 |
| 0.3 – 0.7 | 混合状态 | β 有一定变动,日志体制穿越 0.3 预警 |
| > 0.7 | β 突变期 | 超过 70% 证据指向 β 快速变化,Gate3 触发,禁止开仓 |
为什么 > 0.7 禁止开仓(Gate3)
当 regime_score > 0.7 时,M3 或 M4 主导,意味着 β 每根 4h K 线可能跳动 3–10%。
在这种幅度下:
- spread 的均值和方差均不稳定
- Z-score 是基于一个移动的 β 基准计算的,相当于在追一个移动的靶
- 此时产生的开仓信号误判率极高
Gate3 在 analyze_multi_period 中实现:
if not skip_gates and kalman_regime_out > IMM_REGIME_GATE_THRESHOLD:
return {
'status': 'failed',
'failure_reason': 'gate3',
'kalman_regime_score': kalman_regime_out,
'kalman_state': kalman_state_out, # 仍保存最新状态,供下次继续更新
...
}
拦截开仓的同时,Kalman state 照常保存,滤波器不中断更新,待 regime_score 回落后自动恢复信号产生。
日志体现
体制穿越 0.3 / 0.7 时触发 INFO 日志:
# β 开始突变(穿越 0.7,下次分析将触发 Gate3)
[IMM] PURR/.../HYPE/...-体制↑ # 104 | regime_score 0.283→0.731 穿越阈值0.7 (高Q模型激活) | effQ=3.8e-03 β=0.7891 M3
# β 恢复稳定(Gate3 解除)
[IMM] PURR/.../HYPE/...-体制↓ # 112 | regime_score 0.714→0.512 跌破阈值0.7 (低Q模型恢复) | effQ=6.2e-04 β=0.7541 M2
# 穿越 0.3(早期预警)
[IMM] PURR/.../HYPE/...-体制↑ # 91 | regime_score 0.118→0.342 穿越阈值0.3 (高Q模型激活) | effQ=4.1e-04 β=0.7203 M2
每步更新日志中也包含实时 regime_score:
[IMM] PURR/.../HYPE/... # 47 | β=0.6523(K) +0.0042vsOLS | P_β=0.0218 | regime=0.041 effQ=1.2e-05 | ν=8.3 obs=0.93 | R=3.21e-04 M1
相关配置
| 参数 | 默认值 | 说明 |
|---|---|---|
IMM_Q_BETA_GRID |
[1e-6, 1e-5, 1e-4, 1e-3, 1e-2] |
5 个模型的过程噪声网格 |
IMM_HIGH_Q_THRESHOLD |
1e-3 |
判定为高 Q 模型的 Q_β 下界 |
IMM_REGIME_GATE_THRESHOLD |
0.7 |
Gate3 触发阈值 |