registro §47: ANCHOR-ENSEMBLE — su TP01 il drift non puo' cambiare per algebra, il segnale sta su SKH01, e la premessa del 02/07 era sbagliata

This commit is contained in:
Adriano Dal Pastro
2026-08-23 02:06:01 +00:00
parent e7ee0738a3
commit a4c9fca77a
+92 -1
View File
@@ -712,7 +712,7 @@ stessi hanno nominato senza poterli eseguire**. Stesso contratto di consegna, st
| 44 | DEPOSIT-TIMING | un calendario di versamento CONDIZIONALE batte il piatto, a pari soldi? | **SCARTATO 0/12 in ogni lente** — il buy-the-dip compra davvero il **51% piu' in basso** e arriva al capitale-rendita nel **6,3%** dei casi contro l'**85,4%** del piatto | | 44 | DEPOSIT-TIMING | un calendario di versamento CONDIZIONALE batte il piatto, a pari soldi? | **SCARTATO 0/12 in ogni lente** — il buy-the-dip compra davvero il **51% piu' in basso** e arriva al capitale-rendita nel **6,3%** dei casi contro l'**85,4%** del piatto |
| 45 | SPOT-NETTING | separare TP01 e SKH01 su due strumenti: quanto vale, e il margine lo uccide? | **LEAD REGGE, SEPARAZIONE SENZA VALORE** — il margine non e' il vincolo (copertura **50x**, invariante al capitale), ma **T1 sbloccato e' un DECLASSAMENTO** (0,048 contro il path che gira) e il netting perso **risparmia** commissioni: il lead vale **il funding e basta**, [+1,55%, +1,66%]/anno; a bloccarlo e' **il codice di sizing**, non Deribit | | 45 | SPOT-NETTING | separare TP01 e SKH01 su due strumenti: quanto vale, e il margine lo uccide? | **LEAD REGGE, SEPARAZIONE SENZA VALORE** — il margine non e' il vincolo (copertura **50x**, invariante al capitale), ma **T1 sbloccato e' un DECLASSAMENTO** (0,048 contro il path che gira) e il netting perso **risparmia** commissioni: il lead vale **il funding e basta**, [+1,55%, +1,66%]/anno; a bloccarlo e' **il codice di sizing**, non Deribit |
| 46 | TAIL-HEDGE | comprare put deep-OTM come assicurazione statica compra DD a prezzo migliore del de-levering? | **REFUTATO** — la premessa cade **prima del prezzo**: il maxDD **SALE in 162/162 celle**, a ogni lente di f (f=1,00 regalato compreso). Meccanismo: **beta del libro al sottostante +0,076** | | 46 | TAIL-HEDGE | comprare put deep-OTM come assicurazione statica compra DD a prezzo migliore del de-levering? | **REFUTATO** — la premessa cade **prima del prezzo**: il maxDD **SALE in 162/162 celle**, a ogni lente di f (f=1,00 regalato compreso). Meccanismo: **beta del libro al sottostante +0,076** |
| 47 | ANCHOR-ENSEMBLE | eseguire l'ensemble delle 24 ancore invece di sceglierne una e correggere il numero | _in corso_ | | 47 | ANCHOR-ENSEMBLE | eseguire l'ensemble delle 24 ancore invece di sceglierne una e correggere il numero | **ESEGUIBILE MA INUTILE SU TP01** — il drift **non puo'** cambiare (algebra: `lordo_ens == media(lordi)`, 1,4e-17); **il segnale sta su SKH01** (+0,312 di Sharpe mediano, maxDD 23,3%→16,6%), ma dentro il libro **non si distingue da zero**. E la premessa del 02/07 era sbagliata |
| 48 | VOLVOL | la volatilita' del DVOL (secondo momento, mai usato) contiene cio' che livello e spread non contengono? | **SCARTATO** — e' davvero una variabile NUOVA (ortogonalita' PASS, max \|corr\| 0,396) ma **guarda INDIETRO**: picco a lag **5/10** e parziale con la vol futura **NEGATIVA**. Quinto lato del filone DVOL chiuso | | 48 | VOLVOL | la volatilita' del DVOL (secondo momento, mai usato) contiene cio' che livello e spread non contengono? | **SCARTATO** — e' davvero una variabile NUOVA (ortogonalita' PASS, max \|corr\| 0,396) ma **guarda INDIETRO**: picco a lag **5/10** e parziale con la vol futura **NEGATIVA**. Quinto lato del filone DVOL chiuso |
| 49 | TP01-TWIN | il 75% del libro dipende da UNA definizione di trend: un ensemble di meccanismi protegge meglio? | **REFUTED** — protegge **PEGGIO** nei 4 anni piu' recenti a **0/24 ancore** (2022: **3,2x peggio**) e costa **0,127** di Sharpe hold-out al libro. E i meccanismi **non erano ridondanti**: corr di posizione 0,61 | | 49 | TP01-TWIN | il 75% del libro dipende da UNA definizione di trend: un ensemble di meccanismi protegge meglio? | **REFUTED** — protegge **PEGGIO** nei 4 anni piu' recenti a **0/24 ancore** (2022: **3,2x peggio**) e costa **0,127** di Sharpe hold-out al libro. E i meccanismi **non erano ridondanti**: corr di posizione 0,61 |
| 50 | BOOK-3RD | qual e' il miglior TERZO sleeve realmente eseguibile sul libro live a $635 — e a quale capitale cambia? | _in corso_ | | 50 | BOOK-3RD | qual e' il miglior TERZO sleeve realmente eseguibile sul libro live a $635 — e a quale capitale cambia? | _in corso_ |
@@ -2876,3 +2876,94 @@ Nessuna copertura **dinamica** (gated su regime) e' stata provata: la domanda er
**VERDETTO: `LA PUT PROTEGGE UNA PERDITA GIA' RIDOTTA 10x DALLA STRATEGIA — IL maxDD SALE IN 162 **VERDETTO: `LA PUT PROTEGGE UNA PERDITA GIA' RIDOTTA 10x DALLA STRATEGIA — IL maxDD SALE IN 162
CELLE SU 162`** — REFUTATO. CELLE SU 162`** — REFUTATO.
---
## 47 — ANCHOR-ENSEMBLE (de-luckare l'ESECUZIONE invece del numero)
`scripts/research/r0823_anchor_ensemble.py` (**127 s**). Attese a priori **A1-A7 scritte e stampate
prima** di misurare: **3 confermate, 3 refutate, 1 mezza**. **Libro, pesi, ancore, cron, config
INVARIATI.**
**(i) Batte l'ancora MEDIANA: si', di +0,014 di Sharpe FULL — e l'algebra dice che non puo' fare di
piu'.** La posizione dell'ensemble e' la **media** delle posizioni e il lordo orario e' lineare in
essa ⇒ **`lordo_ens == media(lordi)`, verificato a max|dif| 1,4e-17**. Il drift non puo' cambiare se
non per fee-netting (**+0,013%**): **tutto il guadagno e' vol (1,1%)**.
📌 **Cio' che l'ensemble compra davvero non sta nella colonna Sharpe: `sd(ShFULL) 0,061 → 0` e
`sd(ShHOLD) 0,112 → 0`. Non riduce l'incertezza, la ELIMINA.**
⚠️ **A2 refutata sulla taglia:** l'agente prevedeva +0,03…+0,15 ed e' **7x piu' piccolo** — aveva
sopravvalutato quanto sono decorrelate 24 ancore della **stessa** strategia.
**(ii) Batte la CANONICA: NO sull'hold-out (0,223), SI' su FULL (+0,024) e in-sample (+0,071).**
La canonica sta al **98° pctl di 24 sull'hold-out e al 15° in-sample**.
📌 **E i due numeri non sono due stime della stessa cosa: +0,44 e' un'estrazione GIA' AVVENUTA,
+0,21 e' cio' che si ottiene senza estrarre.** Tenere la canonica non conserva il +0,44: **ri-estrae**
da [+0,02, +0,44]. **La stima onesta del futuro e' +0,21.**
**(iii) Eseguibile da quale capitale: da TUTTI, gia' a $635 — attesa REFUTATA.** A $635 il path
eseguito a K=24 segue l'ideale **meglio** che a K=1 (**corr 0,9986 contro 0,9954**), perche' *un
target che si muove a passi piccoli e frequenti entra in una banda fissa meglio di uno che salta*.
Ordini 119 → 729/anno, fee **$2,55 → $2,56**. ⚠️ Il criterio `N_max` dichiarato in anticipo
**satura (6/6 celle a ogni capitale)**: *un gate che passa sempre non misura niente* → la risposta
non e' un capitale, e' che **l'eseguibilita' non e' il vincolo (7ª volta nell'ondata)**.
**Replica del 02/07 prima di ogni delta:** `h=0 == tp01_baseline_daily`; **`banded()` ==
`r07.smallcap_net` bit-exact (0,0e+00, stessi ordini)**; **K=4 == EW di 4 book** (2,2e-16); **offset
0 == `sleeves._skyhook_returns()`** (0,0e+00). La **struttura** replica; i **livelli** sono
ri-derivati col dato di oggi (`data/raw/` non versionato): HOLD mediano 0,04 → **0,220**, banda
[0,13,+0,30] → **[+0,02,+0,44]**, canonico 0,31 → **0,436 (98° pctl in entrambi)** — **coincidono
con la memoria corrente del progetto** (canonico +0,44 al 96-98°, mediana +0,22).
📌 **Il funding: canale chiuso per ALGEBRA, non per piccolezza.** `funding = pos·f` e' lineare in
`pos`**`funding_ens == media esatta delle 24 ancore, max|dif| = 0`**. E il rapporto condizionale
misurato il 22/08 **non si attenua: 2,25x → 2,26x** da K=1 a K=24 — *e' esso stesso una media, e la
correlazione esposizione-funding vive alla scala del REGIME, non dell'ora del giorno*. (Replica
indipendente del drag su griglia oraria: **2,14%** contro il 2,02% pubblicato.)
📌 **DOVE STA IL SEGNALE: SKH01 — l'ancora a cui il 02/07 non porto' mai questa domanda.** Sulla
lente del path che gira: mediana delle 23 fasi ShFULL **0,974 → 1,286 (+0,312)**, maxDD mediano
**23,3% → 16,6%**. **Venti volte TP01**, e il meccanismo e' chiaro: i suoi trade sono **discreti**
spostare la griglia cambia **quali trade esistono**, non quanto sono grossi (sd d'ancora **0,194
contro 0,061**). **23 e' primo** ⇒ sulla griglia a 30m non esiste sotto-ensemble simmetrico.
⚠️ **Ma dentro il libro SKH01 pesa il 25% e li' non si distingue da zero** (+0,005 a $635, +0,022 a
$100k, coi segni dei singoli che cambiano fra i due capitali).
📌 **Contro-intuitivo misurato:** tranciando entrambi gli sleeve gli **ordini salgono 6,5x**
(197 → 1283/anno) ma le **fee SCENDONO** ($5,76 → $5,29). Su un venue a fee **proporzionale** si
paga il *nozionale*, e mediare 23 fasi trasforma un ±1,0x che sbatte da un estremo all'altro in una
posizione frazionaria. **Su un venue a pavimento fisso il segno si ribalterebbe** (regola del 25/07,
riconfermata da un terzo angolo).
**Barriera (canale funded) — attesa refutata *sulla regola sbagliata*.** Il lato binding non e' la
barriera (6%, P(breach) 0-7%) ma il **bersaglio** (+10%, P(pass) 40-82%): *meno vol allontana dal
traguardo quanto dalla barriera*, e l'ensemble sta al **31° pctl su P(pass)** pur avendo maxDD
migliore della mediana. Ma la regola che il 22/08 ha misurato **uccidere** e' la **daily-loss a un
giorno**, che close-only **non puo' vedere**: sul **p1 giornaliero** l'ensemble batte il **66%** di
150 configurazioni. **Indizio, non misura** — la conferma richiede la lente accoppiata.
⚠️ **Il costo vero, e non e' negli ordini: 23 ancore su 24 di TP01 richiedono le barre di oggi**,
cioe' **`fresh_5m`** — il path che il 26/07 e' risultato ricadere **in silenzio** sul certificato e
che il 29/07 ha fallito **6 giri su 8**. Oggi TP01 non ci dipende. **E' l'unica delle tre obiezioni
del 02/07 che sopravvive intatta** (SKH01 quel feed lo usa gia', il che rende l'asimmetria fra i due
sleeve ancora piu' netta).
🚨 **IL RISULTATO CHE NON ERA NEL MANDATO: la premessa del 02/07 era sbagliata.** Quel filone
boccio' il tranching perche' *"i delta per-ancora (~$1-2) sono sotto il min-order $5 → degenererebbe
in K=1"*. Ma **`src/live/book.build_book_order` banda `abs(delta)` sulla posizione NETTA e manda un
ordine per asset per giro**: *un delta per-ancora non e' mai un ordine*. **Stessa decisione, ragione
diversa — e la ragione conta**, perche' quella vecchia cadrebbe al primo esecutore che mandasse un
ordine per tranche, questa no (e' sulla **taglia dell'effetto**).
⚠️ **Due errori dell'agente, catturati e congelati in commento:** (a) confrontava
`turnover_per_year`, che `eval_weights` **arrotonda**, accanto a una disuguaglianza stretta →
stampava "9,40 contro 9,38" facendo sembrare violata una sub-additivita' che il conto esatto
rispetta; (b) i percentili di coda usavano **un solo segno per tre colonne** di cui due sono ritorni
e una una frequenza → stampava **34° dove il valore vero e' 66°**, cioe' *"peggio della mediana"*
per un numero migliore della mediana. E la prima stesura affermava *"i due effetti sono additivi"*
come **testo fisso**, refutato dai suoi stessi numeri: ora l'affermazione la **calcola il codice**.
**VERDETTO: `SU TP01 L'ENSEMBLE NON PUO' CAMBIARE IL DRIFT PER ALGEBRA — ELIMINA L'INCERTEZZA, NON
LA MIGLIORA; IL SEGNALE STA SU SKH01 E DENTRO IL LIBRO NON SI DISTINGUE DA ZERO`**.
**Nessuna proposta**: SKH01 non e' passato per `study_family_honest` su questa griglia, il guadagno
e' misurato sugli stessi 7 anni su cui e' stato selezionato, e la lente `hourly` e' gia' nota (26/07)
per sottostimare il path live. **Il filone stabilisce dove guardare, non cosa fare.**