research(wave-0822): TERM-STRUCTURE e OI-PIN scartati — la catena ereditata ha 74 giorni utili, non 3,7 mesi

This commit is contained in:
Adriano Dal Pastro
2026-08-22 17:19:45 +00:00
parent 75606d0f44
commit 110f894bdf
3 changed files with 108 additions and 6 deletions
+52
View File
@@ -12,6 +12,8 @@ null de-levering superato + eseguibilita' al capitale dichiarato.
| 3 | XS-LITE | **SCARTATO** (come sleeve) + **1 soglia pubblicata falsificata** | concentrare XS01 non crea uno sleeve nuovo (corr 0.81-0.96 col canonico, DSR FAIL, de-levering non superato) — ma il muro *"XS01 serve ~$20k"* e' misurato su una diagnostica di TURNOVER: il ribilancio vero smette di passare sotto **~$109 di sleeve (~$730 di book), 27x piu' in basso** |
| 10 | FLOW-SQUEEZE | **SCARTATO** (2 motivi indipendenti) | meta' dell'ipotesi **non esiste nel dato** (`liquidation_*_risk` = una sola categoria in 17.229/17.229 righe); l'altra meta' e' sotto la propria soglia di potenza **dichiarata prima** (MDE 1,056% vs effetto 0,402%) ed e' comunque **morta alla nascita** (la colonna non e' ricostruibile) |
| 11 | VRP-QUOTE-VERE | **SCARTATO** + **1 difetto di RACCOLTA in produzione** | il campione contiene l'**astensione** della strategia (0/19 settimane passano IV-rank>0.30) e il titolo non sopravvive all'ora d'ingresso; ma soprattutto: **`collect_chain.py` raccoglie la famiglia di contratti che il conto NON puo' marginare** |
| 7 | TERM-STRUCTURE | **SCARTATO** + 1 LEAD stretto (decisione 2027-02-01) | la pendenza e' un **termometro contemporaneo** (picco CCF a lag 1h/0h); il carry non paga il bid-ask (**18,6 giorni di roll-down per pagare UN round-trip**); come gate e' la **5ª occorrenza** della ridondanza col trend |
| 6 | OI-PIN | **SCARTATO** | il max-pain batte uno strike casuale ma **non batte mai (0/24) la media a 7 giorni dello spot**, un livello che non usa NESSUN dato di opzioni: non e' pinning, e' reversione verso il centro recente con l'OI come stimatore rumoroso di quel centro |
## Note che sopravvivono ai singoli filoni
@@ -189,3 +191,53 @@ SOL_USDC 341, XRP_USDC 250, HYPE_USDC 172, AVAX_USDC 146 strumenti con OI>=100.
- ⚠️ L'agente ha **refutato in corsa una propria conclusione**: spostare l'ora d'ingresso cambia
QUALI STRIKE corrispondono al delta obiettivo -> non e' lo stesso trade un'ora dopo, e' **un'altra
struttura**; la media BTC **cambia segno** fra le ancore (1,35% -> +11,22%).
### 7 — TERM-STRUCTURE (r0822_term_structure.py, 312 trial dichiarati)
🚨 **MURO DEL DATO, e vale per ogni filone che usa la catena ereditata: prima del 2026-06-09
`bite_archive` raccoglieva UNA SOLA SCADENZA per giro** (mediana 1, max 1) -> **la curva non
esiste**. La finestra utilizzabile non e' "3,7 mesi": e' **74 giorni**, SE(Sharpe) ~ 2,2.
**Ricostruzione certificata contro due riferimenti indipendenti:** vs il logger `vol_term_*`
corr **0,992-0,997** (scarto 0,00-0,30 pt-vol); vs DVOL corr 0,94 con bias 2,2/2,8 pt-vol = il
segno atteso (DVOL integra lo smile).
- **Il test piu' informativo e' quello di RISOLUZIONE:** l'unica correlazione col futuro che sembrava
qualcosa (h=5g: +0,29/+0,32, 94°/98° pctl vs null a blocchi) **cambia SEGNO togliendo l'ultima
settimana** (0,22/0,17). Sette giorni su 70. Nella regressione controllata per il ritorno
passato il t di Newey-West sta **sotto 1,0 a ogni orizzonte**.
- **Il confronto che uccide il candidato: il buy&hold sulla stessa finestra.** Mediana appaiata su
24 ancore vs B&H = **+0,14 (14/24) su BTC** e **0,65 (1/24) su ETH**. La banda d'ancora
`gate_pass=True` in isolamento e' **inutile: il B&H passa lo stesso gate**.
- Confound proprio del filone, misurato: corr(pendenza, RV **passata**) 0,50/0,57 contro RV
**futura** 0,39/0,38 -> la pendenza e' il premio di vol con la gamba realizzata sostituita da
una implicita = la variabile di `dvol_directional` (gia' HEDGE, earns_slot=False su 5 anni).
- **`deflated_sharpe` NON girato, e la motivazione e' il risultato:** su 74 osservazioni
l'incertezza di CAMPIONE domina di un ordine di grandezza quella da SELEZIONE — deflazionare 312
trial darebbe un numero preciso e privo di senso.
- 📌 **LEAD stretto e pre-registrato** (l'unico numero non banale: corr(pendenza, RV futura) 0,39):
la term structure come previsore di **VOL, non di ritorni**. Decisione **2027-02-01**, si riapre
solo se (a) corr <= 0,30 su entrambi gli asset **E** (b) batte il **DVOL a tenore singolo** in R²
incrementale **E** (c) supera il null del de-levering. **Se (b) fallisce, il filone si chiude.**
- ⚠️ **Tre bug propri catturati in sessione**, tutti del tipo che passa i test pigri: il null del
de-levering cercava il **primo** k salendo invece del **piu' grande**; la RV futura aveva **uno
shift di troppo**; l'ATM vettorializzato e' stato verificato contro il prototipo (23.544/23.545
righe identiche).
### 6 — OI-PIN (r0822_oi_pin.py, 516 trial dichiarati, 73 scadenze/asset)
**Potenza dichiarata PRIMA di guardare** (e questa e' la ragione per cui il verdetto e' credibile):
MDE a hte 12 = **0,46%/trade**; effetto max-pain osservato **+0,273% = SOTTO il proprio MDE**.
📌 **Il null che decide: il placebo senza opzioni.** La cella migliore fa Sharpe 5,59 e batte gli
strike casuali (6/72 contro ~2 attesi), ma **0/24 contro la media a 7 giorni dello spot**, con cui
condivide il **68-77% del segno**. Non e' pinning verso uno strike: e' reversione verso il centro
recente, e l'OI e' solo uno stimatore rumoroso di quel centro.
- DSR **0,290** (288 trial): lo **Sharpe-null atteso e' 6,79 > 5,59 osservato** — su 75 giorni il
massimo del rumore batte il risultato. `implausible_sharpe` scatta. I **5 giorni migliori valgono
il 61% del log-equity**.
- ⚠️ `marginal_vs_tp01` **non puo' dare ADDS per costruzione** su questa finestra: `multicut` vuole
>=2 tagli annuali da >=120g e `has_insample_edge` e' True *per default* perche' non esiste
pre-2025. Un NEUTRAL qui non e' un giudizio.
- Haircut a $600: **+0,000** (si esegue sul perp) — 2ª conferma che l'eseguibilita' non e' piu' il
vincolo binding di questa ondata.
- ⚠️ **REGOLA NUOVA (difetto proprio, trovato e corretto in sessione): un placebo si controlla per
BILANCIAMENTO DEL SEGNO prima di usarlo.** Il placebo `jit` concordava in segno con la propria
regola solo nel **14%** dei casi (5% per `jit_gex`): non era un null, era **la strategia
invertita**, e usarlo fabbricava 3 celle "significative" e un contrasto spettacolare (8,6 di
Sharpe). Un null pulito sta a ~0,50; sotto ~0,35 il suo delta va letto come **~2x il segnale**.