CLAUDE.md: la chiave di scala specificata — tetto sul prodotto, il test di guardia smette di controllare, e il nodo del disaster-SL rotolante
This commit is contained in:
@@ -2384,8 +2384,9 @@ Prima ondata di ricerca onesta su BTC/ETH certificati (5 track, harness condivis
|
||||
→ al gate si confronterebbe **un benchmark giusto con un numero di strategia sbagliato**, e il
|
||||
margine sembrerebbe **+5,83 invece di +1,87**.
|
||||
🚨 **(4) WORST-DAY — la riserva sulla leva e' mal tarata di 2-4 ORDINI DI GRANDEZZA, ma il knob di
|
||||
scala NON ESISTE.** Il gradino 1,00x→1,25-1,50x vale **14,7 → 11,6 anni** al capitale-rendita
|
||||
(~€300/mese di versamenti equivalenti) ed era bloccato da un parametro **scelto a mano** ("un giorno
|
||||
scala NON ESISTE.** Il gradino di leva vale **14,7a → 12,9a a 1,25x** e **→ 11,6a a 1,50x** al
|
||||
capitale-rendita (**+€164/mese** e **+€282/mese** di versamenti equivalenti) ed era bloccato da un
|
||||
parametro **scelto a mano** ("un giorno
|
||||
a −10% ogni anno"). **Il peggior giorno ha due risposte:** **−3,94% in chiusura** (2020-03-13) e
|
||||
**−7,33% al minimo** intra-giorno (rapporto mediano **1,89×**). Coda GPD: **−4,55% a 1/10.000
|
||||
giorni** [−6,34/−3,08] ⚠️ **ma Hill dice −7,34% (ξ 0,34 contro 0,09): i due stimatori NON concordano
|
||||
@@ -2456,6 +2457,40 @@ Prima ondata di ricerca onesta su BTC/ETH certificati (5 track, harness condivis
|
||||
plausibili in due punti diversi**. Stessa famiglia del `DatetimeIndex.view("int64")` codificato il
|
||||
01/07. **Su un perpetuale lineare, inoltre, `diff(nozionale) < 0` NON e' una vendita: il nozionale
|
||||
scende da solo quando scende il mark.**
|
||||
✅ **SEGUITO 2026-08-22 notte — LA CHIAVE E' SPECIFICATA (`docs/research/SPEC-scale-key.md` +
|
||||
prototipo isolato `r0822e_scale_proto.py`, zero scritture, isolamento verificato a runtime), con un
|
||||
NODO IRRISOLTO.** Registro §38. Replica a k=1,00 **6/6** contro WORST-DAY.
|
||||
⚠️ **CORREZIONE A UN NUMERO CHE AVEVO SCRITTO IO:** *"1,25-1,50x vale 14,7 → 11,6 anni, ~€300/mese"*
|
||||
**fondeva due gradini** — a **1,25x** l'equivalente e' **+€164/mese**, il €282 e' del **1,50x**.
|
||||
🚨 **Tre risultati che il mandato non prevedeva:**
|
||||
**(i)** `test_leva_massima_da_config_resta_sotto_o_uguale_a_1x` **NON si rompe, ed e' PEGGIO che
|
||||
rompersi**: misura `frac · n_asset` mentre la grandezza vera diventerebbe `frac · n_asset · scala`
|
||||
→ **continua a passare e smette di controllare**. **4ª occorrenza** della forma *"un controllo
|
||||
puntato su una configurazione diversa da quella che gira"*. **Va cancellato con nota, non
|
||||
aggiustato.**
|
||||
**(ii) La guardia che morde per prima e' il DISASTER-SL, non il peggior giorno:** bound strutturale
|
||||
k ≤ 3,49x, **disaster-SL k ≤ 1,67x = 2,1× piu' stringente** → **C1 di WORST-DAY guardava la
|
||||
grandezza sbagliata**. Il tetto giusto e' l'invariante `n_asset · frac · scala · disaster_sl_pct
|
||||
≤ 0,50`, che lega **tre** chiavi.
|
||||
**(iii) Il tetto va sul PRODOTTO, non sulla chiave:** `frac=0,625` + `scala=1,25` = leva **1,562x**
|
||||
e **passerebbe** un tetto *"scala ≤ 1,25"* — e WORST-DAY aveva appena pubblicato che alzare `frac`
|
||||
da solo *"non produce k=1,25"*: **combinato con la scala lo produce eccome.**
|
||||
📌 **Gate proposto `GATE SCALA-01`** (9 condizioni, fra cui **tetto sul prodotto** e **A6
|
||||
anti-recency**: `k_ammesso` calcolato **togliendo gli ultimi 90 giorni** dev'essere ≥ k richiesto),
|
||||
perche' **la scala e' invisibile a ogni gate esistente** — Sharpe **1,5051 identico a tutte le celle
|
||||
di k**: `deflated_sharpe` e `marginal_vs_tp01` **non falliscono, non vedono la variabile**.
|
||||
✅ `weights_tilt_null` invece **passa con potenza**: peso implicito TP01 **0,750000 a ogni k**,
|
||||
`max|target(k) − k·target(1)| = 0`, e il **controllo positivo** (scala sulla sola gamba TP01 = cio'
|
||||
che farebbe `target_vol`) lo porta a **0,789** e viene smascherato.
|
||||
🚨 **IL NODO, da sciogliere PRIMA di qualunque gradino:** `execution.py:196-223` **ri-ancora il
|
||||
disaster-SL al mark a ogni giro** (tolleranza 5%) → **il −30% e' ROTOLANTE, non un pavimento**. Se e'
|
||||
cosi', il 37,5% e' il costo di **un episodio** e un ribasso lento ne produce **piu' d'uno**, e il
|
||||
margine 1,33x del gradino non e' quello vero. ⚠️ **Letto nel codice, NON misurato**, e il log non lo
|
||||
permette (servirebbe `pos_prima`): **non ricostruibile a posteriori** → per misurarlo bisogna prima
|
||||
aggiungere il campo al log.
|
||||
**Seconda soglia dichiarata:** il fallback dell'equity oggi scatta **0 volte su 1.442 giri**; sopra
|
||||
il **2% dei giri in 90 giorni** il libro girerebbe a leva **mista** e `g(k)` smetterebbe di
|
||||
descriverlo.
|
||||
**REGOLE NUOVE:** (a) **una data in un gate va giustificata col COSTO della misura, non con la sua
|
||||
difficolta' percepita** — due gate d'attesa eliminati in una sera perche' nessuno aveva contato i
|
||||
secondi; (b) **una verifica esterna a €0 va fatta PRIMA di qualunque misura che ne dipenda**, e si
|
||||
|
||||
Reference in New Issue
Block a user