research(gtaa): la via UCITS e' aperta e costa ~zero — il broker non e' la variabile

Domanda dell'operatore: "usiamo revolut o degiro". Risposta misurata: cambiare
broker non sblocca nulla (il PRIIPs e' una norma, non una politica di IB); cambiare
VEICOLO si', e costa ~zero.

CORREZIONE A UNA MIA AFFERMAZIONE. La nota in gtaa.py diceva che gli UCITS fanno
perdere la validazione a 30 anni. Falso: il PRIIPs vieta di COMPRARE, non di
GUARDARE — i prezzi dei 6 ETF USA restano leggibili, quindi il segnale gira sui 30
anni per sempre e cambia solo il veicolo su cui si incassa.

Misure (3 lenti, un grado di liberta' per volta, 6.3 anni comuni):
  L0 segnale USA + rend. USA   Sh 0.81 / CAGR 3.96%
  L2 segnale UCITS + rend. UCITS Sh 0.84 / CAGR 4.08%
  drag del veicolo +0.10%/anno EW, coerente coi TER; ritenuta USA ~35bps a FAVORE
  dell'UCITS e non inclusa nel drag.

Lo stimatore ovvio sbagliava: la media delle differenze giornaliere dava -0.47%/anno
su CSPX contro -0.06% vero (SE ~7%/anno = 15x la quantita' stimata, piu' drag di
varianza). La deviazione fra veicoli sullo stesso indice si misura sul RAPPORTO
CUMULATO.

Il vincolo non e' il broker ma il prezzo di UNA azione, che e' una scelta: CSPX $802
vs VUAA $144 sullo stesso S&P 500. A $3.000 con azioni intere l'insieme STORIA tiene
4/6 gambe (a mercato il 33%), l'insieme DEPLOY 6/6 (65%) -> il frazionamento non
serve. Letto su gambe-vive+vol, non su Sharpe: il vincolo intero ALZA lo Sharpe
perche' de-leveraggia (null de-levering, 4a occorrenza).

Resta da verificare una cosa sola: 77-149 ordini/anno contro soglie $0.90 ($3k) /
$2.23 ($10k) / $7.62 ($50k) per ordine. Raccomandazione: restare su IB.

Feed equity: aggiunto il CROSS-CHECK che mancava (src/data/eq_crosscheck.py). Il
primo veicolo estero ha trovato subito CSPX 2012-01-13 con open/high in USD e
low/close in EUR (fattore 1.2797 = EURUSD del giorno), invisibile alla guardia
maxret>50% — stesso schema dello split 2:1 del 25/07. Soglia non tarabile sulla
deviazione (rumore 9.90%, margine 2.2x): cambiata statistica in |dev|/movimento del
gemello -> margine 5.3x. Limite EURUSD 1.09 dichiarato e chiuso sul DANNO (dSharpe
mediano -0.003), congelato in un test.

Book, pesi, cron, config INVARIATI. 435 test verdi (+24).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XBbYmiXqbUNuGpK9sfbsGp
This commit is contained in:
Adriano Dal Pastro
2026-07-26 23:01:54 +00:00
parent 6664575e1c
commit be4690375f
8 changed files with 1481 additions and 16 deletions
+30 -9
View File
@@ -45,15 +45,36 @@ RAW = Path(__file__).resolve().parents[2] / "data" / "raw"
# GTAA_MIN_CAPITAL, e il LOO del 26/07 che lo indicava come l'unico sleeve positivo nel 100%
# delle estrazioni su tutte e tre le metriche.
#
# VIA D'USCITA (non ancora percorsa): equivalenti UCITS — CSPX/SXR8, EQQQ/SXRV, IUSN/CSUSS,
# DTLA/IDTL, SGLN/IGLN, IHYU. ⚠️ NON e' una sostituzione di ticker:
# * storia piu' CORTA (diversi nati dopo il 2010) -> si perde la validazione a 30 anni che e'
# cio' che rendeva credibile questo sleeve;
# * ritenuta sui dividendi, TER e replica diversi -> qualche decina di bps/anno su un CAGR
# del 3.65%, cioe' non trascurabile in proporzione;
# * quotazione LSE/Xetra -> orari e valuta diversi da un sleeve che decide sul close USA.
# Percorso onesto: validare sull'INDICE (storia lunga) e negoziare il VEICOLO UCITS, dichiarando
# il tracking error e la ritenuta come costi espliciti.
# VIA D'USCITA MISURATA 2026-07-26 (diario 2026-07-26-gtaa-ucits.md, script
# scripts/research/r0726_gtaa_ucits.py): gli equivalenti UCITS REGGONO, e costano ~zero.
#
# ⚠️ CORREZIONE A UNA MIA AFFERMAZIONE. Questa nota diceva "storia piu' CORTA -> si perde la
# validazione a 30 anni che e' cio' che rendeva credibile questo sleeve". E' FALSO, per un motivo
# strutturale: **il PRIIPs vieta di COMPRARE, non di GUARDARE**. I prezzi dei 6 ETF USA restano
# leggibili (l'operatore li aveva sul terminale mentre l'ordine veniva rifiutato), quindi il
# SEGNALE continua a girare sui 30 anni di serie USA — cambia solo il VEICOLO su cui si incassa.
# La storia corta degli UCITS serve solo a misurare la deviazione del veicolo, che e' un drift
# lento e si stima bene anche su pochi anni.
#
# MISURATO su 6.3 anni comuni, tre lenti a un grado di liberta' per volta:
# L0 segnale USA + rend. USA (pubblicato) Sh 0.81 / CAGR 3.96%
# L2 segnale UCITS + rend. UCITS (deploy) Sh 0.84 / CAGR 4.08% -> il cambio NON costa
# drag del veicolo (sul RAPPORTO cumulato, non sulle differenze giornaliere): +0.10%/anno EW,
# coerente coi TER; e la ritenuta USA del 15% sui dividendi (~35bps) e' A FAVORE dell'UCITS.
#
# DUE INSIEMI, perche' il prezzo di UNA azione e' una scelta dell'emittente e non una proprieta'
# dell'indice (CSPX $802 vs VUAA $144 sullo STESSO S&P 500):
# STORIA (misura): CSPX, EQQQ, XRSU, IDTL, IGLN, IHYU
# DEPLOY (esegue): VUAA, XNAS, R2US, IDTL, IGLN, IHYU -> a $3.000 tiene 6/6 gambe SENZA
# frazionamento, mentre l'insieme STORIA ne perde 2 e sta a mercato il 33%.
# Scartati benche' con piu' storia: RTWO (Russell 2000 *quality*), CSUSS (*ESG*), IDP6 (S&P 600):
# equivalenza dell'INDICE prima della storia.
#
# COSA RESTA DA VERIFICARE PRIMA DI UN DEPLOY (una cosa sola): la tariffa per ordine del broker su
# LSEETF in USD. Lo sleeve fa 77 ordini/anno a $3k, 102 a $10k, 149 a $50k; la soglia oltre cui non
# vale la pena (Sharpe < 0.45) e' $0.90/ordine a $3k, $2.23 a $10k, $7.62 a $50k. Un listino
# PROPORZIONALE e' quasi indifferente al capitale, uno FISSO e' una tassa regressiva (regola 25/07).
# NB: cambiare broker NON sblocca gli ETF USA — il PRIIPs vale per ogni intermediario UE.
EQ_UNIVERSE = ("SPY", "QQQ", "IWM", "TLT", "GLD", "HYG")
HORIZONS = (21, 63, 126, 252)
TARGET_VOL = 0.12