# Config LIVE del paper trader a portafoglio. Seleziona UN portafoglio attivo
# (definito in scripts/portfolios/_defs.py) e ne fa l'override dei parametri operativi.
active: PORT06            # default raccomandato: master + shape
overrides:
  total_capital: 2000
  weighting: cap          # equal | cap | inverse_vol | cluster_rp | manual
  # NB: questo dict SOSTITUISCE interamente i caps di _defs.py (setattr in
  # base.py:load_active_portfolio) → va ridichiarato COMPLETO. Il cap SHAPE
  # 0.0588 (mitigazione coda SH01, 2026-06-05) era stato perso per questo.
  caps: {PAIRS: 0.33, SHAPE: 0.0588}
  leverage: 2             # sobrio per il live reale
  rebalance: 1D
  poll_seconds: 60
  # Frazione di capitale-sleeve per posizione (canonico backtest = 0.15).
  # 0.5 con leva 2x = 100% della fetta impegnata quando in posizione (max impiego
  # dei 2K senza debito di margine). NB: il DD scala ~lineare (~×3.3 vs validato).
  position_size: 0.5
  # Override per-famiglia (chiave = weighting.family_of). PAIRS 0.20 (2026-06-07):
  # famiglia SENZA stop, validata a esposizione 0.45 (pos 0.15 lev 3) — a 0.5×2=1.0
  # girava a ~2.2x il validato (ETH/BTC DD grezzo 78%; ADA/ETH live -4.26% sleeve in
  # un trade). A 0.20×2=0.40 ≈ validato: PORT06 OOS DD 3.40→1.26%, costo OOS Sharpe
  # 9.05→8.43 (assicurazione, come il cap SHAPE). Gate: pairspos_port06_impact.py.
  position_size_family: {PAIRS: 0.20}
  # Esecuzione REALE su Deribit testnet, in SHADOW (sim + reale in parallelo).
  # I 7 single-leg con TP/SL in metadata: 6 fade (MR01/MR02/MR07 x BTC/ETH) +
  # DIP01 BTC (attivato 2026-06-04: stesso wiring StrategyWorker, TP limit resting
  # incluso). Ordini sui LINEARI USDC (payoff lineare = matematica del backtest;
  # fee/PnL in USDC). Gli altri sleeve (pairs/rotation/tsmom/shape) restano
  # simulati: pairs richiede executor a 2 gambe, shape non ha TP (orizzonte puro).
  execution:
    enabled: true
    sleeves: [MR01, MR02, MR07, DIP01]
    instruments:
      BTC: BTC_USDC-PERPETUAL
      ETH: ETH_USDC-PERPETUAL
    # Disaster-bracket on-book (2026-06-07): STOP_MARKET reduce-only a ~-30%
    # dall'ingresso, piazzato a ogni REAL_OPEN e cancellato alla chiusura.
    # Assicurazione per gli outage (runner fermo = exit non valutati); in
    # operativita' normale non scatta mai -> 0 costo Sharpe. 0 = disattivo.
    disaster_sl_pct: 0.30
