607cd94ecd
DIFETTO. src/portfolio/gtaa.py modellava il costo come 2bps PROPORZIONALI e il modulo si
dichiarava "eseguibile a basso capitale, switch mensile/basso turnover". Entrambe false:
il vol-target e' CONTINUO (l'esposizione cambia ogni giorno, su 6 gambe) e IB non ha una
fee proporzionale ma un PAVIMENTO FISSO per ordine, min(max($0.35, $0.0035/az), 1% del
controvalore) = ~$530/anno indipendenti dal capitale.
Il modello vecchio era quindi CIECO AL CAPITALE: dava Sharpe 0.64 sia a $50.000 sia a $600.
Alla taglia grande era sostanzialmente giusto (0.64 vs 0.59-0.66 reali); a $600 la realta'
e' -0.55 di Sharpe e -3.5%/anno di CAGR. L'errore era tutto concentrato dove lo sleeve
verrebbe realmente deployato.
FIX. Il modulo ora:
* modella la commissione IB reale (ib_commission);
* esegue a BANDA + CADENZA (settimanale, $50/gamba) — config scelta sul PLATEAU del sweep
(weekly/monthly x banda 25-100 -> Sh 0.45-0.64 a ogni capitale), non sull'argmax
in-sample (banda $50 daily a $600 = cella isolata che crolla a banda 100);
* prende il CAPITALE allocato come parametro: gtaa_returns(capital=...);
* dichiara la soglia di deployabilita': GTAA_MIN_CAPITAL=$3.000 + gtaa_is_deployable();
* espone gtaa_rebalance_plan(held, capital) per l'esecutore — salta le gambe il cui
nozionale non supera la banda (un ordine da $12 costa $0.35 = 2.9%).
sleeves.py dichiara esplicitamente il capitale assunto (GTAA_DEFAULT_CAPITAL=$10.000 allocati
= book ~$50k al peso 20%) invece di nasconderlo.
IMPATTO SUL BOOK (misurato sostituendo la sola gamba GTAA, non citato):
GTAA01 standalone Sh 0.64 -> 0.61 CAGR 3.76% -> 3.65%
book 5 sleeve FULL 2.22 -> 2.22 HOLD 2.36 -> 2.38 maxDD 6.2% -> 6.0%
Trascurabile alla taglia assunta: il fix conta per il DEPLOY (a $600-2k passa da -3.5%/anno
a +3.0%/anno). PESI INVARIATI -> nessun weights_tilt_null richiesto.
CORREZIONE A UN ERRORE DI ANALISI DELLA SESSIONE. Il diario citava il modello vecchio a
"Sharpe 0.77 / CAGR 5.5%": artefatto di annualizzazione: la serie GTAA grezza ha ~252 barre
/anno (soli giorni di borsa) e metrics() annualizza a 365 con years=n/365.25 -> Sharpe x1.20
e CAGR x1.45. Le righe per-capitale erano gia' su calendario 365, quindi era falsata solo la
riga di riferimento. Corretti diario, CLAUDE.md e r0725_capcurve.py.
LEZIONE: una serie su giorni di borsa non si passa a metrics() senza to_daily().
Test: 221 pass (+4 in tests/test_gtaa_sleeve.py: pavimento non proporzionale, dipendenza dal
capitale + soglia, senza-banda-e-distruttivo, piano che salta le gambe sotto banda).
Smoke: scripts/live/paper_combo.py gira invariato.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
409 lines
25 KiB
Markdown
409 lines
25 KiB
Markdown
# 2026-07-25 — Rendita passiva: la curva capitale→book, il muro vero, e l'asimmetria del funded
|
||
|
||
**Contesto.** Goal: "altra sessione di ricerca per arrivare allo scopo (rendita passiva, 50 EUR/g),
|
||
i 600 euro si possono usare come si vuole". La roadmap del 24/07 aveva già chiuso i *canali*
|
||
(prop / vault / copy / legale). Questa ondata attacca i due punti che quella roadmap **assumeva**
|
||
invece di calcolare: (a) il tasso di crescita del book è preso come **CAGR fisso 15%**, (b) il
|
||
capitale-rendita è calcolato come **target/CAGR**, cioè ignorando il rischio di sequenza.
|
||
Entrambe le assunzioni sono risultate sbagliate, e nella stessa direzione: ottimista.
|
||
|
||
Script: `scripts/research/r0725_capcurve.py`, `scripts/research/r0725_prop_config.py`.
|
||
Test: `tests/test_capcurve.py` (10 casi). **Book live, pesi e config: INVARIATI.**
|
||
|
||
---
|
||
|
||
## 1) Difetto di eseguibilità su GTAA01 — il 5° sleeve del book attivo
|
||
|
||
`src/portfolio/gtaa.py` modella il costo come **2bps proporzionali** e lo sleeve è documentato
|
||
come *"eseguibile su IB a basso capitale (ETF frazionabili, switch mensile/basso turnover)"*.
|
||
Entrambe le cose sono false come codificate:
|
||
|
||
- il segnale è un vol-target **continuo**: l'esposizione cambia **ogni giorno** su **6 gambe**;
|
||
- IB non ha una fee proporzionale ma un **pavimento FISSO per ordine**:
|
||
`min(max($0.35, $0.0035/azione), 1% del controvalore)` → ~**$530/anno di commissioni
|
||
indipendenti dal capitale**.
|
||
|
||
| capitale allocato a GTAA | CAGR reale | Sharpe reale | drag commissioni |
|
||
|---|---|---|---|
|
||
| $600 | **−3.5%** | **−0.55** | 7.2%/anno |
|
||
| $2.000 | −0.7% | −0.09 | 4.4%/anno |
|
||
| $5.000 | +1.5% | 0.28 | 2.2%/anno |
|
||
| $50.000 | +3.4% | 0.59 | 0.2%/anno |
|
||
| *modello vecchio (2bps propor.)* | *+3.8%* | *0.64* | — |
|
||
|
||
⚠️ **Correzione a un errore MIO, trovata implementando il fix.** La prima stesura di questa
|
||
sezione citava il modello vecchio a *Sharpe 0.77 / CAGR 5.5%*: era un **artefatto di
|
||
annualizzazione** del mio script di analisi — metricavo la serie GTAA grezza (solo giorni di
|
||
borsa, ~252/anno) con `metrics()`, che annualizza a 365 e calcola `years = n/365.25` → Sharpe
|
||
gonfiato di √(365/252) = 1.20× e CAGR di ~1.45×. Le righe per-capitale erano già su calendario
|
||
365 (reindex + weekend a zero), quindi **il confronto era falsato solo sulla riga di riferimento**.
|
||
Valore corretto del modello vecchio: **0.64 / 3.8%**.
|
||
|
||
**La formulazione giusta del difetto cambia di conseguenza.** Non è "il modello sovrastimava lo
|
||
Sharpe di 0.13": alla taglia grande il modello vecchio era sostanzialmente **giusto** (0.64 contro
|
||
0.59-0.66 reali). Il difetto è che era **CIECO AL CAPITALE** — dava 0.64 sia a $50.000 sia a $600,
|
||
mentre a $600 la realtà è **−0.55**. Un modello di costo proporzionale non può descrivere un
|
||
pavimento fisso, e l'errore è tutto concentrato dove lo sleeve verrebbe realmente deployato.
|
||
|
||
**La banda lo salva.** Con costo fisso la banda ottimale non è il minimo eseguibile (come su
|
||
Deribit) ma un valore molto più alto. Plateau robusto = **cadenza settimanale × banda $25-100**
|
||
→ Sharpe 0.45-0.64 a *ogni* capitale; a $600 la config scelta sul plateau (banda $50, weekly)
|
||
dà **Sh 0.52 / CAGR 3.0%** invece di −0.55/−3.5%. (La cella argmax a $600 era banda $50 *daily*
|
||
a 0.57, ma è isolata — crolla a 0.28 a banda 100 → scartata: il parametro è di costo, si sceglie
|
||
sul plateau, non sull'argmax in-sample.)
|
||
|
||
**Conseguenza operativa: CABLATO** (stessa sessione, `src/portfolio/gtaa.py`). Il modulo ora
|
||
modella il costo IB reale (`ib_commission`), esegue a **banda + cadenza** (settimanale, $50/gamba),
|
||
prende il **capitale allocato** come parametro (`gtaa_returns(capital=...)`), dichiara la soglia
|
||
di deployabilità (`GTAA_MIN_CAPITAL = $3.000`, `gtaa_is_deployable`) ed espone
|
||
**`gtaa_rebalance_plan(held, capital)`** — il piano che l'esecutore deve usare per non ribilanciare
|
||
ogni giorno per pochi dollari. `sleeves.py` dichiara esplicitamente il capitale assunto
|
||
(`GTAA_DEFAULT_CAPITAL = $10.000` allocati ≈ book $50k al peso 20%) invece di nasconderlo.
|
||
|
||
**Impatto sul book, misurato prima/dopo** (non citato: ricalcolato sostituendo la sola gamba GTAA):
|
||
|
||
| | GTAA01 standalone | book 5 sleeve FULL | HOLD | maxDD |
|
||
|---|---|---|---|---|
|
||
| prima (2bps, continuo) | Sh 0.64 / CAGR 3.76% | 2.22 | 2.36 | 6.2% |
|
||
| dopo (IB reale + banda) | Sh 0.61 / CAGR 3.65% | 2.22 | **2.38** | **6.0%** |
|
||
|
||
Alla taglia assunta l'impatto sul book è **trascurabile** — il fix non è cosmetico per i numeri
|
||
storici, lo è per il **deploy**: è a $600-2.000 che cambia tutto (da −3.5%/anno a +3.0%/anno).
|
||
Pesi **invariati** (nessun cambio pesi → nessun `weights_tilt_null` richiesto).
|
||
|
||
**Regola nuova (generale): il costo di un venue va modellato nella sua FORMA — fisso vs
|
||
proporzionale — non solo nel suo livello.** Due venue con lo stesso "costo medio" danno
|
||
risultati **opposti** al variare del capitale: la fee proporzionale è neutrale alla taglia, il
|
||
pavimento fisso è una tassa regressiva che si mangia i piccoli. Ogni sleeve nuovo va incrociato
|
||
col modello di costo del suo venue *prima* di dichiararlo eseguibile.
|
||
|
||
**Controprova su Deribit (fee proporzionale, nessun pavimento):** lo Sharpe realistico di TP01
|
||
coincide col modellato da ~$500 in su (1.29 a $1k = 1.29 a $50k) → conferma indipendente della
|
||
lezione già a libro *"a $600 il min-order $5 è già la banda ottimale"*.
|
||
|
||
---
|
||
|
||
## 2) La rendita NON è `capitale × CAGR` — il muro del 24/07 era ottimista di 2-4×
|
||
|
||
Una rendita passiva si preleva **mentre** il book è in drawdown: è rischio di sequenza, e
|
||
`target/CAGR` non lo vede. Calcolato col bootstrap a blocchi (20g) dei ritorni **reali** del book
|
||
(TP01 75 / SKH01 25, SKH01 sul **path live** orario, non sul backtest):
|
||
|
||
| lente | Sharpe | CAGR | SWR 20a (95% sopravv.) | **rendita perpetua** | capitale per 50 EUR/g |
|
||
|---|---|---|---|---|---|
|
||
| modellato (backtest) | 1.75 | 20.5% | 13.10% | 13.57% | $219k |
|
||
| path live | 1.64 | 19.7% | 12.48% | 12.78% | $232k |
|
||
| **path live de-luck ×0.6** | **0.98** | **11.1%** | **7.31%** | **5.98%** | **$497k** |
|
||
|
||
*"Rendita perpetua"* = prelievo massimo con **P(capitale a 20 anni ≥ capitale iniziale) ≥ 90%**.
|
||
È il criterio giusto: "sopravvivere 20 anni" non è una rendita, è un piano di consumo del capitale.
|
||
|
||
**Il muro vero per 50 EUR/g perpetui è $300k-$500k**, non i €122k del diario 24/07. L'errore si
|
||
componeva di due fattori nella stessa direzione: (a) `capital×CAGR` ignora la sequenza (−45%
|
||
circa sul tasso), (b) CAGR 15% invece del de-luckato 11%.
|
||
|
||
⚠️ **Sul de-luck, onestà metodologica:** il ×0.6 sul drift è la convenzione ereditata dal 24/07,
|
||
ma qui è applicato **sopra** il path live orario, che *già* incorpora la degradazione di SKH01
|
||
(fill al livello → fill orario). C'è quindi un rischio concreto di **doppio conteggio** della
|
||
stessa penalità. Il muro va perciò letto come una **banda**, non come un punto:
|
||
**$232k (path live, nessun de-luck ulteriore) — $497k (path live + de-luck ×0.6)**, con la stima
|
||
centrale ragionevolmente attorno a **$300-400k**. Ciò che NON dipende dal de-luck è il risultato
|
||
strutturale: la rendita perpetua vale ~**45-55% del CAGR**, non il 100% — quindi qualunque muro
|
||
calcolato come `target/CAGR` è sbagliato per un fattore ~2, indipendentemente dalla lente.
|
||
|
||
Al capitale attuale: **$600 → ~€0.11/giorno** di rendimento atteso, ~€0.06/g come rendita perpetua.
|
||
|
||
*(Fisco incluso: 50 EUR/g netti = €18.250/anno netti = **$29.690/anno lordi** al 33%.)*
|
||
|
||
**Validazione della macchineria** (obbligatoria, 3 casi a risposta nota): asset deterministico
|
||
al 10%/anno → rendita perpetua fra 9% e 10% ✓; random walk a drift zero → rendita 0 ✓; book a
|
||
prelievo nullo → P(rovina)=0 e mediana 37.6× in 20 anni ≈ 1.197²⁰ ✓.
|
||
|
||
---
|
||
|
||
## 3) La diversificazione non crea reddito a pari nozionale — libera budget di rischio
|
||
|
||
Il test che conta, per tier di sblocco (tutti de-luck ×0.6, GTAA01 a costo IB reale con banda):
|
||
|
||
| tier | Sharpe | vol | rendita @iso-nozionale | capitale | @ISO-RISCHIO (vol 15%) | capitale |
|
||
|---|---|---|---|---|---|---|
|
||
| $600 — 2 sleeve | 0.98 | 11.4% | 5.98% | $497k | 1.32× → **7.51%** | $395k |
|
||
| $2k — + GTAA01 | 1.02 | 9.2% | 5.39% | $551k | 1.64× → 7.92% | $375k |
|
||
| $20k — + XS01 | 1.11 | 9.3% | 6.28% | $472k | 1.61× → **9.25%** | **$321k** |
|
||
| $20k — + XS01 + VRP01 (contro-fattuale) | 1.15 | 8.8% | 6.35% | $467k | 1.70× → 9.82% | $302k |
|
||
|
||
**A pari nozionale il muro NON si abbassa** (5.98% → 6.35%: nulla). Un diversificatore a basso
|
||
CAGR toglie vol e ritorno insieme. **A iso-rischio sì**: −19% di muro ($395k → $321k).
|
||
|
||
**Regola: un diversificatore a basso CAGR si giudica a ISO-RISCHIO, mai a iso-nozionale.** È il
|
||
"null de-levering" del progetto applicato al contrario — lì si smascherava un finto taglio di DD
|
||
comprato con la size, qui si smaschera un finto *mancato* guadagno per non aver rilevato la size.
|
||
|
||
*(L'ipotesi di partenza — "più capitale → più sleeve → CAGR super-lineare" — è quindi **refutata**
|
||
nella forma forte: la curva Sharpe del book eseguibile è **piatta** da $600 a $200k, perché TP01 su
|
||
Deribit non ha pavimento di costo e SKH01 nemmeno. Sopravvive solo nella forma debole, via iso-rischio.)*
|
||
|
||
---
|
||
|
||
## 4) Traiettoria onesta (bootstrap, de-luck, target $497k)
|
||
|
||
| deposito | p10 | mediana | p90 | P(entro 10a) | P(entro 20a) |
|
||
|---|---|---|---|---|---|
|
||
| €0/mese | — | — | — | 0% | **0%** |
|
||
| €250/mese | 18.9a | 22.4a | 24.6a | 0% | 8% |
|
||
| €500/mese | 15.6a | 19.6a | 23.4a | 0% | 48% |
|
||
| €1.000/mese | 11.6a | 14.8a | 18.7a | 2% | 95% |
|
||
| €2.000/mese | 8.1a | 10.1a | 12.8a | 48% | 100% |
|
||
|
||
Senza depositi, da $600, la rendita da 50 EUR/g **non arriva mai** (0% dei path in 20 anni).
|
||
Il moltiplicatore è il deposito, non il rendimento: è la stessa conclusione del 24/07, ma su un
|
||
target 4× più alto e quindi con tempi ~2× più lunghi.
|
||
|
||
---
|
||
|
||
## 5) L'ASIMMETRIA — il risultato strategico della sessione
|
||
|
||
Il 24/07 ha valutato il fronte prop **solo col book a 2 sleeve** (quello eseguibile a $600). Ma su
|
||
un conto funded il capitale non è $600, è **$100k** — e gli sleeve che a casa nostra sono STAT-MODE
|
||
*per taglia* (XS01 serve ~$20k) **diventano eseguibili**. Le regole prop, inoltre, passano sul
|
||
**drawdown**, non sul CAGR: premiano esattamente ciò che la diversificazione produce.
|
||
|
||
Finestra comune 2024+, de-luck ×0.6, crypto-only (niente GTAA01 che è equity su IB, niente VRP01):
|
||
|
||
| | P(pass) HYRO 1.0× | P(pass) FTMO 1.5× | **funded HYRO 1.0×: P(vivo 1a)** | funded FTMO 1.0×: P(vivo) | E[payout] FTMO | EUR/g atteso |
|
||
|---|---|---|---|---|---|---|
|
||
| A: TP01/SKH01 (live oggi) | 44.4% | 51.9% | **18.9%** | 58.8% | $8.655 | 14.58 |
|
||
| B: + XS01 (19 alt perp) | **54.7%** | **70.0%** | **57.6%** | **92.0%** | **$9.333** | **15.72** |
|
||
|
||
**Il salto è nella sopravvivenza: 18.9% → 57.6% (3×) sul conto funded HYRO a leva 1.0×.** E la
|
||
raccomandazione del 24/07 ("funded a 0.75×, mai 1.0×") si **ribalta** col book diversificato: su
|
||
FTMO a 1.0× la sopravvivenza è 92%.
|
||
|
||
**L'asimmetria in una riga:** sul **capitale proprio** diversificare non aumenta il reddito (il
|
||
reddito è `C × tasso`, e il tasso sale poco); su un **conto funded** lo aumenta molto, perché lì
|
||
il vincolo binding non è il capitale ma la **regola di drawdown**. → **Gli sleeve "inutili a $600
|
||
perché STAT-MODE" sono esattamente gli asset di maggior valore sull'unico canale che scala in mesi.**
|
||
Questo inverte la priorità implicita di dieci ondate di ricerca.
|
||
|
||
**Caveat forte, dichiarato.** (1) Il MC è **close-only**: C-bis del 24/07 ha dimostrato che i wick
|
||
intraday tagliano 6-37pp → **i livelli assoluti qui sono un TETTO**. Il ricostruttore MTM intraday
|
||
esiste solo per TP01+SKH01 (feed 5m); XS01 è 1d nativo su Hyperliquid e il suo intraday non è
|
||
ricostruibile dai nostri dati → non l'ho inventato. Il **delta** fra config è la misura onesta ed
|
||
è **conservativo** (B ha vol minore → wick minori → haircut minore). (2) La finestra comune 2024+
|
||
è **quella in cui XS01 è stato scoperto e affinato** → la *taglia* del guadagno è ottimista; sulla
|
||
finestra piena il delta si riduce (P(pass) 56.9%→58.5%, P(vivo) 14.9%→21.8%) ma quella è
|
||
sfavorevole a B per costruzione (pre-2024 B degenera in A). Il **meccanismo** (corr bassa → meno
|
||
DD → più sopravvivenza sotto vincolo di DD) è robusto; la sua taglia no.
|
||
|
||
---
|
||
|
||
## 6) LA VIA — i 600 euro come BIGLIETTO, non come capitale (`r0725_prop_ladder.py`)
|
||
|
||
Se i €600 come *capitale* sono refutati (§2, §4), restano i €600 come **biglietto**: si compra
|
||
un'evaluation, il conto funded moltiplica il **nozionale** senza possedere capitale, i payout
|
||
comprano altri biglietti. È l'unica leva che non richiede depositi. Il 24/07 si era fermato a
|
||
**un** conto ($100k → ~€14.5/g, cap $200k/firm). Ma €50/g richiede **più conti in parallelo** —
|
||
e qui c'è il problema che nessuno aveva studiato:
|
||
|
||
> **N conti che girano lo stesso book bustano INSIEME.** La diversificazione fra conti è
|
||
> illusoria salvo assegnare **sleeve diversi a conti diversi**.
|
||
|
||
È un problema di costruzione di portafoglio sotto **barriera di rovina per-conto**, e non è ovvio
|
||
quale verso vinca: concentrare alza lo Sharpe *per conto* (sopravvivenza individuale) ma rende le
|
||
morti perfettamente correlate; sparpagliare decorrela le morti ma ogni conto ha Sharpe più basso
|
||
e quindi buca più spesso la propria barriera.
|
||
|
||
Simulazione: 36 mesi, cassa iniziale €600, max 6 conti, 2 firm (cap $200k/$400k), regole vere,
|
||
payout mensile 80% prelevato subito, fisco 33%, **rischio-morte firm 10%/anno**, bootstrap a
|
||
blocchi **congiunto** dei 3 sleeve (la correlazione fra conti è quella *reale*: TP01–SKH01 +0.10,
|
||
TP01–XS01 −0.12, SKH01–XS01 −0.00).
|
||
|
||
| politica (leva 1.0×) | EUR/g mediano | p90 | P(≥10/g) | **P(≥50/g)** | P(zero) |
|
||
|---|---|---|---|---|---|
|
||
| CONC-2SL — ogni conto = book live attuale | 0.00 | 63.2 | 26.1% | 13.1% | 55.6% |
|
||
| CONC-DIV — ogni conto = book diversificato | 5.70 | 70.6 | 44.9% | 17.8% | 33.4% |
|
||
| SPARSO — 1 sleeve per conto | 0.00 | 76.3 | 26.2% | 16.8% | **66.0%** |
|
||
| **MISTO — metà diversificati, metà single** | **10.70** | 75.1 | **50.6%** | **20.7%** | 33.4% |
|
||
|
||
*(lente close-only)*
|
||
|
||
**Risultato non ovvio: vince il MISTO, non gli estremi.** Ogni conto ha bisogno di abbastanza
|
||
Sharpe per sopravvivere alla *propria* barriera (questo uccide SPARSO: P(zero) 66%), ma i conti
|
||
hanno anche bisogno di essere decorrelati fra loro (questo penalizza CONC). E il **book live
|
||
attuale a 2 sleeve è la politica peggiore** di tutte.
|
||
|
||
**La lente onesta però è più dura.** Le regole prop scattano sull'equity *intraday*. Con i wick
|
||
(lognormale calibrato sui percentili del recon MTM 1h del 24/07: p50 −0.17pp, p90 −0.90pp,
|
||
p99 −3.50pp, scalati sulla vol di ogni config):
|
||
|
||
| politica (leva 1.0×, INTRADAY) | EUR/g mediano | p90 | P(≥10/g) | **P(≥50/g)** | P(zero) |
|
||
|---|---|---|---|---|---|
|
||
| CONC-2SL | 0.00 | 2.18 | 4.8% | 1.7% | 85.1% |
|
||
| CONC-DIV | 0.00 | 7.34 | 9.0% | **2.5%** | 78.1% |
|
||
| SPARSO | 0.00 | 0.02 | 1.3% | 0.3% | 89.9% |
|
||
| MISTO | 0.00 | 4.89 | 6.6% | 1.6% | 78.1% |
|
||
|
||
⚠️ **Il mio modello di wick è un PAVIMENTO, non una stima puntuale**: il gap è estratto
|
||
**indipendente dal rendimento del giorno**, mentre i wick veri sono *accoppiati* alle giornate
|
||
brutte → estrarli indipendenti aggiunge finti tuffi anche nelle giornate buone, cioè breach spuri.
|
||
Il modo corretto è il bootstrap delle **tuple (ritorno, gap)** come in `r0724_goal50_intraday_mc.py`,
|
||
che però ha il recon solo per TP01+SKH01 (XS01 è 1d nativo su Hyperliquid, intraday non
|
||
ricostruibile dai nostri dati) → **follow-up dichiarato, non simulato**.
|
||
|
||
**Verdetto in banda (ed è la risposta al goal):**
|
||
> Una via da €600 a €50/giorno **esiste** ed è la scala di conti funded. In 3 anni ha una
|
||
> probabilità **fra il 2% e il 21%** di arrivarci, e una probabilità **fra il 33% e il 78%** di
|
||
> bruciare interamente i €600. Il valore atteso è positivo rispetto ai €600 tenuti come capitale
|
||
> (~€0.11/g ⇒ ~€120 in 3 anni), ma è una **scommessa a coda destra, non una rendita**.
|
||
|
||
Il confronto fra *politiche* è invece robusto (stessa lente per tutte) e ha un'implicazione
|
||
diretta: **se si apre il fronte prop, non mandarci il book live attuale** — è l'ultima delle
|
||
quattro politiche in entrambe le lenti.
|
||
|
||
---
|
||
|
||
## 7) ADDENDUM — "e se metto 10K su IB?" (`r0725_ib10k.py`)
|
||
|
||
Domanda dell'operatore a valle dell'ondata. Non è una domanda su GTAA01: è **allocazione fra due
|
||
venue** con profili opposti — Deribit (TP01+SKH01) è il **motore** (CAGR ~11% de-luck, vol 11.3%),
|
||
IB (GTAA01) è un **diversificatore** (CAGR ~3.9%, vol ~5%, corr ~+0.10). Tre effetti da contare
|
||
insieme: (a) il deposito **sblocca** GTAA01 (il pavimento di commissione passa dall'1-3% per ordine
|
||
a ~0.02% → §1 risolto); (b) sposta il baricentro su un venue a CAGR basso; (c) cambia l'**aliquota**
|
||
(ETF 26% vs crypto 33%, assunzione dichiarata).
|
||
|
||
Capitale totale $11.500 ($600 Deribit + €10k), de-luck ×0.6, SKH01 path live:
|
||
|
||
| quota su IB | Sharpe | CAGR | maxDD | €/g atteso | rendita perpetua |
|
||
|---|---|---|---|---|---|
|
||
| 0% (tutto Deribit) | 0.99 | 11.2% | 15.3% | **2.16** | €1.16/g |
|
||
| 25% | 1.06 | 9.3% | 12.0% | 1.85 | €1.08/g |
|
||
| 50% | **1.13** | 7.5% | 11.2% | 1.54 | €0.98/g |
|
||
| 94% (= i 10k su IB) | 0.84 | 4.4% | 10.5% | **0.93** | €0.61/g |
|
||
|
||
**Mettere i 10k su IB più che dimezza il reddito** (€0.93 vs €2.16/g): è la §3 di questo stesso
|
||
diario vista dal lato pratico — un diversificatore a basso CAGR diluisce l'income a pari nozionale.
|
||
|
||
**E la via d'uscita (levare) è chiusa dai costi.** Lo Sharpe migliore (1.13 a 50/50) si converte in
|
||
reddito solo con leva; ma su ETF a IB con €10k c'è la **Reg-T (2× max**, il portfolio margin parte
|
||
da ~$110k) e il margine costa **~5.5%/anno**. Contando il finanziamento:
|
||
|
||
| quota IB | leva attuabile | CAGR lordo | costo leva | CAGR netto | rendita |
|
||
|---|---|---|---|---|---|
|
||
| **0%** | 1.33× | 14.8% | 0.7% | **14.1%** | **€1.33/g** |
|
||
| 25% | 1.71× | 15.9% | 2.0% | 13.9% | €1.25/g |
|
||
| 50% | 2.27× | 17.1% | 4.8% | 12.4% | €0.92/g |
|
||
| 94% | 2.06× | 9.0% | 5.6% | 3.4% | €0.00/g |
|
||
|
||
→ **con leva attuabile E costo del margine, vince tutto-Deribit a 1.33×.** Il diversificatore
|
||
permetterebbe di levare di più, ma il finanziamento costa più di quanto aggiunge.
|
||
**Regola: l'argomento iso-rischio (§3) vale solo se la leva è (a) disponibile e (b) a costo
|
||
inferiore all'uplift — su un conto retail da €10k su ETF non lo è.**
|
||
|
||
**Il confronto che ridimensiona GTAA01:** €10k in GTAA01 = **€0.93/g con maxDD 10.5%**; gli stessi
|
||
€10k **fermi** a interesse ~2% = **€0.54/g con maxDD ~0%**. Il premio dello sleeve sopra la
|
||
liquidità è **~€0.50/g pagato con un drawdown del 10%** — in isolamento un cattivo affare (e un
|
||
monetario/BTP EUR renderebbe più del 2% assunto).
|
||
|
||
**Raccomandazione:** se arrivano €10k, il posto produttivo è **Deribit**. Chi vuole meno drawdown
|
||
può tenere **25% su IB**: costa ~€0.08/g di rendita e taglia il maxDD dal 15.3% al 12.0% — è
|
||
l'unico split che regge anche coi costi di finanziamento. Il 94% su IB no.
|
||
|
||
⚠️ **Caveat che rende il confronto meno netto di come appare:** il CAGR crypto (11%) viene da ~7
|
||
anni che contengono **due bull market**; il 3.9% di GTAA01 da ~30 anni con dentro più orsi. Il
|
||
confronto **favorisce il crypto per costruzione** — il numero crypto ha più probabilità di deludere.
|
||
Tassi (margine 5.5%, liquidità 2%) e aliquote (26%/33%) sono assunzioni dichiarate; le aliquote
|
||
vanno confermate col commercialista (**non è un parere fiscale**).
|
||
|
||
---
|
||
|
||
## 8) HYROTRADER nello specifico (`r0725_hyro.py`)
|
||
|
||
La firm che il 24/07 aveva messo prima in classifica per *questo* book: unica con **API reale** da
|
||
funded (sub-account Bybit) → il book gira automatico; **nessun limite di tempo** sull'eval (una
|
||
strategia lenta non è penalizzata); **weekend consentito** — non banale, l'ondata 2026-07-17 ha
|
||
misurato che il weekend porta il **38% del gross di TP01**. Biglietti $25k/$249, $50k/$379,
|
||
$100k/$579, cap $200k, split 80%, fee rimborsata al pass.
|
||
|
||
Due regole mordono proprio noi, e nessuna analisi le aveva modellate: **maxDD 6% STATICO** e
|
||
**consistency 40%** (nessun giorno > 40% del profitto totale, in eval).
|
||
|
||
**Ipotesi refutata: la consistency NON morde.** Avevo previsto una tagliola (SKH01 ha P&L a
|
||
scalino, TP01 fa strappi di trend). Misurato: **costo ≈ 0pp** a ogni leva e in entrambe le lenti.
|
||
Ragione strutturale: il book accumula il 10% in **130-300 giorni**, quindi nessun singolo giorno
|
||
si avvicina al 40% del cumulato. ⚠️ Prima di dichiararlo ho dovuto **provare che il controllo
|
||
funziona** (un "costo 0" può essere un bug): `test_consistency_MORDE_su_un_book_grumoso` mostra
|
||
che su un book con profitto concentrato in 1-2 giorni la regola porta P(pass) da >90% a <5%. Il
|
||
meccanismo c'è; è il book a non essere grumoso abbastanza. *(Il primo probe era sbagliato — strappi
|
||
ripetuti si diluiscono a vicenda, e sim_eval fa block-bootstrap, non replay: due iterazioni di test
|
||
prima di avere un discriminante valido.)*
|
||
|
||
**Il vincolo vero è il DD 6% statico.** Finestra comune 2024+, de-luck ×0.6:
|
||
|
||
| | Sharpe | CAGR | vol | maxDD |
|
||
|---|---|---|---|---|
|
||
| A — book live (TP01/SKH01) | 0.74 | 7.2% | 10.1% | 9.5% |
|
||
| B — + XS01 | **1.13** | 10.0% | 8.8% | **6.2%** |
|
||
|
||
Config A ha maxDD 9.5% contro un limite di 6%: **strutturalmente incompatibile a leva piena**.
|
||
|
||
**Funded $100k, P(vivo 1 anno) / €-giorno:**
|
||
|
||
| config | leva | close-only (tetto) | intraday (pavimento) |
|
||
|---|---|---|---|
|
||
| A | 0.50× | 80.2% / €8.33 | 44.0% / €6.86 |
|
||
| A | 0.75× | 51.1% / €12.21 | **10.1%** / — |
|
||
| A | 1.00× | 27.1% / €13.89 | **1.4%** / — |
|
||
| B | 0.50× | 98.5% / €8.69 | **71.0%** / €7.69 |
|
||
| B | 0.75× | 85.4% / €12.78 | 31.6% / €8.66 |
|
||
| B | 1.00× | 66.0% / €16.20 | 9.9% / — |
|
||
|
||
**EV del biglietto** (config B, eval 1.0×, funded a leva ottima, 1 anno): close-only P(pass) 73.0%
|
||
→ EV **+$6.789** sul biglietto $100k; intraday P(pass) 31.1% → EV **+$1.166**. **Positivo in
|
||
entrambe le lenti** — ma con ~69% di probabilità di perdere la fee nella lente pessimista.
|
||
|
||
**Raccomandazione operativa:**
|
||
1. **Config B (con XS01), non il book live attuale.** A 1.0× intraday config A sopravvive l'1.4%:
|
||
mandarci il book a 2 sleeve a leva piena è morte quasi certa.
|
||
2. **Funded a 0.50×** (non 0.75× come indicava il 24/07 per la config A): E[payout] scende poco
|
||
(€7.69 vs €8.66/g) ma la sopravvivenza raddoppia (71% vs 32%) — e su orizzonti pluriennali la
|
||
sopravvivenza **compone**, un conto bustato smette di produrre per sempre.
|
||
3. Eval a 0.75-1.0×; biglietto $25-50k come test economico — l'EV scala **linearmente** con la
|
||
taglia, quindi la ragione per partire piccoli è varianza e apprendimento, non EV.
|
||
4. **Cap $200k/trader ⇒ ~€15-30/g anche negli scenari buoni.** Per €50/g servono più firm → §6.
|
||
|
||
⚠️ **Discrepanza dichiarata col 24/07:** lì il funded di config A a 0.75× dava P(vivo) 58%, qui
|
||
10%. Due cause note: (a) il mio wick è a estrazione indipendente (più severo — §6); (b) finestra
|
||
2024+, dove config A è debole (Sharpe 0.74 vs 0.99 sulla finestra piena). **La direzione concorda
|
||
(meno leva è meglio), il livello no** — e il numero del 24/07 usa il recon MTM vero, quindi sul
|
||
livello è più affidabile del mio.
|
||
|
||
---
|
||
|
||
## Bug catturato in sessione
|
||
|
||
**Modello funded, base di prelievo aggiornata ogni giorno come un HWM mobile** → al checkpoint
|
||
mensile `eq > hwm` è quasi sempre falso → guadagno misurato ≈ 0 → **payout $230/anno invece di
|
||
~$7.000**. Le regole vere sono a max-loss **statico dal saldo iniziale**, con la base ripristinata
|
||
dopo ogni prelievo. Corretto e bloccato da `test_funded_payout_non_e_zero_regressione_hwm`.
|
||
Famiglia nota: numero plausibile, meccanismo sbagliato — si prende solo con una sanity a risposta nota.
|
||
|
||
---
|
||
|
||
## Decisioni e non-decisioni
|
||
|
||
**Cablato:** nulla sul path live. Book, pesi, config, cron: **invariati**.
|
||
|
||
**Raccomandazioni all'operatore (non automatizzabili):**
|
||
1. **Se si apre il fronte prop** (l'unico canale che scala in mesi): mandarci il book
|
||
**diversificato** TP01+SKH01+XS01, non il book a 2 sleeve. È la differenza fra P(vivo) 19% e
|
||
58% a leva 1.0×. Richiede una venue con i 19 alt perp (Bybit sub-account HyroTrader li ha).
|
||
E se si arriva a più conti, **politica MISTA** (§6): metà conti col book diversificato, metà
|
||
con singoli sleeve decorrelati. Budget mentale onesto: **P(perdere tutto) 33-78%**.
|
||
2. **GTAA01 su IB**: non andare live senza banda+cadenza (weekly, banda ~$50/gamba). È un cambio
|
||
al modello dello sleeve → passa dai gate, non lo cablo in questa sessione.
|
||
3. **Aspettativa onesta ricalibrata**: rendita perpetua da 50 EUR/g = **$300k-$500k** di capitale
|
||
(non €122k). A $600 il book rende ~**€0.11/giorno**.
|
||
|
||
**Cosa NON fare (confermato):** niente cambio pesi senza `weights_tilt_null`; niente leva "per
|
||
accelerare" sul capitale proprio (il muro si sposta del 20%, non dell'ordine di grandezza).
|