diff --git a/strategy.aggressiva.yaml b/strategy.aggressiva.yaml index 3fdeb56..c615b76 100644 --- a/strategy.aggressiva.yaml +++ b/strategy.aggressiva.yaml @@ -28,9 +28,9 @@ # 2× via "ETH + BTC" indicato in `📚 Strategia` è una **stima ex-ante** # di cosa otterresti DOPO quel lavoro di codice. -config_version: "1.4.0-aggressiva" -config_hash: "7fa9b0be5b56517293421bc19838b700da595725360fe018a1be13b802dea859" -last_review: "2026-04-26" +config_version: "1.5.0-aggressiva" +config_hash: "a5e23c289315d738289f79e6b8c0e05e880e07c6ef878b013fc9849918e8b37a" +last_review: "2026-06-09" last_reviewer: "Adriano" asset: @@ -83,31 +83,52 @@ entry: vol_of_vol_lookback_hours: 24 +# §13-bis: collettore research full-chain (vedi strategy.yaml). Cattura +# tutte le scadenze ed entrambe le ali con book_depth_top3 popolato per +# il backtest opzioni per-trade/standing. Disabilitato di default. +research_collector: + enabled: false + cron: "0 * * * *" + expiry_max_days: 95 + moneyness_band_pct: null + open_interest_min: 100 + fetch_book_depth: true + book_depth_concurrency: 8 + assets: ["ETH", "BTC"] + + structure: dte_target: 18 dte_min: 14 dte_max: 21 + # PROFILO B (tune 2026-06-09): stessa correzione del profilo + # conservativo. La delta step-function aggressiva (max 0.17 a DVOL<50) + # NON bastava: il credit/width satura a ~6% e 0.30 resta irraggiungibile + # (0 spread fattibili su 3.689 snapshot). Si alza il delta band. short_strike: - delta_target: "0.12" - delta_min: "0.10" - delta_max: "0.15" - distance_otm_pct_min: "0.15" + delta_target: "0.18" + delta_min: "0.12" + delta_max: "0.22" + distance_otm_pct_min: "0.10" distance_otm_pct_max: "0.25" # §3.2 (A): step-function delta-target per regime DVOL. # DVOL bassa (≤50) → più premio; alta (>70) → più safety. delta_by_dvol: - - {dvol_under: "50", delta_target: "0.15", delta_min: "0.13", delta_max: "0.17"} - - {dvol_under: "70", delta_target: "0.12", delta_min: "0.10", delta_max: "0.15"} - - {dvol_under: "90", delta_target: "0.10", delta_min: "0.08", delta_max: "0.12"} + - {dvol_under: "50", delta_target: "0.22", delta_min: "0.18", delta_max: "0.25"} + - {dvol_under: "70", delta_target: "0.18", delta_min: "0.12", delta_max: "0.22"} + - {dvol_under: "90", delta_target: "0.15", delta_min: "0.10", delta_max: "0.18"} spread_width: target_pct_of_spot: "0.04" min_pct_of_spot: "0.03" - max_pct_of_spot: "0.05" + # 0.06: griglia strike ETH a 100pt (~6% a spot <$2k); cap 0.05 + # escludeva ogni gamba long. + max_pct_of_spot: "0.06" - credit_to_width_ratio_min: "0.30" + # Era 0.30 — fisicamente irraggiungibile. 0.08 allineato al realizzabile. + credit_to_width_ratio_min: "0.08" liquidity: open_interest_min: 100 diff --git a/strategy.yaml b/strategy.yaml index 93f55dd..06ebaf5 100644 --- a/strategy.yaml +++ b/strategy.yaml @@ -6,9 +6,9 @@ # config hash), and lands as a separate commit with the motivation in # the commit message. -config_version: "1.6.0" -config_hash: "67df85f84ce6148b88f7eb9d96346145c1b9892a7250f5fc42619da3178dac86" -last_review: "2026-05-29" +config_version: "1.7.0" +config_hash: "1171380de6d3334be1f6eed04797cebe15e5b8ec2124e130b582c2e2097bde37" +last_review: "2026-06-09" last_reviewer: "Adriano" asset: @@ -59,24 +59,49 @@ entry: iv_minus_rv_window_min_days: 30 +# §13-bis: collettore research full-chain. INDIPENDENTE dal collettore +# live (che resta sulla finestra DTE della strategia, 1 scadenza, no +# depth). Cattura tutte le scadenze <=expiry_max_days ed entrambe le +# ali, popolando book_depth_top3 → backtest opzioni per-trade e +# standing put + slippage reale. Disabilitato di default (costo API). +research_collector: + enabled: false + cron: "0 * * * *" # orario + expiry_max_days: 95 # 1g..3mesi + moneyness_band_pct: null # null = catena completa (entrambe le ali) + open_interest_min: 100 + fetch_book_depth: true + book_depth_concurrency: 8 + assets: ["ETH", "BTC"] + + structure: dte_target: 18 dte_min: 14 dte_max: 21 + # PROFILO B (tune 2026-06-09): vendere più vicino sblocca credito + # realizzabile. Analisi su 3.689 snapshot (1mag-8giu): a delta + # 0.10-0.15 il miglior credit/width ottenibile è ~6%, quindi 0.30 era + # fisicamente irraggiungibile (0 spread fattibili). Alzando il delta a + # ~0.18-0.22 il ratio sale a ~8-10% e l'eleggibilità a ~11%. short_strike: - delta_target: "0.12" - delta_min: "0.10" - delta_max: "0.15" - distance_otm_pct_min: "0.15" + delta_target: "0.18" + delta_min: "0.12" + delta_max: "0.22" + distance_otm_pct_min: "0.10" distance_otm_pct_max: "0.25" spread_width: target_pct_of_spot: "0.04" min_pct_of_spot: "0.03" - max_pct_of_spot: "0.05" + # 0.06: la griglia strike ETH sotto i $1500 è a 100pt (~6% a spot + # <$2k). Con cap 0.05 nessuna gamba long rientrava in banda. + max_pct_of_spot: "0.06" - credit_to_width_ratio_min: "0.30" + # Era 0.30 — irraggiungibile con delta <=0.30 in questo mercato. + # 0.08 = allineato al credit/width fisicamente realizzabile a delta ~0.18. + credit_to_width_ratio_min: "0.08" liquidity: open_interest_min: 100