Files
PythagorasGoal/docs/diary/2026-07-24-daily-options-0dte.md
Adriano Dal Pastro 00996640fb research(cases): 3 agenti live sui 3 case — PM<->Deribit SKIP (gap=spec non alpha), HLP SKIP/WATCH (carry ex-evento 0.2%/a), 0DTE capture avviata
PM: 34 binarie riconciliate vs daily options; il gap 11pp si decompone in basis USDT
(+4-5pp ATM), tempo 8h (-+5pp) e replica su book morti; residuo tail 2-3pp sotto costi;
trade coperto reale: lock /bin/bash.1-5, P(conflitto gambe) 2-22%, margine SM domina -> SKIP.
HLP: serie daily trovata (wHLP): Sharpe 0.69 non ~2, +12% 2026 = 1 evento, ex-evento
+0.2%/a, coda JELLY = inventario ereditato troncato da voto discrezionale, Kelly f*=0
-> SKIP/WATCH con trigger meccanici. 0DTE: fee cap binding = drag 2-3x weekly, IV<RV
al front stanotte; snapshot pipeline scritta e primo capture su disco; decisione
pre-registrata a 90g di serie. Book INVARIATO.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 22:46:59 +00:00

5.2 KiB

2026-07-24 — Dossier 0DTE: economia LIVE delle daily options Deribit (BTC/ETH)

Goal. Quantificare stanotte, da quote pubbliche LIVE Deribit, l'economia del premio a scadenza DAILY (0-1DTE) — il dossier 0DTE parcheggiato. VRP01 resta deploy-bloccato dalla regola "niente short-vol da modello"; le daily (365 expiry/anno) accumulerebbero una serie di premi REALI 7x più in fretta delle weekly. Domanda: il tenor daily è quotato/eseguibile/conveniente, o muore di fee (lezione Albimarini)?

Misura (3 snapshot ~22:35 UTC, ven 24 lug): catena 0DTE (settle 25JUL 08:00, DTE 9.4h), daily "fresca" (26JUL, DTE 33.4h), weekly (31JUL, DTE 153h). Fee verificate: taker=maker 0.0003 base/contratto, cap 12.5% del premio, daily ESENTI da delivery fee. Min size: BTC 0.1 contratto, ETH 1.0. Spot 64.1k / 1859.

Numeri chiave (put credit spread -0.28d/-0.10d, prezzi al tocco, fee taker 2 gambe)

tenor credito lordo cross-spread (vs mid) fee (% credito) NETTO (% width) %width/giorno
BTC 9.4h $38.5 25% 25.0% 5.8%
BTC 33h $96.2 (0.1 lot: $9.6) 12% 20.8% 7.6% 5.5%/g
BTC weekly $224.6 16% 17.1% 9.3% 1.5%/g
ETH 9.4h $1.12 29% 29.2% 3.2%
ETH 33h $3.53 14% 23.0% 10.9% 7.8%/g
ETH weekly $13.39 8% 8.3% 12.3% 1.9%/g
  • Il cap 12.5% è quasi sempre BINDING a tenor daily (premi < 0.0024 base) → fee ≈ 10-12.5% del premio PER GAMBA, sempre. A weekly la fissa 0.0003 = 3-5% del premio. Il drag fee del daily è 2-3x quello weekly per unità di premio: la legge di scala Albimarini vista live (premio ~ √T, fee ~ costante).
  • Haircut totale mid→netto: daily 33h ≈ 30-35% del credito mid; 0DTE 9.4h ≈ 45-50%; weekly ETH ≈ 16%. Richezza di pareggio a tenor daily ≈ IV/RV ~1.4x; a weekly ~1.1x.
  • IV vs RV stanotte: ATM daily mark_iv BTC 12.8% / ETH 21.5% ann. contro RV20 29.6% / 39.8% → IV_daily/RV20 = 0.43x / 0.54x: il premio daily era SOTTO la realized (VRP negativo al front). Weekly: 33.9% / 44.9% = 1.13-1.14x RV (il VRP vive lì, coerente con VRP01). DVOL-30d 37.0 / 50.2. Caveat onesto: 1 snapshot, finestra weekend (ven→dom) = IV bassa in parte razionale; NON generalizzabile — esattamente il perché della cattura.
  • EV check ETH 33h: credito netto $2.72 < fair-value mid $4.1 e < E[payout] alla STESSA IV implicita ($4.9) → EV negativo anche al pricing del mercato, prima di ogni view di vol.
  • Quote sulle ali: sì, 2-sided su tutto il ladder anche a 9h; depth MM ETH 400-1150 contratti al tocco, BTC più sottile (0.4-49). MA la griglia strike daily è GROSSA (step 1.3% ETH): i delta -0.28/-0.10 non esistono, si salta da -0.36 a -0.12; smile ripidissimo (vendi bid_iv 13-20, compri ask_iv 22-38); le ali <5d hanno spread mediano 200% del mid = di fatto non prezzate. Tick 0.0001 base = 3-10% del premio daily: anche la granularità quota.

Margine = la realtà che uccide la taglia

Default Deribit = standard margin SENZA netting fra gambe (verificato docs): lo spread "defined-risk" è margginato come naked short + long pagata intera. Il netting (margine ≈ width) richiede Portfolio Margin, min equity ~0.5 BTC ≈ $32k. Quindi:

  • ETH 1-lot PCS daily: margine SM ~$276, credito netto $2.72, max loss ~$22 → meccanicamente eseguibile a $600 (1-2 lot), rendimento su margine ~1%/g SE zero perdite (e l'EV è negativo).
  • BTC 0.1-lot: margine SM ~$963 → FUORI a $600, dentro a $2.6k.
  • La soglia "$2.6k ETH" vale per strutture long/covered; per credit spread le soglie oneste sono: $600 = ETH 1-lot (SM), $2.6k = entrambi sottili, $32k = defined-risk vero (PM).

Pipeline di cattura — FATTA (non in cron)

scripts/research/r0724_daily_opt_snapshot.py: pubblico/read-only, appende 1 riga JSON per strumento (+1 meta con spot e DVOL) a data/options_daily/snapshots.jsonl; scadenze ≤50h, moneyness 75-125%, ~160 righe/run, ~40 MB/anno a 2 run/g. Cadenza raccomandata quando la si cabla: 08:05 UTC (daily appena listata, ~24h DTE = premio vendibile) + 07:55 UTC (pre-settle = chiude il ciclo payoff). Primo snapshot già nel file. Esisteva solo options_real_quote_check.py (weekly, one-shot, dipende da EXT path) e fetch_dvol.py (IV 30d, non quote): nessuna cattura daily preesistente.

Verdetto: CAPTURE-AND-WAIT con prior negativo sul daily

Il tenor daily NON è morto-di-quotazione (mercato 2-sided, depth reale) ma stanotte era morto-di-economia: haircut fee+spread 2-3x il weekly E IV<RV al front → servono entrambe le gambe della condizione (IV/RV>~1.4x al daily) che oggi non c'è. Nessun deploy, nessun cambio a book/pesi. Regola di decisione futura: dopo ≥90 giorni di cattura 2x/g, calcolare mediana(credito_netto/fair_mid) e mediana(IV_daily/RV_forward); il dossier si riapre SOLO se il VRP daily mediano netto-haircut > 0 (e poi passa i gate standard). Il f di stress reale arriva gratis se un crash cade nella finestra di cattura — lo stesso prerequisito che sblocca VRP01. Fino ad allora: le daily servono da strumento di misura, non da strategia.

Script: scripts/research/r0724_daily_opt_snapshot.py. Dati: data/options_daily/snapshots.jsonl.