Regime Monitor v4 calibration
Generated 2026-08-08T23:16:44 at 43ee619, 2024-12-05 → 2026-07-24.
Source hashes (sha256, first 16):
app/services/regime_monitor_service.py — 3b307e3c2045f35b
app/services/breadth_service.py — b9ceb93d68d8f01b
scripts/run_regime_monitor_calibration.py — 9bc925256cc6f567
Hard gates
| gate |
expected |
measured |
|
| symbols_fetched |
33 |
33 |
ok |
| per_symbol_warmup_252_bars |
all |
33 |
ok |
| per_symbol_reaches_last_session |
2026-07-24 |
33 |
ok |
| breadth_counts_full_basket |
30 |
408/408 sessions |
ok |
| sessions_scored |
408 |
408 |
ok |
| last_scored_date |
2026-07-24 |
2026-07-24 |
ok |
| w1_available_every_session |
408 |
408 |
ok |
| state_coverage_100_every_row |
0 |
0 |
ok |
| no_stale_inputs |
0 |
0 |
ok |
| first_scored_date |
2024-12-05 |
2024-12-05 |
ok |
| state_v4_le_v3_every_row |
0 |
0 |
ok |
Distributions
| variant |
avg |
median |
p80 |
p90 |
max |
| v2_reconstruction |
22.68 |
16.15 |
35.1 |
65.63 |
91.2 |
| v2_reconstruction_oas400 |
26.54 |
18.65 |
42.52 |
81.3 |
100.0 |
| v3 |
18.13 |
9.1 |
31.36 |
65.0 |
87.4 |
| v4 |
14.78 |
8.35 |
21.7 |
43.63 |
83.5 |
| v4-vix-only |
16.64 |
8.35 |
28.6 |
61.59 |
86.6 |
| v4-p1-only |
16.28 |
9.1 |
25.44 |
45.63 |
84.0 |
| v4-vix-b |
15.24 |
8.55 |
22.62 |
44.33 |
83.6 |
| v4-p1-capped |
14.73 |
8.35 |
21.7 |
43.63 |
80.1 |
Saturation census (sessions pegged at 100)
| variant |
P1 |
P2 |
P3 |
V1 |
| v2_reconstruction |
46 |
0 |
39 |
14 |
| v2_reconstruction_oas400 |
46 |
0 |
39 |
14 |
| v3 |
46 |
0 |
0 |
14 |
| v4 |
0 |
0 |
0 |
0 |
| v4-vix-only |
46 |
0 |
0 |
0 |
| v4-p1-only |
0 |
0 |
0 |
14 |
| v4-vix-b |
0 |
0 |
0 |
0 |
| v4-p1-capped |
0 |
0 |
0 |
0 |
Reproduction gates — v2_reconstruction
| figure |
published |
measured |
|
| v2_state_avg |
22.6 |
22.68 |
ok |
| v2_state_p80 |
35.1 |
35.1 |
ok |
| v2_state_max |
91.2 |
91.2 |
ok |
| v2_p3_pegged |
39 |
39 |
ok |
| w1_live_sessions |
108 |
108 |
ok |
Reproduction gates — v3
| figure |
published |
measured |
|
| v3_state_max |
87.4 |
87.4 |
ok |
v4 band-share grid (watch 20 / elevated 50)
| breaking |
stable |
watch |
elevated |
breaking |
| 60 |
78.9 |
13.0 |
2.9 |
5.1 |
| 65 |
78.9 |
13.0 |
4.7 |
3.4 |
| 70 |
78.9 |
13.0 |
6.9 |
1.2 |
Scenarios (pillar arithmetic, explicit sensor scores)
| scenario |
price |
breadth |
C1 |
V1 |
State |
| S1 ordinary tape |
7.5 |
0.0 |
0.0 |
4.0 |
3.6 |
| S2 10% correction, calm credit |
31.25 |
62.5 |
0.0 |
34.4 |
33.28 |
| S3a 2022-style, calm credit, no death cross |
90.83 |
100.0 |
0.0 |
60.0 |
70.33 |
| S3b 2022-style, calm credit, death cross |
100.0 |
100.0 |
0.0 |
60.0 |
74.0 |
| S4 credit event on top |
100.0 |
100.0 |
75.0 |
86.67 |
93.0 |
| S5 March 2020, everything pegged |
100.0 |
100.0 |
100.0 |
100.0 |
100.0 |
Recommendation: {'state_bands_candidate': [20.0, 50.0, 65.0], 'provisional': False, 'note': 'confirm against band_grid + scenarios before shipping'}