From 0fcfff7d7e07217bdd7577cb5ae0d55502de9ba6 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 8 May 2026 20:10:07 +0000 Subject: [PATCH] feat(config): EntryConfig campi adaptive IV-RV gate + VoV guard Aggiunge i flag e i parametri per il gate IV-RV adattivo (P25 rolling) e per il Vol-of-Vol guard. Default disabilitati per non cambiare comportamento dei profili attuali. Vedi docs/superpowers/specs/2026-05-08-iv-rv-adaptive-gate-design.md Co-Authored-By: Claude Opus 4.7 (1M context) --- src/cerbero_bite/config/schema.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/cerbero_bite/config/schema.py b/src/cerbero_bite/config/schema.py index 1f34172..0b066e7 100644 --- a/src/cerbero_bite/config/schema.py +++ b/src/cerbero_bite/config/schema.py @@ -84,6 +84,24 @@ class EntryConfig(BaseModel): iv_minus_rv_min: Decimal = Field(default=Decimal("0")) iv_minus_rv_filter_enabled: bool = False + # IV richness gate adattivo (Phase 5+). Quando + # `iv_minus_rv_adaptive_enabled=True`, la soglia statica + # `iv_minus_rv_min` diventa il floor assoluto e la soglia + # effettiva è `max(P_q rolling, floor)` calcolata su + # `market_snapshots`. Vedi + # `docs/superpowers/specs/2026-05-08-iv-rv-adaptive-gate-design.md`. + iv_minus_rv_adaptive_enabled: bool = False + iv_minus_rv_percentile: Decimal = Field(default=Decimal("0.25")) + iv_minus_rv_window_target_days: int = 60 + iv_minus_rv_window_min_days: int = 30 + + # Vol-of-Vol guard (§4-quater roadmap punto 2): blocca entry se + # |DVOL_now - DVOL_24h_ago| supera la soglia. Cattura regime + # shift bruschi non riflessi nel percentile rolling. + vol_of_vol_guard_enabled: bool = False + vol_of_vol_threshold_pt: Decimal = Field(default=Decimal("5")) + vol_of_vol_lookback_hours: int = 24 + # --------------------------------------------------------------------------- # Structure