Strategie
Convessità del trend long option a singola leg mensile BTC Deribit (con filtro cheap-IV, direzionale in entrambe le direzioni)
Esito: Abbandonato
BtcDeribitMonthlyLongOptionTrendConvexityCheapIV
Riepilogo esito
Ipotesi
Implementazione
Strategia BTC Deribit MONTHLY long option a singola leg, direzionale in entrambe le direzioni, con convessità sul trend e filtro cheap-IV. Il BTC-PERPETUAL.DERIBIT primario (1-DAY) determina il clock di rollover e fornisce la serie dei prezzi di chiusura giornalieri; le leg negoziabili sono i contratti call e put mensili ~5% OTM risolti. Quando BTC si trova in un regime rialzista confermato (prezzo sopra una SMA 50 in aumento) e AND la volatilità implicita è conveniente (percentile DVOL <= 0.40, fallback al percentile della volatilità realizzata), acquista una CALL mensile OTM; in un regime ribassista confermato AND con IV conveniente acquista una PUT mensile OTM. Al massimo una leg long per scadenza mensile, con rollover 5 DTE prima della scadenza e uscita anticipata in caso di inversione del regime contro la leg o di stop catastrofico sul premio di -70%. Vega long + direzione long, perdita massima pari al premio pagato, nessuna leg short/di copertura.
Risultati di verifica
Verifica non riuscita (Layer 3 — backtest in sandbox): il test rapido ha superato il limite di tempo reale di 300s. Quasi sempre ciò indica lavoro per barra che cresce con la cronologia, per esempio la scansione ripetuta dell’intera serie di funding/ausiliaria o la ricostruzione di una lista e la chiamata a min()/sorted() dentro calculate_signal()/on_bar() a ogni barra. Precalcolare gli array ordinati di timestamp ONCE in __init__ e usare bisect, oppure memorizzare le ricerche nella cache usando il timestamp come chiave, così che il costo per barra sia O(log n) invece di O(n).
Analista: confermare total_trades sull’intera finestra; un programma mensile long option con doppio filtro potrebbe generare troppo poche operazioni per un giudizio affidabile. Valutare di estendere lookback_days oltre 365 per accumulare più scadenze.
Numero di operazioni/potenza statistica ridotti. Scadenza mensile (dte 30) su un lookback della catena di opzioni di 365 giorni (~12 scadenze), filtrata ulteriormente da BOTH un filtro di regime a trend confermato AND un filtro cheap-IV; realisticamente apre quindi ben meno di 10 leg long nella finestra (il sandbox ne ha prodotte 9 in totale). È molto al di sotto della soglia di ~100 operazioni necessaria per distinguere chiaramente il vantaggio dal rumore, e l’ampio intervallo dello Sharpe CI ([-13.1, 11.1], PSR 0.77) conferma che la stima ha bassa affidabilità. È una caratteristica intrinseca di un programma di opzioni mensili con doppio filtro, quindi costituisce un’avvertenza per l’analista e non un difetto del codice; tuttavia, non ci si dovrebbe fidare di alcuno Sharpe/PF di questa strategia senza una finestra molto più lunga.
Verificare che BacktestRunner._apply_fees includa gli strumenti delle opzioni DERIBIT; confermare commissioni diverse da zero sull’intero backtest prima di fidarsi di avg_trade_return_pct.
Il sandbox segnala total_commission=0.0001 (quasi zero) su 9 operazioni su opzioni. Le commissioni sulle opzioni Deribit (0.03% del sottostante per contratto, con tetto a 12.5% del premio) sono rilevanti per le opzioni LONG, che pagano un premio e commissioni sia all’apertura sia alla chiusura. Commissioni prossime allo zero suggeriscono che le commissioni sulle opzioni potrebbero non essere modellate sugli strumenti delle leg inserite, sovrastimando così il rendimento netto di un portafoglio long option che paga premi. È un problema del motore di backtest/commissioni, non un difetto del codice della strategia.
Valutare di impostare il valore predefinito su False (saltare l’ingresso) quando non è misurabile né DVOL né RV, così che ogni ingresso soddisfi davvero la condizione necessaria cheap-IV; oppure confermare dai log che non siano stati effettuati ingressi usando il fallback permissivo.
Il filtro per la volatilità a basso costo-IV è PERMISSIVE quando non è disponibile nessuna delle due misure di volatilità: se la cronologia di DVOL è limitata (< min_iv_samples) AND il ripiego sulla volatilità realizzata non è calcolabile, _iv_cheap restituisce True, quindi si può aprire una posizione WITHOUT senza una condizione di volatilità a basso costo-IV confermata. L’ipotesi richiede che la volatilità a basso costo IV sia una condizione necessaria («regime confermato AND IV è a basso costo»). Per BTC Deribit DVOL, questa finestra si colma rapidamente, quindi l’impatto è limitato alla parte iniziale e discontinua del backtest, ma le operazioni aperte in quel tratto dipendono solo dal regime, e non dal regime-AND-a basso costo-IV come specificato.
Analista: verificare che l’esborso del premio per operazione, in rapporto al capitale, sia ragionevole (le opzioni long a rischio definito dovrebbero comportare un rischio contenuto in percentuale per operazione); se il contratto 1 è troppo grande rispetto al capitale, passare a un dimensionamento basato sul budget del premio (risk_frac).
avg_position_pct=93.6% nel sandbox. La dimensione è fissa, pari a 1 contratto per ingresso tramite _leg_size ereditato (contracts=1.0). Per un’opzione long il rischio reale è il premio pagato (rischio definito, ulteriormente limitato dallo stop -70%); pertanto, un valore position_pct riportato elevato probabilmente riflette la valutazione da parte del motore del valore nozionale dell’opzione NOTIONAL (contratti x sottostante) anziché del premio a rischio. Conviene confermare che la dimensione fissa di 1 contratti non concentri eccessivamente il portafoglio con capitale ridotto e non comporti un esborso di premio implausibilmente elevato rispetto al capitale nell’intero backtest.
Revisione Backtest
- Sharpe
- 3,43
- Rendimento totale
- 10,15%
- Drawdown massimo
- 9,79%
- Operazioni totali
- 9
- Tasso di successo
- 44,4%
- Profit Factor
- 1,86
Il meccanismo è valido e supera la verifica: una singola leg long option offre un’esposizione convessa a rischio definito a una visione di trend, senza percorso di esecuzione multi-leg.
Copre due categorie sottorappresentate (venue delle opzioni + direzione long_short).
Laddove opera, la convessità per operazione appare favorevole (PF 1.86, asimmetria positiva 1.55, solo max_dd 9.8%).
Solo 9 operazioni nell’intera cronologia delle opzioni disponibile; il motore segnala metrics_reliable=false.
L’intero rendimento netto deriva da un mese anomalo (2026-02 +14.3%); gli altri 8 mesi si compensano all’incirca.
sharpe_ci_low = -13.1 — Sharpe CI si colloca a cavallo di 0; deflated_sharpe non calcolabile. Le metriche non hanno significato statistico.
La catena mensile di opzioni BTC Deribit nel catalogo copre solo ~12 scadenze (da 2025-07 in poi); lookback_days=365 la copre già: nessuna modifica dello sviluppatore può aggiungere periodi mensili.
Questo è il secondo passaggio con lo stesso esito di 9 operazioni; iterare ancora contro lo stesso limite dei dati è un’attività inconcludente.
Analisi
Non NOT ottimizzare su 9 operazioni (il motore ha segnalato metrics_reliable=false e l’intero rendimento +100% deriva da un singolo mese anomalo di febbraio -2026). La causa principale è la copertura dei dati, non la logica: rolling_options.lookback_days è 365, quindi l’espansione della catena mensile ha trovato solo ~12 periodi (da 2025-07 in poi). La strategia sorella promossa CSP usava lookback_days=1100 e ha ottenuto una catena di 36 periodi, a partire da 2023. FIX: aumentare rolling_options.lookback_days a ~1100 affinché la catena mensile BTC di Deribit copra 2023-2026, generando ~36 opportunità d’ingresso (~3x delle operazioni) e un campione statisticamente verificabile che includa sia il rialzo del mercato toro 2024 sia il drawdown 2025-26. Eseguire nuovamente il backtest e confermare che il vantaggio persista su ~30+ operazioni (aspettativa positiva NOT non dipendente da un solo mese, win_rate e profit_factor stabili) prima di spendere risorse di calcolo per l’ottimizzazione. Lasciare invariato tutto il resto.
Riepilogo esito
Una strategia di opzioni meccanicamente valida e approvata dalla verifica resta comunque impossibile da convalidare se il catalogo contiene solo ~12 scadenze mensili: 9 operazioni con Sharpe CI, intervallo da -13 a +11, e tutto il rendimento concentrato in un solo mese non consentono l’ottimizzazione; occorre quindi verificare la profondità della catena di opzioni prima di iterare ripetutamente.
Il revisore del backtest ha restituito «revise_hypothesis» al controllo preliminare all’ottimizzazione: il meccanismo era valido e aveva superato la verifica, ma la catena di opzioni mensili BTC di Deribit nel catalogo copre solo ~12 scadenze (da 2025-07 in poi), quindi lookback_days=365 la copre già e nessuna modifica dello sviluppatore può aggiungere periodi; inoltre, questo era il secondo passaggio con lo stesso esito di 9 operazioni, perciò ulteriori iterazioni sarebbero state un’attività inconcludente contro un limite dei dati. La fase finale viene abbandonata.
Una strategia long option a singola leg su scadenze mensili BTC Deribit che esprimeva convessamente una visione direzionale di trend: in un regime rialzista confermato con IV conveniente acquistava una call ~5% OTM; in un regime ribassista confermato con IV conveniente, una put ~5% OTM; deteneva al massimo una leg a rischio definito (perdita massima = premio) e effettuava il rollover mensile.
Il backtest ha effettuato solo 9 operazioni nell’intera cronologia delle opzioni disponibile (6 call, 3 put, ingresso medio IV 0.323, vega netta all’ingresso +751, ~24 DTE) con metrics_reliable=false: Sharpe nominale 3.43 e fattore di profitto 1.86, con asimmetria positiva e drawdown massimo 9.8%; tuttavia, sharpe_ci_low di -13.1 (CI comprendente lo zero) e l’intero rendimento netto concentrato in un singolo mese anomalo (2026-02, +14.3%). Non è stata eseguita alcuna fase di ottimizzazione.
Stratmill è uno strumento di ricerca e paper trading, non una consulenza finanziaria né un broker. I risultati di backtest e paper trading sono ipotetici. Il trading comporta un rischio di perdita.