research(wave-0822): GATE-RECON — il difetto ribalta STATARB (+1,96 -> -2,02), la premessa della rigenerazione e' confermata per via diretta

This commit is contained in:
Adriano Dal Pastro
2026-08-22 21:54:59 +00:00
parent bcffcc01af
commit dd4391b55b
2 changed files with 789 additions and 0 deletions
+70
View File
@@ -696,6 +696,7 @@ stessi hanno nominato senza poterli eseguire**. Stesso contratto di consegna, st
| 28 | DEPEG | il falsificatore che l'autore di 21 ha nominato contro se stesso: il depeg USDT contamina il ranking? | **SOPRAVVIVE** — il venue sposta 0,01 di Sharpe |
| 29 | PROP-RECAL | J rifatto con XS01 dalla storia lunga: il canale funded si apre? | **LEAD ridimensionato ~5x** — 42% → **7,8%** |
| 30 | LISTINO | `GATE PROP-01` gamba (a): la firm lista >=10 delle 13 gambe con short? | **PASS 13/13** — verificato sul venue, non sul sito |
| 31 | GATE-RECON | cosa direbbero i 3 gate pre-registrati se le serie forward fossero riparate | **1 gate su 3 ribaltato** — e la premessa e' CONFERMATA |
| 22 | MAKER | l'esecuzione passiva e' una fonte di ritorno, al netto del costo di non essere eseguiti? | **SCARTATO** — il segno dipende da `<` contro `<=` |
| 23 | BOCPD | un rilevatore di cambio di regime vero batte il miglior lookback COSTANTE? | **SCARTATO** — filone chiuso definitivamente |
| 24 | CRITICO | cosa NON e' stato misurato, e quale singola misura mancante vale di piu' | **3 correzioni all'ondata**, 1 regola mia ritirata |
@@ -1361,3 +1362,72 @@ prezzo esatto del taglio $100k sono **primari-dichiarativi + secondari concordi*
📌 **Conseguenza sul gate:** la gamba (a) e' **CHIUSA con un PASS**. Restano la **(b)** — banda
d'ancora di SKH01 sotto la lente prop, che un agente sta girando ora invece di aspettare il 31/10 — e
la **(c)**, che va **ricalcolata** con la quota come deposito rimborsabile invece che come spesa.
---
## 31 — GATE-RECON (cosa direbbero i gate con le serie riparate) — **sola lettura, verificata**
`scripts/research/r0822c_gate_recon.py` (719 righe, ~25 s). **Zero celle di selezione**: e' un audit,
tutte le soglie **lette dai file pre-registrati**, nessun parametro scelto dall'agente.
**Sola lettura provata**: md5 + mtime di **ogni** file `data/paper_*` invariati dopo la corsa.
| gate | serie | n | Sharpe | maxDD | vol ann. |
|---|---|---|---|---|---|
| **STATARB** | **attuale** | 54 | **+1,96** | **2,24%** | 7,88% |
| **STATARB** | **riparata** | 53 | **2,02** | **15,19%** | **31,42%** |
| XSR01 | attuale | 28 | 6,55 | 0,28% | 0,46% |
| XSR01 | riparata | 27 | 0,99 | 0,82% | 2,78% |
| DVOLSPREAD | attuale | 28 | 15,82 | 0,93% | 0,79% |
| DVOLSPREAD | riparata | 27 | 5,21 | 7,11% | 19,36% |
Minuti di mercato registrati al giorno: **3,9 / 41,2 / 2,5** = ✅ replica indipendente dei 4/41/2
pubblicati stamattina.
**`STATARB 27/09 — riparata: RITIRO · attuale: CANDIDATO AL DEPLOY`**
**`XSR01 23/10 — riparata: RITIRO · attuale: RITIRO`**
**`DVOLSPREAD 24/10 — riparata: KILL · attuale: KILL`**
*(Non sono i verdetti dei gate: sono i criteri letti **oggi**, su finestre incomplete — 54/90, 28/90,
28/91 barre. Anticipare un gate pre-registrato e' selezione sull'hold-out, e l'agente lo dichiara.)*
**LA PREMESSA SU CUI POGGIA TUTTO E' ORA CONFERMATA PER VIA DIRETTA, non piu' di traverso:**
`data/_feed_backup/*.prebuild.bak` conserva il **vintage pre-riscrittura** di stanotte →
**0 barre chiuse cambiate su 1.761.259** (BTC/ETH 1h+5m). L'unica riga cambiata per file e' **l'ultima
del vintage, che era aperta** (BTC 21/08: close 73732,5→73690, volume 342→492 = **il difetto stesso,
in chiaro**). Su 62 cicli `paper_prevday` fa 1427/1488 identiche, con tasso di divergenza **piatto
nell'eta'** (2,2-5,1%, nessuna crescita) e concentrato all'ora del cron.
⚠️ **Limite dichiarato:** `hl_*_1d` e `dvol_*` **non hanno vintage su disco** → per XSR01 e
DVOLSPREAD l'evidenza resta **indiretta**.
**Prove d'identita' obbligatorie prima di ogni confronto:** **I1** pannello letto ora == quello del
cron di stanotte (`max|d| = 0`, 3/3, contro lo `state.json` scritto alle 00:35); **I2** barre gia'
chiuse identiche al bit (statarb 6/54, xsr 1/28, **dvolspread 0/28 → per quel monitor la prova I2 NON
ESISTE, dichiarato**); **I3** troncare l'INPUT == affettare l'output (`max|d| = 0`, 3/3).
🚨 **(1) IL VETO D'INTEGRITA' DI DVOLSPREAD NON SCATTA: 28 attive / 28 = 100% in ENTRAMBE le lenti.**
Una serie che misura **2 minuti di mercato al giorno** passa al **100%** un veto progettato apposta per
non far decidere su dati mancanti. **Non e' un problema di taratura:** il veto conta *se il DVOL
c'era*, non *quanto dura la barra su cui c'era***assi ortogonali**. La stessa soglia 0,80 applicata
alla quota di barre **chiuse** leggerebbe **0%** e vieterebbe. **Variante nuova di una regola vecchia:
una barra presente non e' una giornata presente.**
🚨 **(2) Il caso peggiore NON e' quello coi numeri piu' assurdi.** XSR01 (|Sh| ×6,6) e DVOLSPREAD
(×3,0) dicono **lo stesso verdetto** in entrambe le lenti; **STATARB ha |Sharpe| quasi identico
(1,96 contro 2,02) e cambia SEGNO** — ed e' il monitor del gate **piu' vicino**. Un controllo che
cercasse *"numeri troppo belli"* **lo lascerebbe passare**. 📌 **La firma da cercare non e' il
|Sharpe| ma la vol forward molto sotto quella del backtest** (7,88% contro 31,42%).
📌 **(3) L'asimmetria del 25/07 su STATARB:** la diagnostica pre-registrata (statica sempre-short)
**non e' affetta** — si ricalcola dal **pannello**, non dalla serie registrata (varia di 0,01 fra le
due finestre contro 3,97 della strategia). **Al gate si confronterebbe un benchmark GIUSTO con un
numero di strategia SBAGLIATO**, e il margine sembrerebbe **+5,83 invece di +1,87**. Il segno del
margine sopravvive: il difetto ribalta il gate, non questa diagnostica.
📌 **QUANTO COSTA ASPETTARE — l'unico argomento quantitativo su *quando* riparare.** Con
**rigenerazione**: **zero barre perse a qualunque data**; si paga solo il rischio che la riparazione
non arrivi. **Senza**: riparare **oggi** lascia **36/90** barre vere a STATARB (62/90 a XSR01, 63/91 a
DVOLSPREAD); **alla vigilia, 1**. E la riparazione parziale **non contamina la finestra, la accorcia**
— una barra troncata porta ~1/370 della varianza *e* del rendimento di una vera, quindi non pesa:
riparando oggi, il 27/09 si leggerebbe una finestra **piu' corta ma VERA** (SE(Sharpe) ~3,2 invece di
~2,0). **Riparare alla vigilia no.**
⚠️ `implausible_sharpe` **girato per la prima volta sulle serie forward**: chiede n≥30, quindi **2
serie su 3 non sono giudicabili**, e su statarb dice "ok" **in entrambe le lenti** — **il gate non
vede un segno ribaltato**.