From b3082de9af79cdb18e6c5246a50a724d7662190d Mon Sep 17 00:00:00 2001 From: Adriano Dal Pastro Date: Sun, 26 Jul 2026 22:01:26 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A0=EF=B8=8F=20GTAA01:=20negoziabilita'?= =?UTF-8?q?=20degli=20strumenti=20MAI=20VERIFICATA=20(rischio=20aperto)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Domanda dell'operatore ("GTAA01 puo' essere in revolut?") che scopre un'assunzione mai controllata in 5 settimane di lavoro sullo sleeve. GTAA01 usa SPY, QQQ, IWM, TLT, GLD, HYG = ETF DOMICILIATI NEGLI USA. Sotto il regolamento PRIIPs un investitore retail residente nell'UE tipicamente NON puo' acquistarli, perche' gli emittenti USA non pubblicano il KID; i broker UE — Interactive Brokers incluso, che e' esattamente il venue che lo sleeve assume — li bloccano in acquisto per la clientela retail. COSA POGGIA SU QUESTA ASSUNZIONE: i 30 anni di storia, il fix dei costi IB reali del 25/07, la soglia GTAA_MIN_CAPITAL $3.000, il contributo al book, e il risultato del LOO del 26/07 che lo indica come l'UNICO sleeve positivo nel 100% delle estrazioni su tutte e tre le metriche. Nessuno di questi numeri e' sbagliato come backtest; quello che non e' mai stato verificato e' se lo sleeve sia ACQUISTABILE dal conto reale dell'operatore. DA VERIFICARE PRIMA DEL DEPLOY, non dopo. Se il blocco c'e' servono gli equivalenti UCITS (CSPX/SXR8, EQQQ/SXRV, IUSN/CSUSS, DTLA/IDTL, SGLN/IGLN, IHYU), che sono strumenti DIVERSI per domicilio, valuta, TER e replica -> rifetch dei dati e rivalidazione, non una sostituzione di ticker. SU REVOLUT nello specifico la domanda resta piu' stretta: universo ETF limitato, prodotto retail leggero, e un ribilanciamento settimanale a 6 gambe con banda $50 non e' cio' per cui e' pensato. Il confronto va fatto su esistenza degli strumenti e costo per ordine. Nota permanente nel sorgente sopra EQ_UNIVERSE + bullet in CLAUDE.md. REGOLA: la negoziabilita' di uno strumento sul conto REALE va verificata quando lo sleeve entra in RICERCA, non quando entra nel book. E' l'analogo azionario di cio' che il progetto gia' fa sul crypto (min-order, haircut small-cap, eseguibilita' a $600): la stessa disciplina non era stata applicata all'equity. Book, pesi, cron, config INVARIATI (GTAA01 non e' nel book live). Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 18 ++++++++++++++++++ src/portfolio/gtaa.py | 11 +++++++++++ 2 files changed, 29 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 583ffff..a7ab393 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1024,6 +1024,24 @@ Prima ondata di ricerca onesta su BTC/ETH certificati (5 track, harness condivis (d) quando le leve hanno ordini di grandezza diversi **dirlo**, o si lavora molto senza cambiare niente; (e) rivalutare **non** vuol dire anticipare i gate pre-registrati — anticiparli e' selezione sull'hold-out. +- ⚠️ **GTAA01 — NEGOZIABILITA' MAI VERIFICATA (sollevato 2026-07-26 da "GTAA01 puo' essere in + revolut?"). Rischio APERTO su uno sleeve che il piano prevede di attivare.** Lo sleeve usa + **SPY, QQQ, IWM, TLT, GLD, HYG** = ETF **domiciliati negli USA**. Sotto **PRIIPs**, un retail + residente UE tipicamente **non puo' acquistarli** (gli emittenti USA non pubblicano il KID) e i + broker UE — **Interactive Brokers incluso**, che e' il venue assunto — li bloccano in acquisto + per la clientela retail. **Tutti i numeri dello sleeve** (30 anni di storia, costo IB reale, + soglia $3.000, contributo al book, "unico positivo nel 100% delle estrazioni su 3 metriche" del + LOO) **assumono che siano comprabili, e nessuno l'ha mai verificato contro un conto reale.** + ⚠️ **Da verificare PRIMA di qualsiasi deploy**, non dopo. Se il blocco c'e', servono gli + equivalenti **UCITS** (CSPX/SXR8, EQQQ/SXRV, IUSN/CSUSS, DTLA/IDTL, SGLN/IGLN, IHYU): sono + strumenti **DIVERSI** per domicilio, valuta, TER e replica → **rifetch + rivalidazione**, non una + sostituzione di ticker. Nota nel sorgente (`src/portfolio/gtaa.py`, sopra `EQ_UNIVERSE`). + **Su Revolut** la domanda e' comunque piu' stretta: prodotto retail leggero, universo ETF + limitato, e un ribilanciamento **settimanale a 6 gambe con banda $50** non e' cio' per cui e' + fatto — il confronto va fatto sui costi per ordine e sull'esistenza degli strumenti, non + sull'app. **REGOLA: la negoziabilita' di uno strumento sul conto REALE dell'operatore va + verificata quando lo sleeve entra in ricerca, non quando entra nel book** — qui 5 settimane di + misure (validazione 22/06, fix costi 25/07, LOO 26/07) poggiano su un'assunzione mai controllata. - 💰 **I VERSAMENTI — le 4 ipotesi che il piano non aveva mai fatto (2026-07-26, ultimo filone).** Tutte le traiettorie del 25-26/07 assumevano versamento **piatto, ininterrotto, per sempre** = l'ipotesi meno realistica del piano. Script `r0726_deposits.py`, test `tests/test_deposits.py` diff --git a/src/portfolio/gtaa.py b/src/portfolio/gtaa.py index 8546f12..855c024 100644 --- a/src/portfolio/gtaa.py +++ b/src/portfolio/gtaa.py @@ -32,6 +32,17 @@ import numpy as np, pandas as pd from src.data.eq_splits import repair_splits RAW = Path(__file__).resolve().parents[2] / "data" / "raw" +# ⚠️ NEGOZIABILITA' NON VERIFICATA (sollevato 2026-07-26, mai controllato prima). +# Questi sono ETF **domiciliati negli USA**. Sotto il regolamento PRIIPs, un investitore +# retail residente nell'UE tipicamente NON puo' acquistarli, perche' gli emittenti USA non +# pubblicano il KID: i broker UE (Interactive Brokers incluso) li bloccano in acquisto per la +# clientela retail. Tutti i numeri di questo sleeve — 30 anni di storia, costi IB, soglia +# $3.000, contributo al book — assumono che siano comprabili, e quella assunzione non e' mai +# stata verificata contro il conto REALE dell'operatore. +# DA VERIFICARE PRIMA DI QUALSIASI DEPLOY: (a) il broker consente l'acquisto di questi ISIN al +# tuo profilo? (b) altrimenti servono gli equivalenti UCITS (CSPX/SXR8, EQQQ/SXRV, IUSN/CSUSS, +# DTLA/IDTL, SGLN/IGLN, IHYU) -> strumenti DIVERSI (domicilio, valuta, TER, replica) che +# richiedono di rifare fetch e validazione, non una sostituzione di ticker. EQ_UNIVERSE = ("SPY", "QQQ", "IWM", "TLT", "GLD", "HYG") HORIZONS = (21, 63, 126, 252) TARGET_VOL = 0.12