Files
signal-platform/reports/regime-monitor-v4-calibration-20260808-200203.json
T
dennisthiessenandClaude Opus 5 c3ae5ad949 feat(research): commit the regime-monitor replay harness, and reproduce v2/v3
v3 was calibrated by replaying the series offline, but that harness was never
committed -- so its published numbers could not be re-derived, and a v4 cut would
have had to choose anchors by argument rather than measurement. This is that
harness, and it reproduces the published figures.

scripts/run_regime_monitor_calibration.py replays State/Warning session by
session from the same inputs the live job uses (Alpaca for all 33 symbols, FRED
for VIX and HY OAS), with no database: breadth and divergence come from
breadth_service's pure helpers. It never reimplements an unchanged live sensor --
_compute_index, _score_pillars, P2, P4 and the Warning sensors are imported and
called. Only candidate formulas (proposed v4) and retired ones (v2, gone from the
codebase) are defined here and patched onto the module for a variant's duration.

Reproduction of the 408 sessions ending 2026-07-24, against the figures in
docs/research/regime-monitor-v3.md:

  v2 State avg      22.6   ->  22.68
  v2 State p80      35.1   ->  35.1     exact
  v2 State max      91.2   ->  91.2     exact
  v2 P3 pegged        39   ->    39     exact
  v2 W1 live         108   ->   108     exact
  v3 State max      87.4   ->  87.4     exact
  v3 band shares  73.3/15.0/8.3/3.4 -> 73.0/15.4/8.1/3.4

Three things the harness had to get right to reach that, each of which was
initially wrong and caught by a gate rather than by inspection:

  - "W1 live 108" counts NONZERO sessions, not non-null ones. v2's divergence
    gate returned 0.0 during any decline (v3 tapers instead), so the retired
    divergence formula had to be reconstructed too.
  - v2 sliced HY_OAS_REFERENCE_YEARS = 10.0 per session, not v3's 700 days. The
    percentile leg ranks against that window, so replaying it short shifted the
    middle of the distribution while leaving the max exact.
  - The published v2 numbers correspond to FULL OAS coverage. Replaying v2 with
    the 400-calendar-day fetch it shipped with yields max 100.0 and 133
    credit-less sessions -- so that truncation was not in force when the figures
    were taken. Recorded rather than assumed.

The script refuses to emit a band recommendation unless every hard gate passes
(33 symbols fetched, per-symbol warm-up and final bar, full basket on every
session, calendar anchors, 100% coverage, and a row-wise state_v4 <= state_v3
invariant), and exits non-zero. It is meant to be structurally impossible to read
a calibration result out of a run whose pipeline did not validate. No v4 code
ships in this commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 20:05:12 +02:00

1414 lines
27 KiB
JSON

