Files
PythagorasGoal/docs/diary/2026-06-08-mr02eth-replace-search.md
T
Adriano Dal Pastro df8bfbceaa research(mr02eth): ricerca sostituto + integrazione dati opzioni cerbero-bite
Ricerca sostituto/miglioria a MR02/ETH (127 strategie + 18 overlay opzioni,
verifica avversariale, gate PORT06). Esito: miglioria = no-SL (gia' ~catturata
da EXIT-16 live); tail-hedge opzioni NO-GO empirico su prezzi reali.

Infrastruttura opzioni REALE (muro ARGO/GEX caduto):
- options_fetcher.py: importa lo storico per-strike + market_snapshots da
  cerbero-bite -> data/options/ (chain bid/ask/IV/greche/OI + pannello regime
  con net-GEX dealer/gamma-flip/VRP/funding/liquidation).
- options_chain.py: loader + skew_curve/premium_levels (aggregati reali) +
  quote() causale + load_market() (pannello regime).
- option_overlay_lab.py: overlay opzioni BS su DVOL (pricing sintetico).
- mr02eth_port06_gate.py / eth_collar_gate.py: gate swap-sleeve e collar.
- mr02eth_search/options.workflow.js: i 2 workflow.

Numeri reali: skew put 10%OTM ~1.1 (liquido), premio ~1.0%/mese; niente strike
10%OTM a 24h (overlay per-trade infattibile); collar standing paga nei crash ma
net-negativo a PORT06 (alza OOS DD). Diario + CLAUDE.md aggiornati.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 07:05:00 +00:00

7.7 KiB
Raw Blame History

2026-06-08 — Ricerca sostituto/miglioria a MR02/ETH (127 strategie + opzioni)

Contesto

MR02/ETH è lo sleeve a DD più alto della famiglia fade ed è il maggior drag dell'esecuzione reale (testnet: 19€ su 7 trade, 0 win, faded un downtrend 14% in long poi shortato il rimbalzo — whipsaw classico). Obiettivo: trovare un sostituto o una miglioria con ≥100 agenti su strategie differenti, metodologia onesta (ingresso eseguibile, fee 0.10% RT, OOS, gate PORT06).

Cosa è stato fatto

  • Workflow 1 — 109 strategie ETH distinte (mr02eth_search.workflow.js): gated-fade, mean-reversion alternative, exit, trend-following, volatilità, cross-asset, ML/shape, microstruttura, statistico-robusto. Harness onesto explore_lab. Poi verifica avversariale dei top-24 (audit look-ahead + re-implementazione indipendente + robustezza). → 26 survivor, 6 confermati.
  • Workflow 2 — 18 overlay di OPZIONI (mr02eth_options.workflow.js) + sintesi con audit crash reali. Harness nuovo option_overlay_lab.py: opzioni prezzate Black-Scholes sulla DVOL reale di Deribit (storica/gratuita, data/regime/eth_dvol.parquet), premio dedotto, ipotesi conservative (skew_mult sui comprati, uscita anticipata solo a intrinseco).
  • Gate PORT06 (mr02eth_port06_gate.py): swap di MR02_ETH col candidato, equity giornaliera su IDX 2021-2026, ri-misura FULL+OOS Sharpe/DD (cap weighting). Sanity check: MR02 ricostruito col mio engine == canonico (Δ 0.00).

Risultato (gate PORT06; baseline canonico FULL 6.43/3.96, OOS 8.58/1.36)

variante (swap MR02/ETH) FULL Sh FULL DD OOS Sh OOS DD
EXIT-16 (config LIVE) 6.73 3.67 8.80 1.23
no-SL nudo 6.76 3.68 8.87 1.23
no-SL + put/call 10% OTM 6.78 3.64 8.86 1.23
varratio_gate (PROMOSSO vs canonico) 6.41 3.73 8.53 1.36
choppiness_donch 6.37 3.35 8.47 1.32
vrp_neg_dvol_low 6.36 3.22 8.37 1.43

MIGLIORIA TROVATA (gate vs LIVE EXIT-16, non vs canonico)

Riferimento onesto = config LIVE EXIT-16 (FULL 6.73/3.67 — OOS 8.80/1.23), non l'intrabar-SL canonico che nessuno gira.

sleeve ETH ΔFULL Sh ΔFULL DD ΔOOS Sh ΔOOS DD esito
no-SL + put/call 10% OTM +0.05 0.03 +0.06 0.00 MIGLIORIA deployabile
no-SL nudo +0.04 +0.02 +0.07 0.00 migliora ma sl=0 NON deployabile
EXIT16 + put10 0.01 +0.03 0.00 0.00 = pari (assicurazione gratis)
varratio / vrp / chop / blend negativi peggiorano vs EXIT-16

La miglioria = MR02/ETH no-SL + floor a opzioni 10% OTM (put sui long, call sugli short). Batte il live EXIT-16 in modo PARETO su 3/4 metriche PORT06 (4ª piatta). Meccanismo: rimuovere lo stop (intrabar/close-confirm su una fade mean-reverting sono falsi negativi — overshoot che rientra) e dare la funzione dello stop (cap della catastrofe) a un'opzione comprata = protezione a rischio-definito SENZA il costo whipsaw/falso-stop. Standalone il salto è grande (Sharpe 8.45→12.14, OOS DD 13%→7%); a portafoglio è modesto (+0.05/+0.06 Sharpe) perché è 1 sleeve su 17, ma è un miglioramento MISURATO e verificato (soglia gate +0.03, ottenuto +0.05/+0.06), non rumore.

