# 2026-09-01 — COLLAR01: il collar riduce il DD, il tetto lo paga troppo, e ciò che vince è VRP01 travestito > ⚠️ **Titolo corretto lo stesso giorno.** Diceva *«il pavimento funziona»*: la riduzione di DD è del > **collar**, non del pavimento — la put da sola lo peggiora in 16/16 celle (§72, sezione A1 sotto). *Scritto il 2026-09-01. Ogni numero è riprodotto da `scripts/research/r0901_btc_collar.py`. **Libro, pesi, cron, config INVARIATI. Nessun ordine.*** ## 0. La domanda, come è arrivata > *«crea una strategia di hold BTC in long o short con copertura con options (max 15gg)»* > *«opzione deve essere al max di 15gg»* > *«voglio ridurre la vincita, ma bloccare la perdita»* > *«ovviamente l'entrata deve essere gestita da una strategia confortata da indicatori (es. è in forte bull)»* > *«dalle opzioni dobbiamo uscire prima del termine (tra 50% e 75% del tempo)»* Le tre precisazioni cambiano l'oggetto, e vanno lette insieme: **non è una put protettiva, è un COLLAR** (pavimento comprato, tetto venduto per finanziarlo), su un **hold gated da indicatori**, con **scadenza ≤15 giorni**. ## 1. Perché questo filone si poteva riaprire §46 (TAIL-HEDGE, 2026-08-23) è **REFUTATO** e la memoria dice di battere il motivo, non di ripetere la misura. Il motivo di §46, verbatim: > *il maxDD **SALE in 162/162 celle**, a ogni lente di f, perché il **beta del libro al sottostante > è +0,076**: non si assicura un libro che nei crash è già quasi piatto.* **Quel motivo non si applica qui.** §46 assicurava il *libro* (TP01+SKH01, piatto il 28% dei giorni); qui il sottostante è un **hold di BTC, beta 1,0 per costruzione**. E §46 dichiara di non aver provato proprio questo: *«Nessuna copertura dinamica (gated su regime) è stata provata: la domanda era la statica»*. Riusati e non rimisurati: metriche e `k_for_same_dd` da `r0823_tail_hedge`, il listino fee opzioni Deribit, la catena via `cblib.load_chain()`. ## 2. L'entrata, presa dal progetto invece che inventata `trend_portfolio.tsmom_blend` media tre `np.sign()` sugli orizzonti (30, 90, 180), quindi assume **solo** i valori {−1, −1/3, +1/3, +1} (il bucket 2/3 non esiste — errore già corretto in §57). Questo dà a **"forte bull" una definizione che non aggiunge nemmeno un parametro nuovo**: - **gate FORTE** = `|blend| == 1`, tutti e tre gli orizzonti concordi → a mercato **52,5%** dei giorni - **gate LARGO** = `|blend| ≥ 1/3`, confronto dichiarato → a mercato **97,1%** dei giorni Il segno dà la direzione, quindi **long e short** sono entrambi coperti come chiesto. Si entra il giorno **dopo** il segnale (eseguibile, §8.1). ## 3. La calibrazione: quello che il modello non poteva assumere 161.964 quote a due lati su 95 giorni (2026-05-07 → 2026-09-01), scadenze 1-15 giorni. **Lo skew, ed è il fatto strutturale del filone:** | \|δ\| | IV put / ATM | IV call / ATM | la put costa | |---|---|---|---| | 0,10 | 1,249 | 0,959 | **+30%** della call | | 0,20 | 1,132 | 0,950 | **+19%** | | 0,30 | 1,072 | 0,960 | **+12%** | **Un collar delta-simmetrico è un debito netto**: compro l'ala cara e vendo quella a buon mercato. Non è un dettaglio di prezzo, è la ragione per cui "gratis" non esiste a delta simmetrici. Spread (mezza forchetta / mid): put 1,9-8,3%, call 2,1-10,0% secondo il delta. Struttura a termine IV/DVOL30 ≈ 0,92-0,94 a 2-14 giorni. 📌 **A5 confermata, e corregge un muro di §46:** il tick da **5 USDC** che lì era «il secondo muro, strutturale» vale per la famiglia **USDC**. La catena che raccogliamo è **100% inverse** (`BTC-31JUL26-45000-P`), col tick in BTC. Il muro di §46 **non si applica a questo filone**. ## 4. Il risultato, in ordine di come uccide Lente lunga 2021-03-24 → 2026-09-01 (1.988 giorni, 5,44 anni). BTC buy&hold nudo: Sharpe 0,413 · maxDD 76,73% · drift +7,82%/a. Griglia dichiarata prima: 3 δput × 3 δcall × 2 tenor × 2 gate = **48 celle**, più 12 varianti zero-cost dichiarate a parte. ### ✅ A1 CONFERMATA — il COLLAR riduce il maxDD (36/48) — ⚠️ ma NON è il pavimento a farlo **maxDD scende in 36/48 celle.** Con beta 1,0 la put para davvero: è il risultato che §46 non poteva ottenere. 🚨 **CORREZIONE (stesso giorno, `r0901c_pavimento_leva.py`, §72).** Questa riga diceva *«il pavimento funziona davvero»* e attribuiva la riduzione al pavimento. **È il COLLAR a ridurre il DD, non il pavimento**: la put **da sola**, a premio reale, **peggiora il maxDD in 16/16 celle** (FORTE 51,83% → 55,4-75,8%, LARGO 71,94% → 74,8-81,7%). Nel collar la riduzione viene dal **tetto** — il suo premio compensa il bleed della put, e cappare l'upside **abbassa il picco** da cui il DD si misura. Il pavimento pareggerebbe il DD nudo solo se le put costassero il **36-79% del reale**. Quindi: *il motivo di §46 (beta) non si applica, ma il suo verdetto — il maxDD SALE — si riproduce a beta 1,0 per un motivo diverso:* **i drawdown di BTC sono grind di 290-818 giorni, e una put a ≤15 giorni copre una finestra.** Dettaglio in `2026-09-01c-pavimento-leva.md`. ### ❌ A3 CONFERMATA — ma il de-levering lo fa meglio in 45/48 celle | gate | base gated senza opzioni | | |---|---|---| | FORTE | Sharpe 0,442 · maxDD **51,83%** · drift **+10,04%**/a | ← il null da battere | | LARGO | Sharpe 0,578 · maxDD **71,94%** · drift **+17,37%**/a | | Il null è **lo stesso hold gated, senza opzioni, scalato a iso-maxDD** — generato dallo stesso motore, non ridichiarato (P1). Il collar lo batte in **3 celle su 48**. ### ❌ A2 CONFERMATA — ogni punto di DD risparmiato costa 2-8 punti di drift Δdrift/ΔmaxDD mediano: **7,90** col gate FORTE, **1,98** col LARGO. Il tetto costa più di quanto il pavimento renda, e non di poco. ### 🚨 C9 — non è protezione, è troncatura Cella migliore, 196 cicli: **il tetto taglia nel 46,2% dei cicli vincenti, il pavimento para nel 6,7% dei cicli perdenti.** Scatta **7 volte più spesso sui vincenti che sui perdenti** — la definizione letterale di C9. *La regola dell'operatore («ridurre la vincita, bloccare la perdita») è implementata fedelmente: il problema è che su BTC quel baratto è pagato male.* ### ❌ M1 — dentro il libro non aggiunge nulla Collar Sharpe 0,508 contro TP01 **0,852**, corr +0,486. TP01 + 10% di collar: Sharpe **+0,000** e maxDD **+2,32pp**. A 25%: **−0,065** di Sharpe e **+6,57pp** di maxDD. *Peggiora proprio la cosa che dovrebbe proteggere.* ## 5. 🚨 Il fatto che vale più del verdetto **Tutte e 3 le celle vincenti stanno sul BORDO** della griglia (δput al minimo, δcall al massimo). M8: un argmax sul bordo non è una decisione. Ho esteso la famiglia (M4) con 36 trial dichiarati verso l'angolo — e lì **vince in 35/36 celle**, con il massimo *nell'angolo*: > gate FORTE, 7 giorni, **δput 0,02 · δcall 0,50** → Sharpe **1,471** · maxDD **18,12%** · drift **+29,99%**/a Il limite di quell'angolo è *nessun pavimento, tetto ATM*: **una covered call**. Cioè **la pendenza porta fuori da ciò che l'operatore ha chiesto e dentro lo short-vol.** E quel Sharpe 1,471 non è una scoperta — **è il mio prezzatore che si paga da solo**: | | DVOL / RV-forward | DVOL sta sopra | |---|---|---| | a 7 giorni | **1,320** | **76,9%** dei giorni | | a 14 giorni | **1,253** | **74,8%** dei giorni | Riprezzando le opzioni alla **volatilità effettivamente realizzata** (diagnostica con look-ahead dichiarato — è il valore equo ex-post, non una strategia): | cella | a DVOL | a vol realizzata | il VRP valeva | |---|---|---|---| | FORTE 7g δ0,02/0,50 | Sh **1,471** · +29,99% | Sh **0,511** · +8,45% | **+21,54 pp (72%)** | | LARGO 7g δ0,02/0,50 | Sh **1,141** · +32,17% | Sh **0,114** · **−1,10%** | **+33,26 pp (tutto)** | | FORTE 7g δ0,10/0,30 | VINCE | **perde** | +6,75 pp | | LARGO 14g δ0,10/0,30 | perde | perde | +8,02 pp | **Il 72-100% dell'edge dell'angolo è il premio di varianza**, non la struttura. E ciò che sopravvive alla riprezzatura — **Sharpe 0,511** — è, entro il rumore, **il numero che il progetto ha già**: VRP01 a f=0,73 vale **Sharpe 0,47**. *Non ho trovato una strategia nuova: ho ri-scoperto VRP01 per una strada più lunga.* E §3 lo blocca comunque: **«niente short-vol da modello in deploy»** — questo è esattamente short-vol da modello. ## 5-bis. L'uscita anticipata: chiesta, implementata, e costa L'operatore ha chiesto di **uscire dalle opzioni fra il 50% e il 75% del tempo**. Implementato come `exit_frac`, su tenor 14 giorni (⇒ uscita a 7 / 9 / 10 giorni). **La mia ipotesi a priori era che migliorasse**: uscire presto recupera valore temporale sulla put e rinuncia al theta più veloce sulla call, cioè proprio alla parte che stampava il premio di varianza. **Metà giusta, metà no.** | cella `δ0,10/0,30`, gate FORTE | uscita | Sharpe | drift | null | esito | VRP residuo | |---|---|---|---|---|---|---| | a scadenza | 1,000 | 0,488 | **+9,48%** | +8,07% | VINCE | +3,38pp | | 75% | 0,750 | 0,457 | +8,59% | +7,72% | VINCE | +4,93pp | | 62,5% | 0,625 | 0,366 | +6,11% | +7,98% | **perde** | +2,51pp | | 50% | 0,500 | 0,278 | **+3,84%** | +8,04% | **perde** | **+1,27pp** | **Il meccanismo previsto c'è** — il VRP residuo scende da +3,38 a +1,27pp, quindi uscire presto *davvero* rinuncia allo short-vol — **ma lo spread lo travolge**: −5,6 punti di drift sul gate FORTE, −10,2 sul LARGO (12,06% → 1,88%), e su `δ0,20/0,20` da −4,37% a −8,58%. 🚨 **E qui §46 va corretto nella sua applicazione.** §46 misurò: *«f si paga solo sulla parte di valore che converge a intrinseco, quindi un roll anticipato non lo paga»*. **Vero per una copertura SOLO LONG.** In un collar c'è una **gamba venduta da ricomprare**: uscire prima paga f *esattamente* sulla parte che a scadenza si sarebbe regolata gratis, e si fa ~2× più spesso per unità di tempo. **L'asimmetria di §46 si inverte quando la struttura ha una gamba corta.** È il risultato trasferibile di questa richiesta. **Nella banda chiesta (50-75%) il verdetto si spacca:** a **0,75** la cella onesta passa ancora il null (di poco); a **0,625 e sotto** non lo passa più. Nessun `exit_frac` ribalta il verdetto del filone — lo peggiora. ## 6. I controlli dell'apparato (M15) — 3/3 §46 insegna che *«un controllo positivo rotto dichiara guasto l'apparato»*. Prima di credere a un verdetto negativo ho verificato che l'apparato sappia riconoscere un successo: | controllo | atteso | misurato | | |---|---|---|---| | pavimento a **premio zero** (pranzo gratis) | deve VINCERE | maxDD 51,83%→**36,76%**, drift +10,04%→**+35,69%** | ✅ | | premio **×10** | deve PERDERE | drift **−33,96%**/a | ✅ | | zero-cost costruibile e finito | non NaN | drift −3,50%/a | ✅ | ## 7. Tre difetti miei, catturati dai controlli e non a occhio 1. **Bisezione dello zero-cost invertita** (`hi = md` dove serve `lo = md`): il premio cresce col delta, quindi se incasso troppo poco il tetto va *avvicinato*. Dava Sharpe −3,0/−3,9 e drift −53%/a — spazzatura che al primo giro avevo quasi pubblicato. 2. **`dcall=NaN`** nella variante zero-cost propagava NaN nella cassa allo smontaggio anticipato. 3. **C9 non consapevole della direzione:** usavo `S1 > S0` come proxy di "ciclo vincente", ma per un ciclo **short** un prezzo che sale è una **perdita**. Era la causa del risultato impossibile *«il pavimento para nello 0,0% dei cicli perdenti»* con una put a 10 delta. E due difetti di contabilità trovati prima di misurare, che avrebbero **adulato il collar**: la base senza opzioni rollava lo spot ogni `tenor` giorni pagando ~3,6%/anno di fee inesistenti; e al roll delle opzioni chiudevo e riaprivo anche lo spot, che non ha motivo di muoversi. ## 8. Cosa NON ho misurato, dichiarato - **La lente reale (quote vere, 2026-05→09) non è stata girata come backtest.** 123 giorni = ~8 cicli non sovrapposti: sotto-potenziata per costruzione, e su una finestra in cui BTC è salito da ~64,7k a ~77,5k — **avversa a un collar per costruzione**. La catena è servita a **calibrare** (skew, termine, spread), che è l'uso in cui 161.964 quote hanno potenza. - **Nessun DSR, nessun `study_family_honest`.** Non servono: il filone cade al **primo** gate (M5), e M2 si spende su ciò che il primo gate lascia in piedi. - **A6 e A7 non verificate** (lente reale non girata; il verso short è dentro i gate ma non separato). Restano previsioni non misurate, non risultati. - **Il funding dei perp non è nel motore**, come in ogni backtest del progetto: −2,16%/a di drift. Colpisce base e collar quasi allo stesso modo (stessa esposizione spot), quindi **non cambia il segno del confronto**, ma abbassa entrambi. ## 9. Verdetto > **`IL PAVIMENTO FUNZIONA — E' IL TETTO CHE NON SI PUO' PAGARE. E CIO' CHE VINCE SUL BORDO NON E' > LA PROTEZIONE: E' IL PREMIO DI VARIANZA, CIOE' VRP01`** — **REFUTATO come chiesto.** Con una postilla che è il vero risultato trasferibile: **la domanda «bloccare la perdita» ha risposta positiva sul maxDD (36/48) e negativa sul prezzo (45/48).** Su BTC il pavimento si compra meglio **tenendo meno BTC** che comprando una put e vendendo una call — e il de-levering, a differenza del collar, non tocca il rendimento nella coda destra dove BTC vive. ## 10. Cosa lo riaprirebbe - Un **f di stress misurato su un crash catturato** — la stessa condizione che §3 pone allo short-vol. Con quello, l'angolo covered-call diventa discutibile invece che escluso. - Un sottostante **senza coda destra grassa**: il tetto costa perché BTC vive lì. Su un asset a distribuzione più simmetrica il baratto cambia di segno, e il conto va rifatto. - **Non** lo riapre un tenor diverso, un delta diverso o una griglia più fine: la pendenza è monotona verso l'angolo short-vol, e l'angolo è già misurato.