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
6.8 KiB
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.