# strategy.aggressiva.yaml — Cerbero Bite, profilo AGGRESSIVO # # Profilo "crescita: rendimenti significativi, drawdown a doppia cifra, # complessità più alta". DEROGA esplicitamente alla sezione §11 # "Riepilogo soglie" di docs/01-strategy-rules.md (cap_per_trade_eur, # cap_aggregate_open_eur, max_concurrent_positions). NON va deployato # senza: # 1. backtest dedicato sui dati raccolti # 2. paper trading per almeno 4 settimane # 3. autorizzazione esplicita scritta nel commit # # Caratteristiche operative attese (vs. profilo conservativo): # * Cap per trade 800 EUR (~860 USD) → 4× la size # * Cap aggregato 3 200 EUR (~3 440 USD) → 4× il rischio aggregato # * Max 2 posizioni concorrenti (era 1) # * Max 16 contratti per trade (era 4) # * P/L stimato: +5% / +20% APR sul capitale impiegato # * Drawdown atteso: 25–40% del capitale impiegato in streak # * Adatto a: capitale "growth", non parcheggio # # CAVEAT MULTI-ASSET. Il rule engine attuale è single-asset # (`asset.symbol`). Per estendere a ETH+BTC servono modifiche di # codice in: # * cerbero_bite/runtime/entry_cycle.py (loop su lista asset) # * cerbero_bite/state/repository.py (multi-position per asset) # * cerbero_bite/runtime/orchestrator.py (scheduler one-asset → N) # Nel frattempo il file resta single-asset ETH; il moltiplicatore # 2× via "ETH + BTC" indicato in `📚 Strategia` è una **stima ex-ante** # di cosa otterresti DOPO quel lavoro di codice. config_version: "1.2.0-aggressiva" config_hash: "e3a583cabfaa4781cd0ebcc8b62fc8f200648153738f93ab8726b062e46cacef" last_review: "2026-04-26" last_reviewer: "Adriano" asset: symbol: "ETH" exchange: "deribit" entry: cron: "0 14 * * MON" skip_holidays_country: "IT" capital_min_usd: "2880" # 4× del minimo conservativo (720) dvol_min: "35" dvol_max: "90" funding_perp_abs_max_annualized: "0.80" eth_holdings_pct_max: "0.30" no_position_concurrent: false # consenti N posizioni concorrenti exclude_macro_severity: ["high"] exclude_macro_countries: ["US", "EU"] trend_window_days: 30 trend_bull_threshold_pct: "0.05" trend_bear_threshold_pct: "-0.05" funding_bull_threshold_annualized: "0.20" funding_bear_threshold_annualized: "-0.20" iron_condor_dvol_min: "55" iron_condor_adx_max: "20" iron_condor_trend_neutral_band_pct: "0.05" # Filtri quant invariati: l'edge della strategia E' qui, non # serve allentarli per "guadagnare di più" — anzi sarebbe # controproducente. dealer_gamma_min: "0" dealer_gamma_filter_enabled: true liquidation_filter_enabled: true structure: dte_target: 18 dte_min: 14 dte_max: 21 short_strike: delta_target: "0.12" delta_min: "0.10" delta_max: "0.15" distance_otm_pct_min: "0.15" 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"} spread_width: target_pct_of_spot: "0.04" min_pct_of_spot: "0.03" max_pct_of_spot: "0.05" credit_to_width_ratio_min: "0.30" liquidity: open_interest_min: 100 volume_24h_min: 20 bid_ask_spread_pct_max: "0.15" book_depth_top3_min: 5 slippage_pct_of_credit_max: "0.08" sizing: kelly_fraction: "0.13" # disciplina Kelly invariata # Le tre leve dominanti: cap_per_trade_eur: "800" # era 200 → 4× cap_aggregate_open_eur: "3200" # era 1000 → 4× (proporzionato a 2 posizioni × cap_per_trade × 2 ruote) max_concurrent_positions: 2 # era 1 max_contracts_per_trade: 16 # era 4 → 4× dvol_adjustment: - {dvol_under: "45", multiplier: "1.00"} - {dvol_under: "60", multiplier: "0.85"} - {dvol_under: "80", multiplier: "0.65"} dvol_no_entry_threshold: "80" exit: profit_take_pct_of_credit: "0.50" stop_loss_mark_x_credit: "2.50" vol_stop_dvol_increase: "10" time_stop_dte_remaining: 7 time_stop_skip_if_close_to_profit_pct: "0.70" delta_breach_threshold: "0.30" adverse_move_4h_pct: "0.05" # §7-bis (D): vol-harvest abilitato a 15 punti vol di crollo. vol_harvest_dvol_decrease: "15" # §7.1bis (C): scala graduata di profit-take. Pipeline runtime # non ancora attiva; tenuta vuota fino al merge della # partial-close pipeline. profit_take_partial_levels: [] monitor_cron: "0 2,14 * * *" user_confirmation_timeout_min: 30 escalate_on_timeout: - "CLOSE_STOP" - "CLOSE_VOL" - "CLOSE_DELTA" # §7-bis (F): circuit breaker abilitato. Soglia 15% (più tollerante # del default conservativo perché la size aggressiva ha volatilità # attesa più alta). auto_pause: enabled: true lookback_trades: 5 max_drawdown_pct: "0.15" pause_weeks: 2 execution: environment: "testnet" eur_to_usd: "1.075" combo_only: true initial_limit: "mid" reprice_step_ticks: 1 reprice_max_steps: 3 reprice_max_steps_urgent: 5 order_tif: "GTC" order_expiry_min: 30 ack_timeout_s: 300 monitoring: health_check_interval_s: 300 health_failures_before_kill: 3 health_failures_before_restart: 5 daily_digest_cron: "0 8 * * *" monthly_report_cron: "0 12 1 * *" storage: sqlite_path: "data/state.sqlite" log_path: "data/log/" log_retention_days: 365 backup_path: "data/backups/" backup_retention_days: 30 mcp: config_file: "~/.config/cerbero-suite/mcp.json" call_timeout_s: 8 retry_max: 3 retry_base_delay_s: 1 required_versions: cerbero-deribit: "^2.0.0" cerbero-hyperliquid: "^1.5.0" cerbero-memory: "^4.0.0" cerbero-portfolio: "^1.2.0" cerbero-macro: "^1.0.0" cerbero-sentiment: "^1.0.0" cerbero-telegram: "^1.0.0" cerbero-brain-bridge: "^1.0.0" telegram: parse_mode: "MarkdownV2" confirmation_timeout_min: 60 exit_confirmation_timeout_min: 30 backup_channel_on_critical: true kelly_recalibration: lookback_days: 365 min_sample_low_confidence: 30 min_sample_high_confidence: 100 weight_when_medium_confidence: "0.50"