research(wave-0822): BOCPD — il falsificatore eseguito con potenza, 0/68 celle adattive; l'adattivita' spiega il -7% del vantaggio
This commit is contained in:
@@ -694,9 +694,68 @@ stessi hanno nominato senza poterli eseguire**. Stesso contratto di consegna, st
|
||||
|---|---|---|---|
|
||||
| 21 | XS01-OOS | il vantaggio del PROP-ALLOC poggia sul drift di XS01 misurato sulla sua finestra di scoperta: regge fuori? | _in corso_ |
|
||||
| 22 | MAKER | l'esecuzione passiva e' una fonte di ritorno, al netto del costo di non essere eseguiti? | _in corso_ |
|
||||
| 23 | BOCPD | un rilevatore di cambio di regime vero batte il miglior lookback COSTANTE? | _in corso_ |
|
||||
| 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' | _in corso_ |
|
||||
| 25 | BIN-FREQ | il binario di frequenza su SKH01 e' un candidato o un sottoprodotto? | _in corso_ |
|
||||
| 26 | TP01-SINISTRO | quanto pesa TP01 se l'obiettivo include un crash che nel campione non c'e'? | _in corso_ |
|
||||
| 27 | SURFACE-RV | la superficie e' internamente incoerente, e l'incoerenza vale piu' del costo di attraversarla? | _in corso_ |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 23 — BOCPD (orizzonte adattivo, il falsificatore eseguito)
|
||||
|
||||
`scripts/research/r0822b_bocpd.py` (123 s). **169 trial dichiarati**, conteggio al rialzo, inclusi i
|
||||
13 di taratura fatti guardando **solo il numero di change-point**, mai uno Sharpe.
|
||||
|
||||
**Il falsificatore che il 22/08 restava aperto e' stato eseguito con i rilevatori che nominava**:
|
||||
BOCPD (Adams & MacKay, run-length posterior online, Normale-InverseGamma, hazard costante) e
|
||||
**optimal partitioning causale** (l'obiettivo che PELT accelera, ricorsione in avanti, mai un
|
||||
`fit_predict` retrospettivo), piu' `L` scelto per walk-forward sul PnL realizzato.
|
||||
|
||||
📌 **E questa volta il test HA AVUTO POTENZA — e' il fatto che rende il "no" esaustivo.**
|
||||
Il vincitore del 22/08 aveva lookback **costante** (stava al bordo il 100% del tempo, corr 1,000):
|
||||
si era chiusa una famiglia di *proxy*, non il meccanismo. Qui **68/96 celle sono davvero adattive**
|
||||
(BOCPD 24/24: `L_t` mediano 25-107 g, IQR 28-134 g, **0-4% al tetto**, 7-44 reset/anno).
|
||||
|
||||
| | Sh FULL | Sh HOLD | maxDD | CAGR | corr→TP01 |
|
||||
|---|---|---|---|---|---|
|
||||
| (A) adattivo, cella in-sample | 1,618 | 0,627 | 14,48% | 22,05% | 0,757 |
|
||||
| **(B) miglior COSTANTE** (L=15g triple 12h) | **1,639** | **0,657** | 12,68% | 22,31% | 0,737 |
|
||||
| (C) walk-forward su PnL | 1,385 | 0,382 | 16,33% | 17,20% | 0,860 |
|
||||
| TP01 30/90/180 | 1,314 | 0,489 | 14,31% | 16,44% | 1,000 |
|
||||
|
||||
📌 **La decomposizione E' il risultato:** adattivo − TP01 = **+0,305**; miglior costante − TP01 =
|
||||
**+0,326**; adattivo − miglior costante = **−0,021** → **l'adattivita' spiega il −7% del vantaggio
|
||||
su TP01. Il 100% e' "un orizzonte piu' corto", non "adattarlo".**
|
||||
|
||||
**Gate:** `earns_slot_honest=False`; `marginal_vs_tp01` **NEUTRAL** con **corr→TP01 0,861**;
|
||||
appaiato per anno vs il null giusto (B) **3/8 anni** (mediana −0,15); **banda d'ancora 12 ancore,
|
||||
mediana delle differenze appaiate −0,136, positiva in 0/12**, e la canonica sta al **92° pctl** =
|
||||
fortuna d'ancora a suo favore. `causality_ok` ok, e **troncamento manuale esplicito** su 4
|
||||
combinazioni: `max|L(prefisso) − L(pieno)| = 0` → la trappola del change-point retrospettivo e'
|
||||
esclusa **per misura, non per fiducia**. Null del de-levering **non applicabile e dichiarato**
|
||||
(il candidato NON riduce il maxDD: 14,5% contro 12,7%).
|
||||
|
||||
**Il criterio del falsificatore applicato a tutte le 68 celle adattive: 0/68**, e nessuna delle due
|
||||
condizioni va vicina — corr→TP01 **minimo 0,754** (soglia 0,60), **nessuna** batte il miglior
|
||||
costante sul FULL (la migliore e' −0,013), massimo **4/8** anni battuti (richiesti 6).
|
||||
|
||||
⚠️ **Cosa l'agente NON propone, e perche':** il miglior costante batte TP01 di +0,326 — ma il salto
|
||||
di Sharpe fra **L adiacenti** e' **+0,190, cioe' il 58% dell'intero vantaggio**: e' un max-of-24 su
|
||||
un crinale di rumore, non una curva. **Nessun cambio a TP01, al libro, ai pesi.**
|
||||
|
||||
🚨 **Sottoprodotto che vale fuori dal filone: un deflated-Sharpe calcolato dentro una famiglia
|
||||
OMOGENEA e' CIECO.** Qui dice **0,998-1,000 PASS**; ricalcolato con l'sr0 **di screen** misurato dal
|
||||
filone ORTHO (1,572 su 168 trial) dice **0,555 / 0,580 / 0,237 FAIL** — TP01 compreso. Il motivo e'
|
||||
strutturale: `deflated_sharpe` stima il massimo-dal-rumore dalla **varianza** degli Sharpe della
|
||||
griglia, e una griglia di varianti molto correlate ha varianza piccola → sr0 basso → DSR alto **per
|
||||
costruzione**. Gonfiare N col padding alza N e non la varianza: **non basta contare i trial di
|
||||
screen, serve la VARIANZA di screen.**
|
||||
|
||||
📌 **Secondo sottoprodotto, un controllo da mettere in ogni famiglia con un parametro clippato: la
|
||||
PROVA DI IDENTITA' batte la diagnostica.** Invece di dire "questa cella sta al bordo", l'agente
|
||||
mostra che la sua serie e quella del lookback costante coincidono a **max|Δ| = 0,000e+00 su
|
||||
n=2719** — non *somiglia a*, **lo e'**.
|
||||
|
||||
**VERDETTO: SCARTATO. IL FILONE ORIZZONTE-ADATTIVO E' CHIUSO DEFINITIVAMENTE.**
|
||||
|
||||
Reference in New Issue
Block a user