From 8eaf7aa730a205d9b67e6958f7046ae30e1135d5 Mon Sep 17 00:00:00 2001 From: Adriano Dal Pastro Date: Sat, 22 Aug 2026 22:12:01 +0000 Subject: [PATCH] =?UTF-8?q?CLAUDE.md:=20terza=20ondata=20=E2=80=94=20due?= =?UTF-8?q?=20gate=20d'attesa=20eliminati,=20il=20cap=20e'=20un=20clamp=20?= =?UTF-8?q?non=20un=20moltiplicatore,=20e=20il=20funding=20non=20e'=20in?= =?UTF-8?q?=20nessun=20backtest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 586c582..9a48cd3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2312,6 +2312,126 @@ Prima ondata di ricerca onesta su BTC/ETH certificati (5 track, harness condivis su un assunto scritto in un **commento a riga 100**. *La ricerca ha smesso di essere il vincolo binding il 26/07, e due ondate da 29 filoni lo hanno CONFERMATO invece che ribaltarlo.* +- 🌊 **TERZA ONDATA 2026-08-22 notte (4 filoni) β€” DUE GATE D'ATTESA ELIMINATI, 2 difetti strutturali + trovati, 0 candidati.** Diario `docs/diary/2026-08-22-wave2-xs01-funded.md`; registro + `docs/research/RESULTS-0822.md` Β§30-33. **Libro, pesi, cron, config INVARIATI.** + βœ… **(1) `GATE PROP-01` gamba (a) β€” LISTINO: PASS 13/13.** La verifica a **€0** che il hook e il + critico avevano indicato come il vero vincolo. πŸ“Œ **Metodo: non leggere il sito della firm, + interrogare il VENUE su cui la firm esegue.** HyroTrader esegue su **Bybit**; + `api.bybit.com/v5/market/instruments-info?category=linear` (pubblico, tokenless, **833 strumenti**) + β†’ **13/13 gambe U13 `Trading`, `LinearPerpetual`, min notional $5**, leva 50-150x; **6/6** anche le + gambe non testabili. **Lo short e' STRUTTURALE su un perp**, non un permesso. + ⚠️ Non prova che la firm non abbia una **propria** lista ristretta: la sua pagina dichiara "700+ + pairs" su un venue che ne ha 833 (coerente, ma e' la *sua* dichiarazione) β†’ si chiude con una + domanda al supporto, non con un dataset. + βœ… **VALIDAZIONE del modello:** la firm dichiara **daily DD 4% Β· max loss 6%**, e + `r0725_hyro.py:48-49` usa gia' `EV_TARGET,EV_DD,EV_DL = 0.10,0.06,0.04` β†’ **le regole modellate dal + 25/07 sono quelle vere.** + 🚨 **CORREZIONE ECONOMICA: la quota d'ingresso NON e' un costo affondato** β€” e' un *"Refundable + Challenge Deposit, returned in full alongside your first funded payout"*. Il progetto l'ha sempre + modellata come spesa persa. **Resta vero che immobilizza il 91% del conto ($579 su $635), non che lo + brucia**: si perde solo nel ramo senza payout. **E' una struttura a OPZIONE, non una fee** β†’ l'EV del + biglietto va rifatto (gamba (c) del gate). *Qualita' delle fonti dichiarata: listino **primario e + misurato**; regole DD **primarie dichiarative**; rimborsabilita' **dichiarativa + secondarie + concordi**, non misurata.* + βœ… **(2) `GATE PROP-01` gamba (b) β€” chiusa OGGI invece che il 2026-10-31: PASS 23/23.** + Delta appaiato mediano **+0,1162** [p10-p90 +0,087/+0,152], **23/23 offset e 230/230 celle congiunte + positive** (soglia +0,05), su **griglia congiunta PIENA** 23 offset Γ— 10 fasi β€” non un campionamento + e non una somma di marginali. Riproduzione **7/7 esatta**, bit-exact **3/3 a 0,0**. + πŸ“Œ **La data non aspettava un dato: aspettava che qualcuno misurasse il COSTO** (0,6 s per offset; + i "~9 min" erano di una computazione che la misura non usa). **Secondo gate d'attesa eliminato in una + sera, per la stessa ragione del primo.** + 🚨 **Ma il numero operativo scende ANCORA: P(β‰₯50 €/g) da €600 in 36 mesi = 4,4% [2,5–8,2%], P(zero) + 35,3%** (l'offset canonico era al **91Β° pctl**; all'ancora canonica la macchina ridice 7,7% β†’ e' + **fortuna d'ancora, non disaccordo**). **Traiettoria del numero in una giornata: 42% β†’ 7,8% β†’ 4,4%.** + πŸ“Œ **E la distorsione dichiarata DUE VOLTE e mai rimossa β€” *"l'ottimo si appoggia a SKH01, lo sleeve + con la fortuna d'ancora piu' grande"* β€” e' MISURATA E REFUTATA nella forma forte:** a **38/25/38** + SKH01 sta **allo stesso peso del LIVE**, la sua ancora si cancella nella differenza appaiata, e li' + il delta e' **il piu' alto dei tre (+0,120)** con la banda **piu' stretta**. **L'ampiezza della banda + scala col differenziale di peso su SKH01** β†’ **cio' che paga e' XS01, non un sovrappeso dello sleeve + fragile.** + ⚠️ **Due avvertenze:** (i) **il gate e' su una DIFFERENZA, il numero operativo e' un LIVELLO** β€” + nella prima l'ancora si cancella in parte, nel secondo per niente: passano insieme e si muovono + diversamente (βˆ’33% contro βˆ’44%). ***Un gate superato non e' un numero confermato.*** (ii) il + surrogato del 22/08 era finito vicino al vero **per la cancellazione di due asimmetrie opposte**: + **il numero era giusto, il metodo no.** **Smentitore residuo fuori perimetro:** l'ancora giornaliera + di **TP01** (24 ore, canonica 00:00 UTC = la piu' fortunata delle 24) non e' toccata da questa misura. + πŸ“Œ **(3) GATE-RECON β€” il difetto `advance()` ribalta UN gate su tre, e in quello due criteri su tre.** + Audit di **sola lettura provata** (md5+mtime di **ogni** `data/paper_*` invariati). + **`STATARB 27/09 β€” riparata: RITIRO Β· attuale: CANDIDATO AL DEPLOY`** (Sharpe **+1,96 β†’ βˆ’2,02**, + maxDD 2,24% β†’ 15,19%); XSR01 e DVOLSPREAD danno **lo stesso verdetto** in entrambe le lenti. + βœ… **La premessa "rigenerare non perde la finestra" e' ora CONFERMATA PER VIA DIRETTA:** + `data/_feed_backup/*.prebuild.bak` conserva il vintage pre-riscrittura β†’ **0 barre chiuse cambiate su + 1.761.259**; l'unica riga che cambia per file e' **l'ultima del vintage, che era aperta** = *il + difetto stesso, in chiaro*. ⚠️ Limite: `hl_*_1d` e `dvol_*` **non hanno vintage su disco** β†’ per + XSR01/DVOLSPREAD l'evidenza resta **indiretta**. + 🚨 **Il veto d'integrita' di DVOLSPREAD NON scatta: 28 attive/28 = 100%.** Una serie che registra + **2 minuti di mercato al giorno** passa al 100% un veto progettato apposta per non far decidere su + dati mancanti β€” **non e' taratura**: il veto conta *se il DVOL c'era*, non *quanto dura la barra su + cui c'era* (**assi ortogonali**); la stessa soglia 0,80 sulla quota di barre **chiuse** leggerebbe + **0%**. **Variante nuova: una barra presente non e' una giornata presente.** + 🚨 **Il caso peggiore NON e' quello coi numeri piu' assurdi:** XSR01 sbaglia di **Γ—6,6** e + DVOLSPREAD di Γ—3,0 **senza cambiare verdetto**; **STATARB ha |Sharpe| quasi identico (1,96 contro + 2,02) e cambia SEGNO** β€” ed e' il gate piu' vicino. Un controllo che cercasse *"numeri troppo belli"* + **lo lascerebbe passare**; `implausible_sharpe`, girato per la prima volta sulle serie forward, dice + **"ok" in entrambe le lenti** (e chiede nβ‰₯30, quindi 2 serie su 3 **non sono giudicabili**). + **La firma da cercare e' la VOL forward molto sotto quella del backtest** (7,88% contro 31,42%). + πŸ“Œ **QUANDO riparare, con un numero:** con **rigenerazione zero barre perse a qualunque data**; senza, + riparare **oggi** lascia **36/90** barre vere a STATARB (62/90 XSR01, 63/91 DVOLSPREAD), **alla + vigilia 1** β€” e la riparazione parziale **non contamina la finestra, la ACCORCIA** (una barra troncata + porta ~1/370 della varianza *e* del rendimento di una vera, quindi non pesa). ⚠️ La diagnostica + pre-registrata del 25/07 (statica sempre-short) **non e' affetta** perche' si ricalcola dal pannello + β†’ al gate si confronterebbe **un benchmark giusto con un numero di strategia sbagliato**, e il + margine sembrerebbe **+5,83 invece di +1,87**. + 🚨 **(4) WORST-DAY β€” la riserva sulla leva e' mal tarata di 2-4 ORDINI DI GRANDEZZA, ma il knob di + scala NON ESISTE.** Il gradino 1,00xβ†’1,25-1,50x vale **14,7 β†’ 11,6 anni** al capitale-rendita + (~€300/mese di versamenti equivalenti) ed era bloccato da un parametro **scelto a mano** ("un giorno + a βˆ’10% ogni anno"). **Il peggior giorno ha due risposte:** **βˆ’3,94% in chiusura** (2020-03-13) e + **βˆ’7,33% al minimo** intra-giorno (rapporto mediano **1,89Γ—**). Coda GPD: **βˆ’4,55% a 1/10.000 + giorni** [βˆ’6,34/βˆ’3,08] ⚠️ **ma Hill dice βˆ’7,34% (ΞΎ 0,34 contro 0,09): i due stimatori NON concordano + β†’ si cita la banda.** Conto **aritmetico** (cap + vol-target + gap-through di SKH01): peggior giorno + **possibile** a k=1,00x **βˆ’14,32%**. πŸ“Œ **Il βˆ’10% sta al 70% del massimo strutturale: la TAGLIA e' + plausibile, la FREQUENZA no** (1 ogni 67-6.075 anni contro "ogni anno"). + πŸ“Œ **E la forma della coda non e' la leva: muove k* di 1-2 unita', il DRIFT di 6,7.** Anche prendendo + lo stress **alla lettera**, k* 2,95x β†’ mezzo-Kelly **1,48x**: *lo stress bocciava il gradino DOPPIO, + non quello singolo*. C1-C5 passano tutti. + ⚠️ **Il libro NON e' immune ai crash, e' immune ai crash GROSSI:** sui 160 giorni di crash perde in + media βˆ’0,505%, e l'esposizione di TP01 scende **monotona** col crollo (0,096 β†’ **0,042** sotto il + βˆ’20%) *perche' li' il trend si e' gia' girato*. **Il suo peggior giorno non e' un crash: e' uno + SHORT SQUEEZE** (SKH01 short con stop 2% che gappa a **βˆ’15,77%** di sleeve mentre TP01 e' flat; il + secondo peggiore fa βˆ’6,67% β†’ **la coda di SKH01 e' un giorno solo**). + 🚨 **IL RISULTATO CHE DECIDE, e nessuno lo cercava: il cap di `config/live.json` e' un CLAMP, non un + MOLTIPLICATORE.** Morde su **3 osservazioni-asset su 5.650 (0,053%)**; alzarlo da 0,50 a 0,625 + lascerebbe il libro a k=1,00x in **5.647 giorni-asset su 5.650**. βœ… **Verificato:** le chiavi sono + `max_notional_per_asset_usd/_frac`, `min_order_usd`, `disaster_sl_pct`, `max_data_age_days`, + `skh_feed_max_age_min` β€” **non esiste una chiave di scala**; servirebbe toccare `WEIGHT`/`W_TP01`/ + `W_SKH` in `src/live/book.py`, cioe' **codice** su un percorso con soldi veri. + **β‡’ La regola *"ogni cambio di SCALA passa dal cap di config, non da `target_vol`"* NON E' + IMPLEMENTABILE COME SCRITTA.** *Due mesi di discussione su un knob inesistente.* + **Il gradino a 1,25x e' AUTORIZZABILE A CONDIZIONE DI** costruire prima una **chiave di scala + esplicita** in config **e** rifare `r0726_fee_sensitivity`, la cui conclusione *"liquidation fee + irrilevante"* **vale solo a nozionale lordo ≀1x** (ed era gia' legata a un test di guardia sul cap). + ⚠️ **Nota dovuta:** credendo **entrambe** le riserve insieme (drift βˆ’2SE **e** βˆ’10% annuo) il drift + atteso e' **βˆ’0,61%/anno** β†’ *non e' il gradino a essere sbagliato, e' il libro; chi usa quella + combinazione sta chiedendo di spegnere anche il conto di oggi.* + 🚨 **(5) IL FUNDING DEI PERPETUAL NON E' MODELLATO IN NESSUN BACKTEST β€” e tocca ogni numero del + progetto.** βœ… **Verificato:** **zero occorrenze** di `funding` in `src/backtest/harness.py`, + `src/strategies/trend_portfolio.py`, `src/portfolio/{sleeves,portfolio}.py` **e in tutto + `src/live/`**. Proxy Hyperliquid 14,8%/anno Γ— esposizione long media di TP01 (0,103Β·E) = + **~1,53%/anno che il libro paga davvero** = **il 9% del drift de-luckato**, cioe' **lo stesso ordine + della correzione d'ancora Γ—0,89** che il progetto ha misurato con cura. **Il progetto ha prezzato + fee, slippage, min-order, pavimento IB, haircut, fortuna d'ancora, degrado d'esecuzione, look-ahead, + split, rischio di venue e fisco β€” e mai il costo di tenere una posizione aperta su un perpetual.** + **REGOLE NUOVE:** (a) **una data in un gate va giustificata col COSTO della misura, non con la sua + difficolta' percepita** β€” due gate d'attesa eliminati in una sera perche' nessuno aveva contato i + secondi; (b) **una verifica esterna a €0 va fatta PRIMA di qualunque misura che ne dipenda**, e si + fa **sul venue, non sul sito** di chi la dichiara; (c) **un gate superato non e' un numero + confermato**: differenze e livelli ereditano la fortuna d'ancora in modo diverso; (d) **un veto + d'integrita' sorveglia l'asse su cui e' stato scritto** β€” contare *se* il dato c'era non dice + *quanto* del giorno copriva; (e) **una regola operativa va provata contro il codice che dovrebbe + eseguirla**, o si discute per mesi di un knob che non esiste; (f) **quando due stimatori di coda non + concordano si cita la banda**, non quello che conviene. + - **Soffitto strutturale BTC/ETH-direzionale ~1.3** superato SOLO espandendo a un meccanismo diverso: cross-sectional su universo Hyperliquid certificato (XS01) β†’ portafoglio Sharpe ~1.55. - **Sweep "strategie alternative" (2026-06-20) β€” 104 ipotesi / 153 agenti / NIENTE di nuovo regge.**