From 6664575e1cce4c66a491b8b66cc057b54eaa0ca3 Mon Sep 17 00:00:00 2001 From: Adriano Dal Pastro Date: Sun, 26 Jul 2026 22:10:43 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9D=8C=20GTAA01=20NON=20deployabile:=20blocc?= =?UTF-8?q?o=20PRIIPs=20CONFERMATO=20sul=20conto=20reale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Il rischio sollevato poche ore fa e' stato verificato tentando l'ordine. Il broker rifiuta: "Trading limitato — Questo prodotto non dispone di un KID in inglese o in una lingua approvata per il vostro Paese. I clienti retail possono negoziare prodotti retail preconfezionati solo se e' disponibile un KID appropriato." Non e' piu' un'ipotesi regolatoria: e' un rifiuto d'ordine documentato. SPY/QQQ/IWM/TLT/GLD/HYG sono ETF domiciliati USA, gli emittenti non pubblicano il KID e i broker UE ne vietano l'ACQUISTO al retail. ⚠️ Le QUOTAZIONI restano visibili — l'operatore vedeva tutti e sei i prezzi in piattaforma, ed e' esattamente cio' che rendeva invisibile l'assunzione. COSA CADE: lo sleeve cosi' com'e' non e' deployabile, e con esso il piano di attivarlo a ~$13k. Restano valide come RICERCA e nulle come DEPLOY: validazione a 30 anni (22/06), fix costi IB (25/07), 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. COSA NON CADE: tutte le traiettorie, i muri e le tabelle di rendita usano book_series(with_gtaa=0) = solo TP01+SKH01 su Deribit -> nessun numero del piano va rifatto. E il book live non lo include. VIA D'USCITA (non percorsa): equivalenti UCITS. NON e' una sostituzione di ticker — storia piu' corta (si perde la validazione a 30 anni, cioe' cio' che lo rendeva credibile), ritenuta/TER/replica diversi (decine di bps su un CAGR del 3.65%), quotazione LSE/Xetra con orari e valuta diversi da uno sleeve che decide sul close USA. Percorso onesto: validare sull'INDICE e negoziare il VEICOLO, dichiarando tracking error e ritenuta come costi. REGOLA: la negoziabilita' sul conto REALE va verificata quando lo sleeve entra in RICERCA, non quando entra nel book. Cinque settimane di misure poggiavano su un'assunzione mai controllata, e il controllo e' costato un ordine di prova. Book, pesi, cron, config INVARIATI. 411 test verdi. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 45 ++++++++++++++++++++++++++----------------- src/portfolio/gtaa.py | 33 ++++++++++++++++++++----------- 2 files changed, 49 insertions(+), 29 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index a7ab393..8c139bf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1024,24 +1024,33 @@ 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. +- ❌ **GTAA01 NON E' DEPLOYABILE — blocco PRIIPs CONFERMATO sul conto reale (2026-07-26).** + Nato da una domanda dell'operatore ("GTAA01 puo' essere in revolut?"), verificato lo stesso + giorno tentando l'ordine. Il broker rifiuta: *"Trading limitato — Questo prodotto non dispone di + un KID in inglese o in una lingua approvata per il vostro Paese. I clienti retail possono + negoziare prodotti retail preconfezionati solo se e' disponibile un KID appropriato."* + SPY/QQQ/IWM/TLT/GLD/HYG sono ETF **domiciliati USA**: gli emittenti non pubblicano il KID e i + broker UE ne vietano l'**acquisto** al retail. ⚠️ **Le quotazioni restano visibili** — vedere i + prezzi non e' poter comprare, ed e' esattamente cio' che rendeva l'assunzione invisibile. + **COSA CADE:** lo sleeve **cosi' com'e' non e' deployabile**, e con esso il piano di attivarlo a + ~$13k. Restano **valide come ricerca e nulle come deploy**: la validazione a 30 anni (22/06), il + fix dei costi IB (25/07), `GTAA_MIN_CAPITAL`, e il risultato del LOO (26/07) che lo indicava come + **l'unico sleeve positivo nel 100% delle estrazioni su tutte e tre le metriche**. + **COSA NON CADE:** tutte le traiettorie, i muri e le tabelle di rendita pubblicate usano + `book_series(with_gtaa=0)` = **solo TP01+SKH01 su Deribit** → nessun numero del piano va rifatto. + E il book live non lo include. + **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:** (a) storia piu' **corta** + (diversi nati dopo il 2010) → si perde la validazione a 30 anni, che e' cio' che rendeva credibile + lo sleeve; (b) ritenuta sui dividendi, TER e replica diversi → decine di bps/anno su un CAGR del + **3.65%**, non trascurabili in proporzione; (c) quotazione LSE/Xetra → orari e valuta diversi da + uno sleeve che decide sul close USA. Percorso onesto: **validare sull'INDICE** (storia lunga) e + **negoziare il VEICOLO UCITS**, dichiarando tracking error e ritenuta come costi espliciti. + **REGOLA: la negoziabilita' sul conto REALE va verificata quando lo sleeve entra in RICERCA, non + quando entra nel book.** Qui 5 settimane di misure poggiavano su un'assunzione mai controllata, e + il controllo e' costato **un ordine di prova**. E' l'analogo azionario di cio' che il progetto fa + gia' rigorosamente sul crypto (min-order, haircut small-cap, eseguibilita' a $600): la stessa + disciplina non era stata applicata all'equity. - 💰 **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 855c024..4ffa049 100644 --- a/src/portfolio/gtaa.py +++ b/src/portfolio/gtaa.py @@ -32,17 +32,28 @@ 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. +# ❌ NON NEGOZIABILE DAL CONTO REALE — VERIFICATO 2026-07-26, non piu' un'ipotesi. +# Tentato l'ordine sul conto dell'operatore: BLOCCO PRIIPs confermato dal broker con +# "Trading limitato — Questo prodotto non dispone di un KID in inglese o in una lingua +# approvata per il vostro Paese. I clienti retail possono negoziare prodotti retail +# preconfezionati solo se e' disponibile un KID appropriato." +# Sono ETF domiciliati USA: gli emittenti non pubblicano il KID e i broker UE ne vietano +# l'ACQUISTO al retail (le quotazioni restano visibili — vedere i prezzi NON e' poter comprare). +# +# CONSEGUENZA: questo sleeve, COSI' COM'E', non e' deployabile. Tutto cio' che ne dipende resta +# valido come RICERCA e nullo come DEPLOY: 30 anni di storia, fix costi IB (25/07), soglia +# 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. EQ_UNIVERSE = ("SPY", "QQQ", "IWM", "TLT", "GLD", "HYG") HORIZONS = (21, 63, 126, 252) TARGET_VOL = 0.12