Conclusioni (oneste)

  1. Sostituti/blend: tutti peggiorano vs il live EXIT-16. I candidati gated (varratio/vrp/choppiness) e i blend within-sleeve battono solo lo strawman canonico, non il live; le loro basse esposizioni diluiscono il motore di ritorno (Sharpe 0.08/0.44). Lo Sharpe ~20 nell'harness era artefatto di sqrt(N_trade) (onesto ~4.3). → non sostituire né blendare.
  2. L'unica miglioria è la coppia no-SL + opzione. Il no-SL recupera il drag dello stop; l'opzione cappa la coda da gap-through che EXIT-16 NON protegge (esce al close DOPO il buco → prende la perdita piena). Audit crash: FTX nov-22 48%→−30%, LUNA-era 2022-09 63%→−31%, 2018/19 65%→−30%. Premio ~break-even (paga 156% / incassa 149%). È ciò che rende deployabile il no-SL.

Azione raccomandata

  • Deployare MR02/ETH come no-SL + floor a opzioni 10% OTM (put long / call short, per-trade o settimanale ammortizzato). Batte il live su 3/4 metriche + cappa esplicitamente la coda. Prima del capitale: validare prezzi/liquidità/ skew per-strike REALI su Deribit testnet (qui pricing BS sintetico sulla DVOL = ATM-IV; stress skew ×1.5 gonfia il premio FULL ma l'OOS regge). Stesso muro non-backtestabile di ARGO/GEX sul per-strike, aggirato col proxy DVOL.
  • Step intermedio a costo zero: aggiungere subito il floor opzione all'EXIT-16 live (= "pari" sui numeri, ma assicurazione gratis sul gap-through) mentre si valida la transizione a no-SL.

Addendum 2026-06-09 — validazione su PREZZI REALI + integrazione cerbero-bite

  • Probe live Deribit mainnet (singolo snapshot): sembrava skew ×1.6 e liquidità pessima sul 10% OTM a 1g → l'overlay per-trade pareva bocciato.
  • cerbero-bite (container accanto) ha però lo storico per-strike reale in option_chain_snapshots (SQLite, dal 2026-05-01, ~110k righe/asset, bid/ask/IV/ greche/OI, cadenza ~12min). Importato in data/options/ via options_fetcher.py; loader options_chain.py (skew_curve/premium_levels/quote causale).
  • Correzione dai dati reali (5.5 settimane): skew put 10% OTM = ×1.1 (liquido, spread ~7%) — il ×1.6 del probe era un artefatto del deep-OTM a 1g illiquido. Premio reale 10% OTM ≈ 1.0%/mese. → la miglioria no-SL+opzione regge sui prezzi veri.
  • MA vincolo strutturale reale: gli strike 10% OTM a 24h NON esistono (n=0 in 5.5 settimane; Deribit lista solo near-ATM sui tenor corti). L'overlay per-trade a 24h è infattibile; l'unica struttura eseguibile è una put settimanale/mensile standing (catastrofe-cap di sleeve), da gateare a parte coi premi reali.
  • Infrastruttura sbloccata: il muro ARGO/GEX ("opzioni non-backtestabili") è caduto per il periodo recente — d'ora in poi le tesi opzioni si validano su prezzi VERI. Importato anche il pannello market_snapshots (spot/VRP/funding/net-GEX dealer/ gamma-flip/liquidation, dal 2026-03-26) → data/options/, loader options_chain.load_market.

Addendum 2 — gate del COLLAR standing (catastrophe-cap auto-finanziato) — NO-GO

Premi reali → collar = put 13% (1.0%/m) finanziata da call +10% (1.05%/m) ≈ premio netto 0. Gate PORT06 (eth_collar_gate.py, BS calibrato skew_put 1.12 / skew_call 1.0, sweep OTM/hedge_frac):

  • Il collar PAGA nei crash (ETH 40% dic-21 → +6.1%, 30% feb-25 → +6.6%): protezione reale.
  • MA net-negativo a portafoglio: taglia il FULL DD (0.2/0.3pp) ma costa Sharpe (FULL e OOS) e ALZA l'OOS DD (+0.18/+0.28pp) — nell'OOS (no crash profondo, qualche rally) la call corta perde e il premio erode. Peggiora il DD che doveva ridurre.
  • Verdetto: il tail-hedge a opzioni NON conviene a PORT06 (né per-trade né collar). Strutturale: lo sleeve ETH pesa 6.5% → la diversificazione è già la protezione di coda (trade 65% = 4% aggregato). La cap auto-finanziata era giusta sul costo (~break-even) ma la protezione non vale il costo Sharpe/OOS-DD. Le opzioni si chiudono come NO-GO empirico su prezzi reali.

Artefatti riusabili

  • scripts/analysis/option_overlay_lab.py — overlay opzioni (pricing BS sintetico su DVOL).
  • scripts/analysis/options_fetcher.py — import storico opzioni reale da cerbero-bite → data/options/.
  • scripts/analysis/options_chain.py — loader + skew/premi reali + lookup causale (OptionChain).
  • scripts/analysis/mr02eth_port06_gate.py — gate swap-sleeve PORT06.
  • scripts/analysis/mr02eth_search.workflow.js, mr02eth_options.workflow.js.