{
"generated_at": "2026-08-08T20:02:03",
"git_rev": "f22313d",
"params": {
"end": "2026-07-24",
"sessions": 408,
"history_days": 1200,
"oas_window_days": 700,
"oas_fetch_days": 4748,
"methodology": "v2_reconstruction,v3,v4,v4-vix-b,v4-p1-capped",
"expected_first_session": null,
"cache_dir": ".calib-cache",
"out": null,
"quiet": true
},
"provenance": {
"symbols": {
"AAPL": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"MSFT": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"NVDA": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"AMZN": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"META": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"GOOGL": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"AVGO": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"AMD": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"ORCL": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"CRM": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"NOW": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"PLTR": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"ANET": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"DELL": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"SMCI": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"MU": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"QCOM": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"INTC": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"AMAT": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"LRCX": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"KLAC": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"SNPS": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"CDNS": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"ADI": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"TXN": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"IBM": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"CSCO": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"PANW": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"CRWD": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"VRT": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"SMH": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"QQQ": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
},
"SPY": {
"bars": 825,
"first": "2023-04-11",
"last": "2026-07-24"
}
},
"vix": {
"points": 850,
"first": "2023-04-11",
"last": "2026-07-24"
},
"oas": {
"points": 778,
"first": "2023-08-08",
"last": "2026-07-24"
},
"scored_range": [
"2024-12-05",
"2026-07-24"
]
},
"hard_gates": [
{
"gate": "symbols_fetched",
"expected": 33,
"measured": 33,
"passed": true,
"detail": []
},
{
"gate": "per_symbol_warmup_252_bars",
"expected": "all",
"measured": 33,
"passed": true,
"detail": []
},
{
"gate": "per_symbol_reaches_last_session",
"expected": "2026-07-24",
"measured": 33,
"passed": true,
"detail": []
},
{
"gate": "breadth_counts_full_basket",
"expected": 30,
"measured": "408/408 sessions",
"passed": true,
"detail": []
},
{
"gate": "sessions_scored",
"expected": 408,
"measured": 408,
"passed": true
},
{
"gate": "last_scored_date",
"expected": "2026-07-24",
"measured": "2026-07-24",
"passed": true
},
{
"gate": "w1_available_every_session",
"expected": 408,
"measured": 408,
"passed": true
},
{
"gate": "state_coverage_100_every_row",
"expected": 0,
"measured": 0,
"passed": true,
"detail": []
},
{
"gate": "no_stale_inputs",
"expected": 0,
"measured": 0,
"passed": true,
"detail": []
},
{
"gate": "state_v4_le_v3_every_row",
"expected": 0,
"measured": 0,
"passed": true,
"detail": []
}
],
"blocked_by": [],
"provisional": false,
"variants": {
"v2_reconstruction": {
"label": "v2_reconstruction",
"sessions": 408,
"state": {
"avg": 22.68,
"median": 16.15,
"p80": 35.1,
"p90": 65.63,
"max": 91.2,
"scored": 408
},
"warning_avg": 11.65,
"saturation_census": {
"p3_pegged": 39,
"p2_pegged": 0,
"v1_pegged": 14,
"p1_pegged": 46
},
"price_argmax_sole": {
"P1": 9,
"P2": 18,
"P3": 308
},
"price_argmax_tie_inclusive": {
"P1": 82,
"P2": 53,
"P3": 381
},
"price_argmax_ties": 73,
"w1_nonzero_sessions": 108,
"band_shares_current": {
"stable": 57.1,
"watch": 30.1,
"elevated": 9.3,
"breaking": 3.4
},
"soft_gates": [
{
"gate": "v2_state_avg",
"expected": 22.6,
"measured": 22.68,
"tolerance": 0.3,
"passed": true
},
{
"gate": "v2_state_p80",
"expected": 35.1,
"measured": 35.1,
"tolerance": 0.5,
"passed": true
},
{
"gate": "v2_state_max",
"expected": 91.2,
"measured": 91.2,
"tolerance": 0.5,
"passed": true
},
{
"gate": "v2_p3_pegged",
"expected": 39,
"measured": 39,
"tolerance": 0,
"passed": true
},
{
"gate": "w1_live_sessions",
"expected": 108,
"measured": 108,
"tolerance": 0,
"passed": true
}
]
},
"v3": {
"label": "v3",
"sessions": 408,
"state": {
"avg": 18.13,
"median": 9.1,
"p80": 31.36,
"p90": 65.0,
"max": 87.4,
"scored": 408
},
"warning_avg": 14.88,
"saturation_census": {
"p3_pegged": 0,
"p2_pegged": 0,
"v1_pegged": 14,
"p1_pegged": 46
},
"price_argmax_sole": {
"P1": 71,
"P2": 33,
"P3": 268
},
"price_argmax_tie_inclusive": {
"P1": 107,
"P2": 69,
"P3": 304
},
"price_argmax_ties": 36,
"w1_nonzero_sessions": 197,
"band_shares_current": {
"stable": 73.0,
"watch": 15.4,
"elevated": 8.1,
"breaking": 3.4
},
"soft_gates": [
{
"gate": "v3_state_max",
"expected": 87.4,
"measured": 87.4,
"tolerance": 0.5,
"passed": true
}
]
},
"v4": {
"label": "v4",
"sessions": 408,
"state": {
"avg": 14.78,
"median": 8.35,
"p80": 21.7,
"p90": 43.63,
"max": 83.5,
"scored": 408
},
"warning_avg": 14.88,
"saturation_census": {
"p3_pegged": 0,
"p2_pegged": 0,
"v1_pegged": 0,
"p1_pegged": 0
},
"price_argmax_sole": {
"P1": 17,
"P2": 48,
"P3": 307
},
"price_argmax_tie_inclusive": {
"P1": 53,
"P2": 84,
"P3": 343
},
"price_argmax_ties": 36,
"w1_nonzero_sessions": 197,
"band_shares_current": {
"stable": 78.9,
"watch": 13.0,
"elevated": 7.4,
"breaking": 0.7
},
"soft_gates": [],
"band_grid": [
{
"bands": [
15.0,
40.0,
60.0
],
"shares": {
"stable": 68.9,
"watch": 19.6,
"elevated": 6.4,
"breaking": 5.1
}
},
{
"bands": [
15.0,
40.0,
65.0
],
"shares": {
"stable": 68.9,
"watch": 19.6,
"elevated": 8.1,
"breaking": 3.4
}
},
{
"bands": [
15.0,
40.0,
70.0
],
"shares": {
"stable": 68.9,
"watch": 19.6,
"elevated": 10.3,
"breaking": 1.2
}
},
{
"bands": [
15.0,
50.0,
60.0
],
"shares": {
"stable": 68.9,
"watch": 23.0,
"elevated": 2.9,
"breaking": 5.1
}
},
{
"bands": [
15.0,
50.0,
65.0
],
"shares": {
"stable": 68.9,
"watch": 23.0,
"elevated": 4.7,
"breaking": 3.4
}
},
{
"bands": [
15.0,
50.0,
70.0
],
"shares": {
"stable": 68.9,
"watch": 23.0,
"elevated": 6.9,
"breaking": 1.2
}
},
{
"bands": [
20.0,
40.0,
60.0
],
"shares": {
"stable": 78.9,
"watch": 9.6,
"elevated": 6.4,
"breaking": 5.1
}
},
{
"bands": [
20.0,
40.0,
65.0
],
"shares": {
"stable": 78.9,
"watch": 9.6,
"elevated": 8.1,
"breaking": 3.4
}
},
{
"bands": [
20.0,
40.0,
70.0
],
"shares": {
"stable": 78.9,
"watch": 9.6,
"elevated": 10.3,
"breaking": 1.2
}
},
{
"bands": [
20.0,
50.0,
60.0
],
"shares": {
"stable": 78.9,
"watch": 13.0,
"elevated": 2.9,
"breaking": 5.1
}
},
{
"bands": [
20.0,
50.0,
65.0
],
"shares": {
"stable": 78.9,
"watch": 13.0,
"elevated": 4.7,
"breaking": 3.4
}
},
{
"bands": [
20.0,
50.0,
70.0
],
"shares": {
"stable": 78.9,
"watch": 13.0,
"elevated": 6.9,
"breaking": 1.2
}
},
{
"bands": [
25.0,
40.0,
60.0
],
"shares": {
"stable": 82.1,
"watch": 6.4,
"elevated": 6.4,
"breaking": 5.1
}
},
{
"bands": [
25.0,
40.0,
65.0
],
"shares": {
"stable": 82.1,
"watch": 6.4,
"elevated": 8.1,
"breaking": 3.4
}
},
{
"bands": [
25.0,
40.0,
70.0
],
"shares": {
"stable": 82.1,
"watch": 6.4,
"elevated": 10.3,
"breaking": 1.2
}
},
{
"bands": [
25.0,
50.0,
60.0
],
"shares": {
"stable": 82.1,
"watch": 9.8,
"elevated": 2.9,
"breaking": 5.1
}
},
{
"bands": [
25.0,
50.0,
65.0
],
"shares": {
"stable": 82.1,
"watch": 9.8,
"elevated": 4.7,
"breaking": 3.4
}
},
{
"bands": [
25.0,
50.0,
70.0
],
"shares": {
"stable": 82.1,
"watch": 9.8,
"elevated": 6.9,
"breaking": 1.2
}
}
]
},
"v4-vix-b": {
"label": "v4-vix-b",
"sessions": 408,
"state": {
"avg": 15.24,
"median": 8.55,
"p80": 22.62,
"p90": 44.33,
"max": 83.6,
"scored": 408
},
"warning_avg": 14.88,
"saturation_census": {
"p3_pegged": 0,
"p2_pegged": 0,
"v1_pegged": 0,
"p1_pegged": 0
},
"price_argmax_sole": {
"P1": 17,
"P2": 48,
"P3": 307
},
"price_argmax_tie_inclusive": {
"P1": 53,
"P2": 84,
"P3": 343
},
"price_argmax_ties": 36,
"w1_nonzero_sessions": 197,
"band_shares_current": {
"stable": 77.9,
"watch": 13.7,
"elevated": 7.6,
"breaking": 0.7
},
"soft_gates": [],
"band_grid": [
{
"bands": [
15.0,
40.0,
60.0
],
"shares": {
"stable": 68.1,
"watch": 20.1,
"elevated": 6.4,
"breaking": 5.4
}
},
{
"bands": [
15.0,
40.0,
65.0
],
"shares": {
"stable": 68.1,
"watch": 20.1,
"elevated": 8.1,
"breaking": 3.7
}
},
{
"bands": [
15.0,
40.0,
70.0
],
"shares": {
"stable": 68.1,
"watch": 20.1,
"elevated": 10.0,
"breaking": 1.7
}
},
{
"bands": [
15.0,
50.0,
60.0
],
"shares": {
"stable": 68.1,
"watch": 23.5,
"elevated": 2.9,
"breaking": 5.4
}
},
{
"bands": [
15.0,
50.0,
65.0
],
"shares": {
"stable": 68.1,
"watch": 23.5,
"elevated": 4.7,
"breaking": 3.7
}
},
{
"bands": [
15.0,
50.0,
70.0
],
"shares": {
"stable": 68.1,
"watch": 23.5,
"elevated": 6.6,
"breaking": 1.7
}
},
{
"bands": [
20.0,
40.0,
60.0
],
"shares": {
"stable": 77.9,
"watch": 10.3,
"elevated": 6.4,
"breaking": 5.4
}
},
{
"bands": [
20.0,
40.0,
65.0
],
"shares": {
"stable": 77.9,
"watch": 10.3,
"elevated": 8.1,
"breaking": 3.7
}
},
{
"bands": [
20.0,
40.0,
70.0
],
"shares": {
"stable": 77.9,
"watch": 10.3,
"elevated": 10.0,
"breaking": 1.7
}
},
{
"bands": [
20.0,
50.0,
60.0
],
"shares": {
"stable": 77.9,
"watch": 13.7,
"elevated": 2.9,
"breaking": 5.4
}
},
{
"bands": [
20.0,
50.0,
65.0
],
"shares": {
"stable": 77.9,
"watch": 13.7,
"elevated": 4.7,
"breaking": 3.7
}
},
{
"bands": [
20.0,
50.0,
70.0
],
"shares": {
"stable": 77.9,
"watch": 13.7,
"elevated": 6.6,
"breaking": 1.7
}
},
{
"bands": [
25.0,
40.0,
60.0
],
"shares": {
"stable": 81.6,
"watch": 6.6,
"elevated": 6.4,
"breaking": 5.4
}
},
{
"bands": [
25.0,
40.0,
65.0
],
"shares": {
"stable": 81.6,
"watch": 6.6,
"elevated": 8.1,
"breaking": 3.7
}
},
{
"bands": [
25.0,
40.0,
70.0
],
"shares": {
"stable": 81.6,
"watch": 6.6,
"elevated": 10.0,
"breaking": 1.7
}
},
{
"bands": [
25.0,
50.0,
60.0
],
"shares": {
"stable": 81.6,
"watch": 10.0,
"elevated": 2.9,
"breaking": 5.4
}
},
{
"bands": [
25.0,
50.0,
65.0
],
"shares": {
"stable": 81.6,
"watch": 10.0,
"elevated": 4.7,
"breaking": 3.7
}
},
{
"bands": [
25.0,
50.0,
70.0
],
"shares": {
"stable": 81.6,
"watch": 10.0,
"elevated": 6.6,
"breaking": 1.7
}
}
]
},
"v4-p1-capped": {
"label": "v4-p1-capped",
"sessions": 408,
"state": {
"avg": 14.73,
"median": 8.35,
"p80": 21.7,
"p90": 43.63,
"max": 80.1,
"scored": 408
},
"warning_avg": 14.88,
"saturation_census": {
"p3_pegged": 0,
"p2_pegged": 0,
"v1_pegged": 0,
"p1_pegged": 0
},
"price_argmax_sole": {
"P1": 0,
"P2": 49,
"P3": 323
},
"price_argmax_tie_inclusive": {
"P1": 36,
"P2": 85,
"P3": 359
},
"price_argmax_ties": 36,
"w1_nonzero_sessions": 197,
"band_shares_current": {
"stable": 78.9,
"watch": 13.0,
"elevated": 7.8,
"breaking": 0.2
},
"soft_gates": [],
"band_grid": [
{
"bands": [
15.0,
40.0,
60.0
],
"shares": {
"stable": 68.9,
"watch": 19.6,
"elevated": 6.4,
"breaking": 5.1
}
},
{
"bands": [
15.0,
40.0,
65.0
],
"shares": {
"stable": 68.9,
"watch": 19.6,
"elevated": 8.1,
"breaking": 3.4
}
},
{
"bands": [
15.0,
40.0,
70.0
],
"shares": {
"stable": 68.9,
"watch": 19.6,
"elevated": 10.3,
"breaking": 1.2
}
},
{
"bands": [
15.0,
50.0,
60.0
],
"shares": {
"stable": 68.9,
"watch": 23.0,
"elevated": 2.9,
"breaking": 5.1
}
},
{
"bands": [
15.0,
50.0,
65.0
],
"shares": {
"stable": 68.9,
"watch": 23.0,
"elevated": 4.7,
"breaking": 3.4
}
},
{
"bands": [
15.0,
50.0,
70.0
],
"shares": {
"stable": 68.9,
"watch": 23.0,
"elevated": 6.9,
"breaking": 1.2
}
},
{
"bands": [
20.0,
40.0,
60.0
],
"shares": {
"stable": 78.9,
"watch": 9.6,
"elevated": 6.4,
"breaking": 5.1
}
},
{
"bands": [
20.0,
40.0,
65.0
],
"shares": {
"stable": 78.9,
"watch": 9.6,
"elevated": 8.1,
"breaking": 3.4
}
},
{
"bands": [
20.0,
40.0,
70.0
],
"shares": {
"stable": 78.9,
"watch": 9.6,
"elevated": 10.3,
"breaking": 1.2
}
},
{
"bands": [
20.0,
50.0,
60.0
],
"shares": {
"stable": 78.9,
"watch": 13.0,
"elevated": 2.9,
"breaking": 5.1
}
},
{
"bands": [
20.0,
50.0,
65.0
],
"shares": {
"stable": 78.9,
"watch": 13.0,
"elevated": 4.7,
"breaking": 3.4
}
},
{
"bands": [
20.0,
50.0,
70.0
],
"shares": {
"stable": 78.9,
"watch": 13.0,
"elevated": 6.9,
"breaking": 1.2
}
},
{
"bands": [
25.0,
40.0,
60.0
],
"shares": {
"stable": 82.1,
"watch": 6.4,
"elevated": 6.4,
"breaking": 5.1
}
},
{
"bands": [
25.0,
40.0,
65.0
],
"shares": {
"stable": 82.1,
"watch": 6.4,
"elevated": 8.1,
"breaking": 3.4
}
},
{
"bands": [
25.0,
40.0,
70.0
],
"shares": {
"stable": 82.1,
"watch": 6.4,
"elevated": 10.3,
"breaking": 1.2
}
},
{
"bands": [
25.0,
50.0,
60.0
],
"shares": {
"stable": 82.1,
"watch": 9.8,
"elevated": 2.9,
"breaking": 5.1
}
},
{
"bands": [
25.0,
50.0,
65.0
],
"shares": {
"stable": 82.1,
"watch": 9.8,
"elevated": 4.7,
"breaking": 3.4
}
},
{
"bands": [
25.0,
50.0,
70.0
],
"shares": {
"stable": 82.1,
"watch": 9.8,
"elevated": 6.9,
"breaking": 1.2
}
}
]
}
},
"scenarios": {
"note": "pillar arithmetic on explicit sensor scores; State weights unchanged",
"vix_a": [
{
"scenario": "S1 ordinary tape",
"P1": 0.0,
"P2": 0.0,
"P3": 7.5,
"price": 7.5,
"breadth": 0.0,
"C1": 0.0,
"V1": 4.0,
"state": 3.6
},
{
"scenario": "S2 10% correction, calm credit",
"P1": 30.0,
"P2": 0.0,
"P3": 31.25,
"price": 31.25,
"breadth": 62.5,
"C1": 0.0,
"V1": 34.4,
"state": 33.28
},
{
"scenario": "S3a 2022-style, calm credit, no death cross",
"P1": 87.5,
"P2": 0.0,
"P3": 90.83,
"price": 90.83,
"breadth": 100.0,
"C1": 0.0,
"V1": 60.0,
"state": 70.33
},
{
"scenario": "S3b 2022-style, calm credit, death cross",
"P1": 87.5,
"P2": 100.0,
"P3": 90.83,
"price": 100.0,
"breadth": 100.0,
"C1": 0.0,
"V1": 60.0,
"state": 74.0
},
{
"scenario": "S4 credit event on top",
"P1": 100.0,
"P2": 100.0,
"P3": 100.0,
"price": 100.0,
"breadth": 100.0,
"C1": 75.0,
"V1": 86.67,
"state": 93.0
},
{
"scenario": "S5 March 2020, everything pegged",
"P1": 100.0,
"P2": 100.0,
"P3": 100.0,
"price": 100.0,
"breadth": 100.0,
"C1": 100.0,
"V1": 100.0,
"state": 100.0
}
]
},
"diagnostics": {
"vix_top10": [
[
"2025-04-08",
52.33
],
[
"2025-04-07",
46.98
],
[
"2025-04-04",
45.31
],
[
"2025-04-10",
40.72
],
[
"2024-08-05",
38.57
],
[
"2025-04-11",
37.56
],
[
"2025-04-21",
33.82
],
[
"2025-04-09",
33.62
],
[
"2025-04-16",
32.64
],
[
"2026-03-27",
31.05
]
],
"candidate_anchors": {
"P5_VIX_ANCHORS_A": [
[
15.0,
0.0
],
[
20.0,
20.0
],
[
25.0,
38.0
],
[
30.0,
55.0
],
[
40.0,
80.0
],
[
55.0,
100.0
]
],
"P5_VIX_ANCHORS_B": [
[
15.0,
0.0
],
[
20.0,
25.0
],
[
25.0,
45.0
],
[
30.0,
65.0
],
[
40.0,
85.0
],
[
55.0,
100.0
]
],
"P1_TREND_BREAK_ANCHORS": [
[
0.0,
20.0
],
[
3.0,
35.0
],
[
8.0,
55.0
],
[
15.0,
75.0
],
[
25.0,
100.0
]
]
}
},
"v4_recommendation": {
"state_bands_candidate": [
20.0,
50.0,
65.0
],
"provisional": false,
"note": "confirm against band_grid + scenarios before shipping"
}
}