# 2026-06-20 — Analisi strategie FinanceOld + VRP v2 (defined-risk + gate IV-rank) ## Contesto Richiesta: analizzare le strategie in `../FinanceOld`, provare a migliorarle, testarle su dati storici. Quattro progetti esaminati. Verdetto di **backtestabilità onesta** sui dati certificati (BTC/ETH Deribit mainnet + DVOL): | Progetto | Strategia | Backtestabile sui dati certi? | |---|---|---| | **FundingRateArbitrage** | Spread funding cross-exchange (perp-perp, spot-hedge) | ❌ Nessun dato funding storico nel repo (solo `exchange_settings.json`). Edge = differenza cross-venue, non ricostruibile. | | **Polybot** | Latency-arb Polymarket (BS digital-option) + sure-bet delta-neutral | ❌ `dataVPS/collector.db` (645MB) ha solo **~3 giorni** di `poly_books`+`funding`, e la tabella `ticks` (prezzi perp = cuore dell'edge) è **corrotta** ("database disk image is malformed"). L'edge è la latenza: non riproducibile su barre OHLC comunque. | | **OptionSpalping** (→Cerbero) | LLM autonomo su opzioni Deribit + perp Hyperliquid | ⚠️ È un agente LLM, non una regola meccanica. Il *concetto* (income short-vol su Deribit) è testabile. | | **OptionsAgent** | **Bear Call Spread + Long VIX hedge** su IWM, con 5 gate d'ingresso | ✅ Il *concetto* (vendi premio rischio-definito, incassa VRP, gate su IV-rank/regime) mappa direttamente sul nostro `options_vrp_lab.py`. | → Scelta operatore: **focus VRP opzioni**. L'unico filone con dati veri + metodologia onesta. ## Baseline (options_vrp_lab.py, ora con fee) Vendita put NUDA settimanale delta -0.28, premio BS su DVOL reale. f = premio_reale/modellato. - `f=1.0` (conservativo): **FULL Sh 0.78, DD 33%, worst-week -16.6%, HOLD-OUT Sh -0.25** → muore OOS. - Il rischio è la **CODA**: worst-week su LUNA (2022-06), crash 2021-05. Anno 2022 = -9%. ## VRP v2 — 3 idee di OptionsAgent portate nel framework Nuovo script `scripts/research/options_vrp_v2.py`. Tutto **causale** (strike/premio/gate da dati ≤ sell-date; payoff a scadenza sui prezzi certificati). Fee opzioni Deribit modellate (12.5% del premio netto per round-trip = cap del fee reale). Capitale = strike corto (cash-secured) per entrambe le strutture → DD/worst comparabili. 1. **Rischio definito (PUT CREDIT SPREAD)** — vendi put -0.28, COMPRI put -0.10. Il long wing **cappa la coda per costruzione**: worst-week -16.6% → **-7.4%**, DD 33% → 21%, Sh 0.78 → 0.99. 2. **Gate IV-RANK > 0.30** (cond. d'ingresso di OptionsAgent) — vendi vol solo quando ricca (percentile espandente causale di DVOL). Trada il **58%** delle settimane → **Sh 1.35** e ribalta **HOLD-OUT da -0.25 a +0.28**. È l'alpha vero: il filtro di regime, non la struttura. 3. **Crash-skip IV-rank > 0.90** (NO-GO, come "VIX>35" di OptionsAgent) — marginale da solo. 4. **Gate VRP>0** (DVOL>RV30 causale) — marginale (il VRP è >0 il 78% del tempo, poco selettivo). ### Risultati chiave (book 50/50 BTC+ETH, f=1.0 conservativo) | Config | FULL Sh | DD | worst-wk | HOLD-OUT Sh | attivo | |---|---|---|---|---|---| | naked (baseline) | 0.78 | 33% | -16.6% | **-0.25** | 100% | | spread | 0.99 | 21% | -7.4% | -0.26 | 100% | | spread + ivr30 | **1.35** | 14% | -7.4% | **+0.28** | 58% | | **COMBO** (spread+vrp+ivr30+crashskip) | 1.10 | 12% | -7.4% | **+0.60** | 41% | COMBO f=1.0 per-anno: 2021 +26%, 2022 **-6%**, 2023 +2%, 2024 +18%, 2025 -0%, 2026 +5% (il 2022, anno-crash che dimezzava il nudo, è quasi piatto: la coda è tagliata). A `f=1.29` (skew reale misurato in regime calmo) la COMBO fa FULL Sh 1.87 / HOLD 1.45 / DD 9%. ### Contributo al portafoglio (COMBO f=1.0 vs TP01) - Corr settimanale **+0.07** (scorrelato, come il VRP nudo). - TP01 70% + OPT 30% → Sh **1.00** (TP01 solo 0.73), DD **7%**. - TP01 50% + OPT 50% → Sh **1.19**, DD 7%. ## Conclusione onesta Le idee di OptionsAgent **migliorano davvero** lo sleeve VRP, in modo OOS-robusto: - la **struttura defined-risk** taglia la coda (worst -16.6%→-7.4%, DD -19pt) → meno dipendenza dal f di stress, che era il rischio non catturato del lead nudo; - il **gate IV-rank** è l'alpha: ribalta l'HOLD-OUT da negativo a positivo vendendo solo vol ricca. Resta un **lead, non un deploy**: premio MODELLATO su DVOL ATM (skew non esplicito), book a 1d, e serve la catena reale (cerbero-bite) per il f di stress in un crash. Ma è un miglioramento netto, quantificato e onesto, del miglior lead income che avevamo. Prossimo passo: rivalutare il f di stress quando cerbero-bite cattura un crash, e validare lo skew reale sul long wing (-0.10). Script: `scripts/research/options_vrp_v2.py`. Baseline: `scripts/research/options_vrp_lab.py`. ## Integrazione come sleeve (VRP01) La COMBO è stata integrata nel portafoglio come **VRP01** (`src/portfolio/sleeves._vrp_combo_returns`, `vrp_sleeve()`). Implementazione self-contained in `src/` (niente import da `scripts/`): pricing BS + strike-from-delta + gate causali inline, DVOL da `data/raw/dvol_*.parquet`. **Settimanale → giornaliero (onesto):** il rendimento settimanale è piazzato sul **giorno di scadenza**, 0.0 sugli altri giorni dello span. Questo PRESERVA lo Sharpe annualizzato (niente smoothing che gonfierebbe il daily Sharpe) e tiene lo sleeve presente ogni giorno → peso costante nell'outer-join del portafoglio. Verificato: lo sleeve daily replica i numeri settimanali (FULL Sh 1.09, HOLD 0.60, DD 12%), corr daily vs TP01 = +0.01. **Pesi (per evidenza, engine reale):** TP01+VRP01 monotòno fino al 40% VRP (FULL 1.30→1.55, HOLD 0.31→0.52, DD fermo 14%). Essendo VRP un lead MODELLATO (non deploy pieno), non lo sovrappeso: registry = **TP01 0.55 / XS01 0.25 / VRP01 0.20** (TP01 resta maggioranza, l'unico deployable pieno). La validazione 3-way completa richiede i dati Hyperliquid (XS01, gitignored, token Cerbero) → gira locale con `scripts/portfolio/run_portfolio.py`. Test: `tests/test_vrp_sleeve.py` (5 pass: monotonìa BS, ordering strike, determinismo+griglia giornaliera, gate riducono l'attività, coda tagliata <-15%).