Files
PythagorasGoal/Old/docs/diary/2026-06-10-funding-carry.md
Adriano Dal Pastro 14522262e6 chore(reset): v2.0.0 — storico certificato Deribit mainnet, ripartenza pulita
Reset del progetto su fondamenta verificate dopo la scoperta che l'intera
libreria "validata OOS" era artefatto di feed contaminato (print fantasma del
feed Cerbero TESTNET + storico Binance/USDT).

- Storico ricostruito da Deribit MAINNET (ccxt pubblico, tokenless) e
  CERTIFICATO (certify_feed.py): BTC/ETH puliti su TUTTA la storia
  (mediana 2-6 bps vs Coinbase USD), integrita' OHLC + coerenza resample
  (maxΔ 0.00) + cross-venue OK. Alt esclusi (illiquidi/divergenti: LTC/DOGE
  50-82% barre flat; XRP/BNB non certificabili).
- Verdetto sul feed pulito: FADE / PAIRS / XS01 / TSM01 morti (ogni
  portafoglio Sharpe -2.3..-3.0, DD ~40%); solo SH01 e frammenti HONEST
  con segnale residuo, da ri-validare in isolamento.
- Cleanup "restart pulito": strategie, stack live (src/live, src/portfolio,
  runner/executor, yml, docker), ~100 script ricerca/gate, waste/games/
  portfolios, dati non certificati + cache e 60+ diari -> archiviati in Old/
  (preservati, non cancellati). Diario consolidato in un unico documento.
- Skeleton ricerca tenuto: Strategy ABC + indicatori + src/fractal +
  src/backtest/engine + load_data; tool dati certificati (rebuild_history,
  certify_feed, audit_feed, multi_source_check).
- Universo dati ATTIVO: solo BTC/ETH (5m/15m/1h); guardrail fisico
  (load_data su alt -> FileNotFoundError). Esecuzione DISABILITATA, conto flat.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 15:20:59 +00:00

2.3 KiB
Raw Permalink Blame History

2026-06-10 — FC01 funding-carry market-neutral: SCARTATA (il carry non paga le fee)

Idea

Carry NEUTRALE sul funding Deribit (meccanismo mai esplorato: W12 era lo short direzionale su funding alto, bocciato): short della gamba col funding alto / long della gamba bassa (ETH vs BTC, dollar-neutral), incassando il differenziale di funding con esposizione residua = solo lo spread ETH/BTC.

Dati REALI: data/regime/{btc,eth}_funding.parquet — funding orario effettivo dic 2019 → giu 2026 (56.938 ore), interest_1h + index_price. Harness: scripts/analysis/funding_carry_research.py (causale: decisione al close t, accrual da t+1; fee 0.10% RT per gamba; TRAIN ≤2023-11-01 / OOS dopo).

Numeri che uccidono l'idea (prima ancora del backtest)

  • Funding annualizzato: BTC mean +7.2% / med +0.3%; ETH +5.2% / +0.05% — la MEDIANA è ~zero: il funding alto è episodico, non strutturale.
  • Spread ETHBTC: p10 19% / p90 +12.6% annualizzato, MA autocorr del 24h-smooth a 72h = 0.20 → poca persistenza.
  • Episodi |spread|>10% ann: durata mediana 19h (p90 60h) → carry incassabile per episodio ≈ 10%/8760×19h ≈ 0.02-0.05%, contro 0.20% di fee (2 gambe). Strutturalmente morto: il carry è un ordine di grandezza sotto i costi, e il price-leg dello spread ETH/BTC (vol ben maggiore del carry) domina il PnL.

Backtest (conferma)

  • FC-A spread-carry, griglia smooth {24,72,168}h × thr {5,10,20}% ann: TRAIN quasi tutto negativo (Sharpe 0.6…+0.03), OOS negativo ovunque tranne una cella (s24 thr5: OOS +38% con TRAIN 45% = rumore/sign-flip). Sweep fee: negativa anche a 0.05% RT/gamba. Annuale: 2021 93%, nessuna stabilità.
  • FC-B direzionale single-asset (confronto onesto): negativa ovunque, riconferma W12.

Verdetto

SCARTATA. Su Deribit BTC/ETH il funding non è un carry harvestabile: troppo piccolo, troppo breve, e l'hedge cross-asset introduce più rischio del carry che raccoglie. Eventuale rivisita SOLO se: (a) si aggiungono alt ad alto funding cronico (Hyperliquid, registry già validato) dove i livelli sono 5-10x, o (b) si usa il funding come FEATURE/gate di strategie esistenti (es. filtro sulle entry PR01) invece che come fonte di PnL.

Script: scripts/analysis/funding_carry_research.py (resta come record negativo).