CLAUDE.md: ondata 2026-08-22 — difetto dei monitor forward, tre soglie falsificate, la leva invisibile ai gate, e una regola ritirata
This commit is contained in:
@@ -1992,6 +1992,152 @@ Prima ondata di ricerca onesta su BTC/ETH certificati (5 track, harness condivis
|
|||||||
⚠️ **Nota per il futuro-me:** e' una decisione presa con l'informazione completa, non una svista.
|
⚠️ **Nota per il futuro-me:** e' una decisione presa con l'informazione completa, non una svista.
|
||||||
Se qualcuno propone SOL "perche' e' eseguibile su Deribit", la risposta e' che l'eseguibilita'
|
Se qualcuno propone SOL "perche' e' eseguibile su Deribit", la risposta e' che l'eseguibilita'
|
||||||
non e' mai stata il problema — l'hold-out lo e', a 24 ancore su 24.
|
non e' mai stata il problema — l'hold-out lo e', a 24 ancore su 24.
|
||||||
|
- 🌊 **ONDATA MULTI-AGENTE 2026-08-22 (20 filoni, branch `research/wave-0822`) — 0 candidati, 1
|
||||||
|
DIFETTO DI PRODUZIONE, 3 soglie pubblicate falsificate, 1 leva che nessun gate sa vedere.**
|
||||||
|
Diario `docs/diary/2026-08-22-wave-multiagente.md`; ledger per filone `docs/research/RESULTS-0822.md`;
|
||||||
|
briefing `docs/research/BRIEF-0822.md`; 21 script `scripts/research/r0822_*.py` (15.295 righe,
|
||||||
|
compilano tutti, ognuno gira da solo). **Book, pesi, cron, config INVARIATI.**
|
||||||
|
🚨 **(1) I MONITOR FORWARD REGISTRANO UNA FRAZIONE DEL GIORNO — 4 su 6 rotti.**
|
||||||
|
`fetch_hyperliquid` e `resample_tf` scrivono la barra del **giorno in corso**; `advance()` la
|
||||||
|
consuma e **porta `last_ts` su di essa** -> le ore restanti non entrano in nessun rendimento.
|
||||||
|
| monitor | barre coincidenti | **min/giorno** | gate |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `paper_statarb` | **0/46** | **4** | **STATARB 27/09** |
|
||||||
|
| `paper_dvolspread` | 0/28 | **2** | DVOLSPREAD 24/10 |
|
||||||
|
| `paper_xsr` | 1/28 | **41** | XSR01 23/10 |
|
||||||
|
| `paper_portfolio` | 7/56 | 19 | — |
|
||||||
|
| `paper_prevday` | 1259/1319 | 1.438 | — |
|
||||||
|
| `paper_combo` | 7/37 | 1.402 | — (sano **per caso**: aspetta una borsa) |
|
||||||
|
**Il gate STATARB si ribalta su 2 criteri su 3**: Sharpe registrato **+1,96** contro **−2,02**
|
||||||
|
ricostruito, maxDD **2,2% contro 15,3%** (guardia <10%).
|
||||||
|
✅ **La finestra NON va persa** (misurato 2 volte: il feed non riscrive le barre chiuse —
|
||||||
|
`paper_prevday` 1427/1488 identiche al bit dopo 62 notti; le 6 barre di statarb recuperate dopo il
|
||||||
|
guasto EPERM 09-15/07 coincidono al bit) -> **"riparare `advance()` + RIGENERARE", non "riparare e
|
||||||
|
azzerare": nessuna data di gate si sposta** (pessimista: STATARB +18g).
|
||||||
|
**Guardia raccomandata, NON cablata:** `ts_ultima_barra + cadenza <= mtime del file`, grazia 5 min.
|
||||||
|
O(1), segnala 5/6, **tace sul sano**, controllo positivo sintetico 6/6 nei due versi.
|
||||||
|
⚠️ `monitor_health` non poteva vederlo: **una serie fresca, completa e SBAGLIATA passa ogni
|
||||||
|
controllo di freschezza**. E `implausible_sharpe` non e' **mai** stato puntato sulle serie forward.
|
||||||
|
📌 **(2) TRE SOGLIE PUBBLICATE, FALSIFICATE.** (a) *"XS01 serve ~$20k"* (origine: "rumore di
|
||||||
|
arrotondamento", stima a occhio del 19/06) -> **nessuna soglia da min-order**, haircut ~0 gia' a
|
||||||
|
**$200-600 allocati**. Meccanismo: gli ordini sono **due popolazioni** — il ribilanciamento del
|
||||||
|
segnale e' il 13% degli ordini ma il **75% del nozionale** (ticket $13,65); la deriva del
|
||||||
|
vol-target e' l'87% degli ordini ma il **25%** (ticket $0,64) e **il pavimento la taglia gratis**.
|
||||||
|
*Contare gli ordini da' 16%, contare il nozionale da' 75%.* ⚠️ **Il "$20k di XS01" e il "$20k
|
||||||
|
della DECISIONE DI VENUE" sono due cose diverse conflate in questo file: il primo cade, il secondo
|
||||||
|
REGGE** (e' sull'asse della rovina, non dell'eseguibilita'). (b) *"slippage = rischio #1 di XSR01"*
|
||||||
|
-> **refutato con margine 21x**. (c) *"BTC opzioni fuori a $3.000"* -> misurato sulla famiglia
|
||||||
|
**inverse**, che un conto **USDC non puo' marginare**; la famiglia USDC-lineare ha lotti **10x piu'
|
||||||
|
piccoli** (ETH_USDC **$242**, BTC_USDC $772 contro $7.744). Il muro resta **per il prezzo del
|
||||||
|
lotto**. Parametri veri Hyperliquid: **min order $10** (non $5), **taker 4,50 bps** (non 5,0).
|
||||||
|
📌 **(3) LA LEVA E' L'UNICA VARIABILE CHE NESSUN GATE DEL PROGETTO SA VEDERE.** Lo Sharpe e'
|
||||||
|
**invariante alla scala** (1,31 a ogni cella del knob) -> `deflated_sharpe` e `marginal_vs_tp01`
|
||||||
|
non falliscono, **non la vedono**. Il libro gira al **7% di Kelly** e raccoglie il **15%** della
|
||||||
|
crescita massima in log; il gradino eseguibile 1,00x->1,25-1,50x vale **14,7a -> 12,9-11,6a** al
|
||||||
|
capitale-rendita (€500/m, netto fisco). **Lo scettico conferma il numero e toglie la sua condizione
|
||||||
|
bloccante**: sotto la lente wick accoppiata il maxDD prende un **ricarico moltiplicativo costante
|
||||||
|
~3,5%**, non un'amplificazione (**il maxDD e' multi-giorno, il wick e' di un giorno**).
|
||||||
|
**Il gradino resta NON autorizzato**: cade 1 riserva su 3; restano il drift stimato su 7,4 anni
|
||||||
|
(k* e' lineare nel suo errore) e la **coda assente dal dataset** (un giorno −10%/anno -> k* 2x).
|
||||||
|
⚠️ **Ma la lezione del 25/07 e' vera e NON si trasferisce:** su una regola a **UN giorno**
|
||||||
|
(daily-loss, stop di conto) close-only e' **esattamente cieca** — 0,00 breach/anno contro 0,40-1,21
|
||||||
|
veri (**rapporto INF**). **Sul canale prop/funded la lente accoppiata resta OBBLIGATORIA.**
|
||||||
|
⚠️ **`target_vol` e `k` NON sono la stessa leva:** `target_vol` scala il 75% del libro e lascia
|
||||||
|
fermo il 25% (a tv=30% il libro e' **82/18**, a 60% **90/10**) -> e' anche un tilt di pesi, e
|
||||||
|
**fallisce `weights_tilt_null`**. La strada pulita per un cambio di SCALA e' il cap di config.
|
||||||
|
📌 **La vol realizzata di TP01 a `target_vol=20%` e' 12,14%**, scomposto: `20% x 0,682 x 0,890`,
|
||||||
|
dove lo 0,682 sono **due meta' quasi uguali** (flat nel 44,3% delle barre **e** convinzione
|
||||||
|
parziale) -> **"TP01 e' long-flat" spiega meta'**; e alzare `target_vol` **aumenta la size proprio
|
||||||
|
nei giorni in cui il segnale e' piu' debole**. Il x0,890 e' **diversificazione, non un difetto**.
|
||||||
|
⚠️ **XS01 dichiara lo stesso 20% e ne realizza 20,59%: vale per TP01, non per il libro.** Nessun
|
||||||
|
numero pubblicato cambia (sono tutti sulla serie **realizzata**); sbaglia chi legge l'**etichetta**
|
||||||
|
(attribuirebbe a TP01 l'89% del rischio invece del **73%**).
|
||||||
|
📌 **(4) PROP/FUNDED — l'ipotesi centrale e' falsificata, e per la ragione teorica giusta.**
|
||||||
|
Riallocare *per la barriera* invece che *per lo Sharpe* vale **+0,016 di J (il 4%)**: il conto del
|
||||||
|
gambler's ruin lo prevedeva (**la vol sparisce, il contenuto sta nella LEVA**). Cio' che vale e'
|
||||||
|
**mettere XS01 su un conto funded: +0,400** (J 0,335 -> 0,738; P(pass) 38,6% -> 82,2%). Leva ottima
|
||||||
|
**0,75x HYRO / 1,00x FTMO**, e **la barriera piu' larga alza l'ottimo: il vincolo e' la regola di
|
||||||
|
DD, non il libro**; la leva alta **non compra probabilita', compra fretta**. Il **75/25 del libro
|
||||||
|
live non e' la ripartizione giusta per un conto a barriera** (sul 2019+ che contiene il 2022
|
||||||
|
l'ottimo e' **38/62 @0,50x**). **Il null dei tilt dice che il PUNTO non conta**: il massimo di 200
|
||||||
|
pesi casuali (0,739) **eguaglia** l'argmax (0,738) — conta stare nella regione diversificata.
|
||||||
|
🚨 **Il numero da citare e' LA BANDA: P(>=50/g) da €600 in 36 mesi = 42% al drift pieno · 7,7% allo
|
||||||
|
stress moderato · 0,7% a quello severo** (e li' e' **peggio del libro live**), perche' **tutto il
|
||||||
|
vantaggio poggia sul drift di XS01 misurato sulla sua finestra di scoperta**. Gate proposto: non
|
||||||
|
aprire un funded su questa allocazione prima che XS01 abbia una finestra fuori dal 2024-2026.
|
||||||
|
⚠️ Distorsioni dichiarate e non rimosse: banda d'ancora **non girata** sotto quella lente (l'ottimo
|
||||||
|
gira sull'ancora canonica e si appoggia a **SKH01, che ha la fortuna d'ancora piu' grande da
|
||||||
|
restituire**); e la sotto-pesatura di **TP01, lo sleeve difensivo, e' misurata su un campione senza
|
||||||
|
sinistro** — su una barriera assorbente quella scommessa si paga una volta sola.
|
||||||
|
📌 **(5) LO SLIPPAGE DEL LIBRO LIVE, misurato per la prima volta: non c'e' a questa taglia.**
|
||||||
|
I backtest a 10 bps RT restano **conservativi di ~1,5 bps/lato** (fee vera 7 bps RT); estremi
|
||||||
|
avversi **1/18 contro 4,7 attesi**. Prova diretta: un fill ha preso il **21,9% del volume della sua
|
||||||
|
barra 5m** e quella barra ha avuto un range di **1,08 bps**. ✅ **Fee sul NASTRO: 5,00 bps/lato
|
||||||
|
prima del 2026-08-01 e 3,50 dopo, 16/16 esatti** = conferma indipendente di `fee_watch`.
|
||||||
|
🚨 **Ma la misura ha una DATA DI SCADENZA:** la partecipazione scala lineare -> quel 22% diventa
|
||||||
|
**172% di una barra 5m a $5.000** e **687% a $20.000**. **Va rifatta a ogni salto di taglia.**
|
||||||
|
⚠️ Due difetti del dato trovati prima di misurare: `ts_utc` in `book_executions.jsonl` **non e'
|
||||||
|
l'ora del fill** (18/18 = `00:00:00`; l'ora vera sta solo in `logs/cron_book.log`); e il feed
|
||||||
|
certificato e' l'**INVERSE** mentre il libro trada il **LINEARE USDC** (**4ª occorrenza** dello
|
||||||
|
schema `fee_watch`: misurare li' avrebbe misurato **la base**).
|
||||||
|
📌 **(6) IL `f=0,73` DI VRP01 SCOMPOSTO — il 42% e' STRUTTURA A TERMINE, solo il 25% e' skew**
|
||||||
|
(30% spread, 2% fit). **Il sleeve prezza un'opzione a 7 GIORNI col DVOL a 30 GIORNI**, che nel 90%
|
||||||
|
delle ore sta ~3 punti di vol **sopra** l'ATM a 7g -> sovrapprezza **entrambe** le gambe. Il
|
||||||
|
"+0,8pp sulla gamba corta" del 30/07 — che faceva sembrare **corretta** la gamba venduta — e' la
|
||||||
|
**cancellazione di due errori da ~3pp**. ⚠️ **E la regola per prenderlo era gia' scritta il 03/07**
|
||||||
|
("riprezzare term-structure-consistent prima di credere a un numero da struttura BS-flat") **e non
|
||||||
|
e' stata applicata alla misura del 30/07**. Verso: `f_term` va da **0,83** (IV-rank basso) a
|
||||||
|
**0,93** (alto) e **supera 1 in backwardation** mentre `f_skew` resta piatto -> **la parte maggiore
|
||||||
|
del difetto si annulla proprio dove il gate fa tradare il sleeve**, quindi f=0,73 e' plausibilmente
|
||||||
|
**conservativo li'**. Non misurato (0/22 ingressi passano il gate) e in un crash i due pezzi vanno
|
||||||
|
in **direzioni contrarie**. **`VRP_CFG["f"]` NON cambiato.** Replica indipendente del f: **0,714**.
|
||||||
|
📌 **(7) CHIUSURE DI FAMIGLIA.** **Il filone funding si chiude sul QUARTO lato** (affollamento):
|
||||||
|
su **53.430 ore / 3 anni** non predice ne' direzione ne' volatilita'. E i futures datati **non sono
|
||||||
|
un quinto lato**: il loro basis **E'** il funding del perp (+7,33% implicito contro **+6,48%**
|
||||||
|
realizzato; premio incassabile **+0,85%/anno con IC95 che contiene lo zero**). **La mean-reversion
|
||||||
|
non risorge** sotto due conditioner mai provati (volume, shock 3σ): la selezione in-sample sceglie
|
||||||
|
il ramo di **continuazione** in entrambi. Scartati anche: adaptive-horizon (il "vincitore adattivo"
|
||||||
|
ha lookback **costante**, corr 1,000), dealer-gamma (BTC non separa, ETH separa **al rovescio**;
|
||||||
|
e ⚠️ **`dealer_net_gamma` del dataset ereditato e' il GEX col SEGNO INVERTITO**, corr −0,95, mentre
|
||||||
|
`liquidation_*_risk` e' **una sola categoria in 17.229/17.229 righe**), oi-pin (il max-pain **non
|
||||||
|
batte mai, 0/24, la media a 7 giorni dello spot**), term-structure (**termometro contemporaneo**),
|
||||||
|
skew direzionale (**il prezzo muove lo skew**, t 3,1-9,4 su 8/8, non il contrario), ortho-screen
|
||||||
|
**7/7**, alt-options (alt), xs-lite, vrp-quote-vere.
|
||||||
|
⚠️ **La catena ereditata da bite ha 74-75 giorni utili, non 3,7 mesi:** prima del **2026-06-09**
|
||||||
|
raccoglieva **una sola scadenza per giro** (due agenti indipendenti, 74 e 75).
|
||||||
|
📌 **(8) REGOLE NUOVE.** (a) **L'open interest NON misura la negoziabilita'** — su Deribit USDC sono
|
||||||
|
quasi **anti-correlati (rho di rango −0,77)**: SOL_USDC e' 1ª per OI e **ultima per quote a due
|
||||||
|
lati (9%)**, BTC_USDC ha **5** strumenti con OI>=100 e il **93%** dei put quotati (e sul short leg
|
||||||
|
di SOL il miglior bid sta a **UN tick**: vendere li' significa **pagare $27** per aprire un credit
|
||||||
|
spread). (b) **Il deflated-Sharpe va calcolato DI SCREEN, non solo di famiglia**: su 168 trial il
|
||||||
|
massimo atteso dal **puro rumore** e' **Sharpe 1,572**, sopra il soffitto direzionale (~1,3) ->
|
||||||
|
**uno screen largo su BTC/ETH direzionale non puo' passare il proprio gate, per aritmetica.**
|
||||||
|
(c) **Un placebo si controlla per BILANCIAMENTO DEL SEGNO prima di usarlo** (un null che concorda
|
||||||
|
col segnale nel 14% dei casi non e' un null, e' la strategia invertita: fabbrica celle
|
||||||
|
"significative"). (d) **Il null del de-levering e' DEGENERE quando la variante e' una
|
||||||
|
ri-scalatura** (`sh(k*base) === sh(base)`): serve **iso-peso sullo Sharpe**. (e) **Un gate che
|
||||||
|
stampa `None` va verificato prima di dichiararlo "non girato"**. (f) **Su una finestra interamente
|
||||||
|
post-hold-out `marginal_vs_tp01` non puo' dare ADDS per costruzione** — un NEUTRAL li' non e' un
|
||||||
|
giudizio. (g) **Un confronto appaiato deve ereditare TUTTI i parametri della riga in cui compare.**
|
||||||
|
❌ **REGOLA RITIRATA, pubblicata poche ore prima nella stessa ondata:** *"su equity a gradino un
|
||||||
|
overlay giornaliero e' non-causale"* — **falso su questo motore**: `backtest_signals` contabilizza
|
||||||
|
al giorno d'**INGRESSO** in **291/293** trade e la "riparazione" e' un **no-op bit-exact**; il
|
||||||
|
"+0,04 fantasma" era la differenza fra due varianti **entrambe causali**, e quella scartata era la
|
||||||
|
**migliore sull'hold-out**. *Il costo di una regola derivata da un difetto inesistente e' gia'
|
||||||
|
stato pagato.*
|
||||||
|
📌 **(9) Cosa NON e' piu' il vincolo: TRE volte in questa ondata l'eseguibilita' a $600 non ha
|
||||||
|
bocciato niente** (haircut 0,00-0,01; lotti $7-242; margine ~$148). Dopo due mesi in cui il muro
|
||||||
|
era sempre il capitale, **adesso muoiono tutti sull'edge**.
|
||||||
|
⚠️ **(10) FATTO OPERATIVO: il cron gira dal WORKING TREE.** Con un branch di ricerca attivo, il
|
||||||
|
cron esegue quel branch. Durante l'ondata il diff vs `main` toccava **solo** `scripts/research/` e
|
||||||
|
`docs/research/` (verificato) -> produzione identica; ed e' il motivo per cui **nessuna riparazione
|
||||||
|
e' stata applicata**: sarebbe andata live alle 00:30 senza una decisione dell'operatore.
|
||||||
|
🗂️ **Dataset nuovo in eredita':** **30/30 futures trimestrali scaduti** Deribit ricostruiti
|
||||||
|
(`get_instruments?expired=true` ne ritorna **1**, ma i nomi sono deterministici e
|
||||||
|
`get_tradingview_chart_data` serve la storia di un contratto scaduto): **BTC 240.150 barre orarie /
|
||||||
|
ETH 233.334, dal 2018-09, col deleveraging 2022 dentro** — cioe' **la coda che a CC01 mancava per
|
||||||
|
costruzione**. Cross-check col forward implicito nella catena opzioni: mediana **−0,6 bps**.
|
||||||
|
|
||||||
- **Soffitto strutturale BTC/ETH-direzionale ~1.3** superato SOLO espandendo a un meccanismo diverso:
|
- **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.
|
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.**
|
- **Sweep "strategie alternative" (2026-06-20) — 104 ipotesi / 153 agenti / NIENTE di nuovo regge.**
|
||||||
|
|||||||
Reference in New Issue
Block a user