ricerca: XSR01 sotto la lente RENDITA (filone 70) + cosa compra un versamento da $3k

XSR-RENDITA (r0825_xsr_rendita.py): prima valutazione di XSR01 sul criterio della
perpetua. A iso-nozionale alza il muro; a iso-rischio lo abbassa del 20,6% MA il null
mostra che il meccanismo vale 0,8% (mescolare i rendimenti non cambia nulla) e un
conto remunerato allo stesso tasso lo eguaglia a vol zero senza secondo venue.
A drift zero il muro SALE: si compra un drift scorrelato, non la scorrelazione.
L'haircut non pareggia un conto al 4% nemmeno a zero. Vincolo binding: capitale
($60k per un 25% sopra C*). Corretta in CLAUDE.md la riga Sharpe 1,82 (terza lente;
la lente dei gate da' 1,79 alla scoperta / 1,56-1,63 a oggi).

VERSAMENTO-3K (r0825_versamento_3k.py): $2.065 -> $5.065 appaiato sugli stessi path
del piano = 5,5 mesi di versamenti anticipati; 10a $114.929 -> $122.491 (+6,6%);
$15k in 1,3a e $20k in 1,9a. P(cap >= $5k al gate XSR01 del 23/10): 0% -> 100% --
il lump rende il gate leggibile senza rendere XSR01 comprabile: la decisione sulle
soglie (S5.3) va presa PRIMA che il lump atterri.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B9UyJLHzR7EJzxR3iQ3RN1
This commit is contained in:
Adriano Dal Pastro
2026-08-26 06:56:40 +00:00
parent 4f91b25b72
commit f10d847816
7 changed files with 789 additions and 2 deletions
+38
View File
@@ -0,0 +1,38 @@
# 2026-08-25 — Il versamento da $3.000: cosa compra, e cosa NON compra
**Domanda dell'operatore:** *"rianalizza e vediamo come procedere. potrei versare a breve altri 3k"*.
**Script:** `scripts/research/r0825_versamento_3k.py` (lente L3, stessi semi e path del piano:
tutto appaiato, M22). Assunzioni dichiarate: 3k = $3.000 USDC, lump oggi, start $2.065 (watermark
18:47:13Z). Controllo M23: da $2.065 il 10a riproduce $114.929 contro i $114.934 pubblicati da
$2.067 — la macchina riproduce il numero vecchio.
## Cosa compra (€500/mese, appaiato sugli stessi path)
| orizzonte | senza lump | con lump | Δ | €/g con lump | P(≥50€/g) |
|---|---|---|---|---|---|
| 5a | $44.921 | $49.730 | +10,7% | 7,94 | 0% |
| 10a | $114.929 | $122.491 | +6,6% | 19,56 | 0% |
| 15a | $228.770 | $241.490 | +5,6% | 38,56 | 12,3% → 17,3% |
| 20a | $408.105 | $427.738 | +4,8% | 68,30 | 79,4% → 83,9% |
Il lump = **5,5 mesi di versamenti anticipati in un colpo** (N3: e' la prima leva, esercitata).
Pietre miliari con €500/mese: $15k (C\* Hyperliquid) 1,7a → **1,3a**; $20k (si riapre la scelta
del venue) 2,4a → **1,9a**.
## L'effetto collaterale che conta: il gate XSR01 del 23/10 si RIBALTA
P(capitale ≥$5k al 23/10): **0,0% → 100,0%** (mediana $5.664, p10 $5.417). Senza lump il gate
moriva da solo sul criterio di capitale e i suoi tre difetti erano accademici. Col lump il
criterio formale **passa**, e la decisione poggerebbe per intero su:
(a) il monitor rotto che registra ~41 min/giorno (§5.1); (b) l'haircut col pavimento sbagliato
di 5-7× (§5.3); (c) un C\* vero $15-20k contro i $1.266 che il 25% di $5.065 mette sul venue.
**Il lump rende il gate LEGGIBILE senza rendere XSR01 comprabile** — il caso peggiore per un
criterio scritto male. La scelta fra riscrivere adesso (dichiarandolo) e lasciare-e-citare va
presa **prima** che il lump atterri, non il 23/10.
## Meccanica live a $5.065 — niente da toccare
cap per-asset $1.032 → $2.532 (equity×0,5, si adegua da solo); min_order $5 dal 0,48% al 0,20%
del cap (C2); fallback min($3.000, wm×0,5) = $2.532; disaster-SL invariato (e il nome continua a
ingannare). ⚠️ **Slip-audit da rifare** dopo i primi fill: misurato su $597-2.067, a $5k la taglia
relativa raddoppia — lo script con normalizzazione per-fill c'e' gia'.
@@ -0,0 +1,114 @@
# 2026-08-25 — XSR01 sotto la lente della RENDITA: e' un conto deposito con un secondo venue
**Domanda dell'operatore:** *"rendita perpetua ma non ho ancora capito se serve XSR01"*.
**Script:** `scripts/research/r0825_xsr_rendita.py` (N11: ogni numero qui sotto lo riproduce).
## Perche' era una misura nuova
XSR01 era stato giudicato tre volte — ammissione (25/07), gate di deploy pre-registrato (23/10),
accumulo (oggi) — e **mai sotto la lente della rendita**. Sono criteri diversi: l'accumulo premia
il **drift**, la rendita premia la **perpetua** (il prelievo piu' alto che sopravvive a 20 anni con
P≥90%). Dichiarato l'obiettivo (N6), il criterio cambia, e nessuno aveva rifatto il conto.
## Cosa mi aspettavo prima di misurare (M12)
(a) a iso-nozionale il mix perde drift e **alza** il muro; (b) a iso-rischio (M6) il verdetto puo'
**ribaltarsi**; (c) il vincolo che decide non sara' ne' (a) ne' (b) ma il **capitale**.
**Tutte e tre vere** — ma (c) e' arrivata con una gamba che non avevo previsto: il null.
## Le serie, e la finestra in cui esistono entrambe
| serie | finestra | drift/a | vol/a | Sharpe | maxDD | SE drift |
|---|---|---|---|---|---|---|
| libro L3 — **tutta** la storia | 2019-03-14 → 2026-08-22 | 15,19% | 11,29% | 1,35 | 12,4% | 5,19% |
| libro L3 — finestra comune | 2024-01-01 → 2026-08-22 | 10,96% | 10,14% | 1,08 | 8,6% | 7,97% |
| XSR01 — finestra comune | idem (965 g, 2,64 anni) | **3,72%** | 2,34% | 1,59 | 2,5% | 1,46% |
corr libro↔XSR01 **+0,049**. Finestra comune = **35%** della storia del libro → **il muro calcolato
qui NON e' il $313k pubblicato**: si confronta solo con se stesso (base $602.660).
📌 Sharpe di XSR01 a oggi, **lente dei gate, sole barre chiuse: 1,56** — il "1,82" pubblicato e' una
**terza** lente (XSR-REPRO, 22/08). Si cita sempre la coppia (lente, ultima barra chiusa).
## (2) iso-nozionale — XSR01 ALZA il muro
w 5→50%: muro da $604k a $668k (**+0,3% → +10,8%**). Il mix e' piu' liscio ma piu' povero, e per
una rendita il drift comanda. **A iso-nozionale XSR01 peggiora l'obiettivo dichiarato.**
## (3) iso-rischio (M6) — si ribalta, e sale il sospetto
Ri-scalando ogni mix a `vol(libro)`: w 25% → k **1,32x**, muro **$478.729 (20,6%)**.
⚠️ **L'argmax e' al BORDO** (w=50%, k=1,93x): il muro scende **monotonamente** in w, quindi la
griglia non indica un ottimo, dice *"il piu' possibile"* — e cio' che si compra in quella direzione
e' il **k**, non XSR01 (M8). Sopra 1,40x il libro **non puo' eseguire** (decisione 23/08, e in
`config/live.json` non esiste una chiave di scala). Peso portato avanti: **25%, k 1,32x**.
## (3b) IL NULL — ed e' il risultato della sessione
A iso-vol vale `drift = Sharpe × vol_libro`: la colonna "drift" della sezione (3) **e' la colonna
"Sharpe" ri-etichettata**. Tutto il guadagno di muro e' guadagno di **Sharpe da diversificazione**.
Quattro sostituti, stesso peso 25%, stessa ri-scalatura:
| sostituto | muro | Δ vs base |
|---|---|---|
| **XSR01 (vero)** | **$478.729** | **20,6%** |
| N1 mescolato — stessi rendimenti, ordine casuale (3 semi) | $475.933 / $483.846 / $484.421 | 21,0 / 19,7 / 19,6% |
| N2 rumore gaussiano, media e vol di XSR01 (3 semi) | $457.751 / $499.263 / $531.158 | 24,0 / 17,2 / 11,9% |
| N3 rumore, **drift ZERO** (3 semi) | $558.080 / $617.270 / $662.436 | 7,4 / **+2,4** / **+9,9%** |
| **N4 conto remunerato 3,72%, vol 0** | **$477.607** | **20,8%** |
| N4 conto remunerato 4,0%, vol 0 | $469.353 | 22,1% |
📌 **Il MECCANISMO di XSR01 vale 0,8% di muro** — dentro la risoluzione Monte Carlo (spread fra semi
0,151% di perpetua ≈ $17k di muro, M23). **Mescolare i suoi rendimenti non cambia niente.**
📌 **N3 (drift zero) non paga**: mediana $617k **sopra** la base. La sola riduzione di varianza non
compra rendita. Quindi **cio' che si compra e' il DRIFT scorrelato**, non la scorrelazione.
🚨 **N4 e' la riga che risponde alla domanda.** Un **conto remunerato** allo stesso tasso (3,72%),
**vol zero, corr zero, nessun secondo venue**, da' $477.607 contro i $478.729 di XSR01: **identici
dentro la risoluzione**. Al 4,0% e' **meglio**. Ed e' un confronto **in svantaggio per il conto**:
la lente L3 gli applica il **33%** di `c-sexies`, mentre un BOT paga 12,5% e un deposito 26%.
## (4)-(5) gate e risoluzione
`weights_tilt_null` (XSR01 25% vs 0%): Δ_is +0,061 · Δ_hold +0,162 · pctl 25,8 < 90,0 → **PASS**.
⚠️ hold-out del gate = 2025-01-01 → la gamba in-sample e' **un solo anno**: gira, ma e' un indizio.
Differenza appaiata di drift **+1,16%/anno, SE 0,48% → t +2,40**. Drift XSR01 **+3,72%, SE 1,46%,
t +2,55**. Risolto, ma di poco, e su 2,64 anni.
## (6) il vincolo che non e' nelle tabelle
XSR01 gira su **Hyperliquid**: il suo peso e' capitale che **esce** da Deribit, non che si aggiunge.
A $2.067 il 25% sono **$517**, contro un **C\* misurato di $15.000-20.000** (il gate 23/10 e' tarato
su ~$3.000, §5.3). Per un 25% sopra C\* servono **$60.000 sul conto totale**.
E l'haircut mangia **proprio la cosa che il null dice di star comprando**:
| haircut | netto/anno | vs conto 4,0% | vs conto 2,0% |
|---|---|---|---|
| 0% | 3,72% | SOTTO | sopra |
| 20% | 2,97% | SOTTO | sopra |
| 40% (soglia del gate) | 2,23% | SOTTO | sopra |
| 60% | 1,49% | SOTTO | **SOTTO** |
**Pareggio con un conto al 2%: haircut 46%. Con un conto al 4%: non pareggia nemmeno a haircut ZERO.**
E l'haircut pubblicato ($14,41 di ticket) e' **~2,4x ottimista e senza script che lo riproduca**.
## VERDETTO
**4/6 condizioni** — ma il conteggio non e' la lettura. La lettura e':
> Sotto la lente **rendita perpetua**, XSR01 fa una cosa reale — porta un **drift scorrelato a bassa
> vol** — e la fa in modo **non proprietario**: mescolarlo non cambia il risultato, e un conto
> remunerato allo stesso tasso lo **eguaglia a vol zero e senza un secondo venue**.
> Il vincolo binding non e' il rendimento: e' il **capitale** ($60.000 per un 25% sopra C\*), e sotto
> quella soglia la domanda *"serve XSR01?"* **non ha una risposta comprabile**.
**Cosa NON dice.** Non dice che XSR01 e' morto: lo Sharpe standalone 1,56 e il DSR 0,983 reggono, e
sotto la lente **accumulo** il conto va rifatto (li' il drift comanda in modo diverso). Dice che
**per la rendita non e' lo strumento**, e che il gate del 23/10 sta per decidere su una gamba che a
questo capitale non e' comprabile.
## Cosa e' cambiato in me mentre misuravo
Ho copiato in questo script **lo stesso difetto che avevo riparato stamattina** in
`r0825_capitale_fermo.py`: la maschera dei giorni flat presa dalla serie **de-luckata**, dove gli
zeri esatti non esistono piu' perche' `deluck` sottrae una costante. Stampava `0.0%` e non si sarebbe
notato senza la riga che conta i giorni. Riparata con l'`assert` che manca(va) a monte: la maschera
si prende dalla **serie grezza**. *Riparare un difetto in un file non lo ripara nella testa.*