# 2026-06-18 — Price Ladder (griglia) vs gate PORT06 **Branch:** `price_ladder_research` · **Harness:** `scripts/analysis/ladder_search.py` (engine `grid_mtm`: mark-to-market onesto, SL gap-aware, flat-skip, fee 0.10% RT taker). **Baseline PORT06:** FULL Sharpe 8.13 / DD 2.47% — OOS Sharpe 10.86 / DD 2.09%. **Metodo:** caccia multi-agente su asset × TF (15m/30m/1h) × regime-gate (none / range trend_max 1.5/2.0/2.5), poi `verify` avversariale sui finalisti (plateau, fee 2x, corr, FULL DD di portafoglio). **Goal di progetto:** trovare un Price Ladder che *diversifichi* (PASSI il gate) senza accendere la coda di trend. --- ## 1. Cosa era già noto Il gioco-griglia precedente aveva trovato una **griglia ETH fortissima standalone** (Sharpe ~5.61) ma **BOCCIATA al gate PORT06**: corr ~0.40 con le fade ETH già deployate → **ridondante**, non un diversificatore. La lezione: lo standalone Sharpe non basta, conta quanto il ladder *aggiunge ortogonalmente* al portafoglio. Questa ricerca cerca proprio un ladder che PASSI il gate = che abbia corr bassa con gli sleeve esistenti. --- ## 2. Risultato NUOVO — i ladder PASSANO il gate Sì. Su **tutti gli asset liquidi** (BTC e ETH) e su quasi tutte le combinazioni TF×regime, i ladder migliorano l'OOS Sharpe di portafoglio (10.86 → ~11.0–11.35) **con corr bassa**: - **BTC** (15m/30m/1h, range o none): corr **0.15–0.27**, molto più ortogonale della griglia ETH bocciata (0.40). OOS di portafoglio 11.1–11.35 (il guadagno OOS più grosso). - **ETH** (15m/30m/1h): corr **0.21–0.57** (15m la peggiore, fino a 0.57; a 1h scende a 0.22–0.39). OOS di portafoglio ~10.9–11.1. - **SOL/LTC**: SOL passa solo 2 celle, half-only, edge standalone quasi nullo (full_sh ~0.2); **LTC è negativo ovunque** (full_sh −0.4…−0.8, bocciato) → solo BTC/ETH liquidi danno un ladder vivo, come atteso. Il gate **misura corr + OOS**, e su questi due assi i ladder BTC vincono nettamente. ### Migliori candidati (dai `verify` avversariali) | Asset/TF/regime/struttura | OOS base→new | FULL DD standalone | FULL DD portafoglio (full / half) | corr | fee2x OOS | robust? | |---|---|---|---|---|---|---| | **ETH 1h range2 rd0.16 ru0.04 L4** | 10.86→**11.00** | 11.79% | **2.70** / 2.52 | 0.305 | 4.89 | ✅ sì | | **ETH 1h range2 rd0.16 ru0.06 L6** | 10.86→11.01 | 12.09% | 2.74 / 2.54 | 0.328 (al filo) | 5.05 | ✅ sì | | **ETH 1h range2 rd0.16 ru0.06 L4** | 10.86→10.98 | 12.64% | **2.68** / 2.51 | 0.249 | 4.44 | ✅ sì | | **ETH 30m range2 rd0.16 ru0.04 L3** | 10.86→10.93 | 12.56% | **2.48** / 2.41 | 0.223 | 4.21 | ✅ sì | | **ETH 1h none rd0.20 ru0.06 L6** | 10.86→11.03 | 17.89% | 2.59 / 2.46 | 0.271 | 5.43 | ✅ sì | | **ETH 30m none rd0.16 ru0.06 L4** | 10.86→10.92 | 18.68% | **2.37** / 2.35 | 0.319 | 5.42 | ✅ sì | | **ETH 1h none rd0.16 ru0.06 L4** | 10.86→10.96 | 23.13% | **2.40** / 2.37 | 0.224 | 4.59 | ✅ sì | | **BTC 1h none rd0.08 ru0.06 L3** | 10.86→**11.34** | **53.69%** | 3.11 / **2.48** | 0.216 | 5.78 | ⚠ half-only | | **BTC 30m range2.5 rd0.08 ru0.06 L3** | 10.86→11.22 | 55.33% | 3.27 / **2.50** | 0.265 | 5.19 | ⚠ half-only | | **BTC 30m none rd0.08 ru0.06 L3** | 10.86→11.32 | 55.33% | 3.27 / **2.44** | 0.220 | 5.37 | ⚠ half-only (tail) | | **BTC 1h range1.5 rd0.20 ru0.06 L6** | 10.86→11.13 | 54.43% | 3.19 / **2.33** | **0.161** | 5.46 | ⚠ half-only (tail) | `rd` = spacing down, `ru` = spacing up, `L` = livelli. Tutti i finalisti hanno plateau robusto (4–7 vicini di struttura restano PROMOSSO) e fee2x ~= OOS standalone. --- ## 3. IL NODO — la FULL DD (che il gate IGNORA) **Il gate verdict NON guarda la FULL DD.** Misura solo corr + OOS Sharpe/DD. Una griglia long-only ha una coda di trend 2021/22 (viene comprata fino in fondo mentre il prezzo crolla in un trend persistente) → la **FULL DD standalone** è il vero rischio nascosto. Il filtro onesto è la **FULL DD di PORTAFOGLIO** (`full_full_dd` / `half_full_dd`), con soglia di tail-risk **~+0.8pp sopra il baseline 2.47%** (cioè restare sotto ~3.3%). Due famiglie nette emergono: - **BTC** — FULL DD standalone **~54–67%** (la coda long-only è devastante, come temuto). Il regime-gate range *taglia gli ingressi nei trend* ma **non immunizza** dalle posizioni già aperte → a FULL size la FULL DD di portafoglio sale a **3.1–6.6%** (+0.6/+4.0pp, **oltre la soglia tail** in quasi tutte le celle). **A HALF size invece rientra a 2.33–2.54%** (~baseline) preservando l'OOS ~11.0–11.3. → **BTC deployabile SOLO a half-size**, e il guadagno OOS più grosso (11.3+) viene proprio da queste celle a coda alta. - **ETH** — FULL DD standalone **molto più bassa** del previsto: **12–33%** (1h range scende a **~12%**), NON il ~60% temuto. Lo SL-buffer + flat-skip + il regime-gate range tengono la griglia fuori dai trend estesi. Conseguenza: la FULL DD di portafoglio resta **2.37–2.74%** (+0.0/+0.27pp, **sotto soglia anche a FULL size**) — in diversi casi *scende* sotto il baseline (es. ETH 30m none L4 → 2.37%). → **ETH è la famiglia tail-safe.** Il prezzo è una corr più alta (0.22–0.33 sui finalisti 1h/30m, fino a 0.57 sul 15m da scartare). **Lettura chiave:** il regime-gate *abbassa* la FULL DD ma su BTC **non a sufficienza** a full size (la coda 54% è troppo grande); è l'**half-size** a fare il lavoro. Su ETH la coda è già piccola e il portafoglio l'assorbe. Quindi il discriminante reale è **asset (ETH vs BTC) + size**, non solo il regime-gate. --- ## 4. Vantaggio Deribit — fill MAKER Un Price Ladder è una griglia di **ordini LIMIT ai livelli** → su Deribit i fill sono **MAKER (~0% fee)**, non taker. L'harness assume **0.10% RT taker** ovunque → è **CONSERVATIVA**: la stessa griglia live pagherebbe meno fee e potrebbe rendere PIÙ del backtest. Lo confermano i `verify`: il **fee2x** (raddoppio fee) lascia l'OOS Sharpe quasi intatto (~98% trattenuto su quasi tutti i finalisti) → nessun fee-cliff, e con i fill maker reali c'è upside, non downside, sul lato costi. (Il rischio resta la coda di trend e lo slippage/fill in esecuzione reale, non le fee.) --- ## 5. Verdetto operativo **C'è un Price Ladder deployabile.** Il candidato più pulito su tutti gli assi (PROMOSSO + FULL DD di portafoglio controllata a full size + plateau robusto + corr genuina): > **ETH 1h, regime=range trend_max 2.0, rd=0.16 / ru=0.04 / 4 livelli, sl_buf 0.12 / tp_buf 0.05, max_bars 720.** > OOS 10.86→11.00, FULL DD portafoglio **2.70% a full / 2.52% a half** (standalone 11.79%), > corr 0.305, fee2x OOS 4.89, plateau 4 vicini PROMOSSO. **Deploy raccomandato a HALF size** > (FULL DD +0.05pp, marginale; il caveat slippage live giustifica la prudenza). **Alternative ETH equivalenti** (stessa banda di sicurezza, scegliere per corr/coda): `ETH 1h range2 rd0.16 ru0.06 L4` (corr 0.249, la più bassa) e `ETH 30m range2 rd0.16 ru0.04 L3` (FULL DD portafoglio 2.48, ~baseline). Tutte ETH 1h/30m **range-gated rd≥0.16** → NON scendere sotto rd 0.16 (rd 0.12 fa risalire la corr verso 0.38 = ricomincia a somigliare alle fade ETH; il 15m ha corr 0.43–0.57 = troppo ridondante, scartare). **I BTC NON a full size.** Danno il guadagno OOS più grande (fino a 11.34) e la corr più bassa (0.16–0.22 = la diversificazione migliore), MA la FULL DD standalone ~54% li rende **tail-risky a full size** (FULL DD portafoglio 3.1–6.6%, oltre soglia). **Deployabili SOLO a half-size** (FULL DD portafoglio 2.33–2.50), dove restano un diversificatore eccellente. Il migliore BTC half-size è `BTC 1h range1.5 rd0.20 ru0.06 L6` (corr **0.161**, FULL DD portafoglio half **2.33**). **BLOCCO prima di qualsiasi deploy:** il gate PORT06 (corr + OOS) è **necessario ma non sufficiente** — non controlla la FULL DD, e l'OOS held-out è un **regime calmo** (2024–25). La coda di trend 2021/22 è reale e standalone è enorme su BTC. **Nessun deploy senza un gate stressato sul 2022** (verificare la FULL DD di portafoglio attraverso il trend duro, non solo l'OOS calmo) e una conferma su **ledger reale shadow** per slippage/fill maker. Il verdetto del gate va sempre incrociato con la FULL DD di portafoglio (filtro vero) + fattibilità feed live + regime recente — la stessa lezione del timing-sweep pairs/honest (2026-06-14). **Sintesi:** ETH 1h/30m range-gated rd≥0.16 a half-size è il **deploy-candidate sano e tail-safe**; BTC è il diversificatore migliore ma **solo a half-size** per la coda di trend. Prossimo passo obbligatorio: stress-test 2022 + shadow ledger reale (i fill maker possono solo migliorare il risultato sul lato fee). --- ## 6. ⚠️ RETTIFICA CRITICA — il verdetto §5 è ROVESCIATO (critico + verifica dati) Il critico di completezza + una verifica diretta dei dati **ribaltano la raccomandazione di deploy della §5**. Messo a verbale: la §5 è SUPERATA da quanto segue. **(1) I risultati BTC poggiano su DATI CORROTTI (spike-print), verificato.** La "coda di trend BTC ~54%" su cui ruota la §3 NON è un crollo di mercato: è **feed sporco**. Misurato su `btc_1h`: **37 barre con range intrabar >20%**, concentrate a **feb-2024** (es. 2024-02-13: low=38.580 con close~49.968 = wick fasullo −23% che rimbalza nella stessa barra), con min 22.706 / max 104.688 in un trimestre dove BTC stava ~47–57k. È lo **stesso spike-print testnet documentato ovunque in CLAUDE.md** (TP_PHANTOM / feed congelato). L'engine SL-gap-aware filla su questi wick fantasma e la griglia "compra" i dip fasulli → la coda BTC ~54% e parte dell'edge OOS sono **artefatto, non mercato**. Conseguenza: i candidati BTC NON sono affidabili, e lo "stress 2022" proposto NON toccherebbe la coda vera (che è a feb-2024, da dati sporchi). Serve `close_only` + pulizia feed. **(2) Il guadagno OOS è RUMORE al peso deployabile.** +0.14 OOS Sharpe su base 10.86, con il ladder che pesa **~5.3% full / ~2.7% half** in un portafoglio già a Sharpe ~11, su **592 giorni di un solo regime calmo** (2024-10→2026-05, niente 2022). Nessun test di significatività (block-bootstrap). A half-size il contributo è quasi inerte (a volte l'OOS DD *migliora*): è dentro l'errore di campionamento, non un edge dimostrato. **(3) La diversificazione ETH è più sottile di quanto venduto.** Il finalista ETH "raccomandato" è **corr 0.305** (non 0.15–0.20: quella è BTC half-only non deployabile), già vicino allo **0.40 che fece bocciare la griglia ETH originale**. Peggio: il `regime_mask` usa **lo stesso filtro trend-distance** (|close−EMA200|/ATR) delle fade ETH già live → la "diversificazione" è in parte illusoria (gate e sleeve condividono il filtro). La corr misurata è **daily in regime calmo**, NON co-tail: una griglia long-only e una fade reversion possono co-crollare in un trend (entrambe "comprano il calo") — la metrica che conterebbe (co-movimento nella coda) non è calcolata. **(4) La FULL DD standalone è mascherata dal compounding.** Il finalista ETH compone a **~31x (+3.1M%) in 5.4 anni**: una "FULL DD 11.79%" accanto a un ritorno di milioni-% è artefatto di notional reinvestito, e il daily-resample **nasconde l'inventory-risk intrabar** che il docstring di `grid_game_gate.py` (righe 5–7) avverte esplicitamente di non vedere. **(5) Stress disponibile NON usato.** `ladder_search`/`grid_mtm` hanno `close_only=True` (filla solo sul close, neutralizza gli spike-print): NON è stato girato sui finalisti — proprio il test che smonterebbe la coda BTC fasulla. ### Verdetto rettificato **NON c'è un Price Ladder deployabile dimostrato.** La ricerca ha prodotto (a) una **harness onesta e validata** (`ladder_search.py` + regime-gate, riproduce esatto il gate noto), (b) un **risultato negativo/guardingo** robusto: ogni candidato o è ridondante (ETH, corr→0.40), o poggia su dati sporchi (BTC spike-print), o è rumore al peso deployabile. **Il multi-agente + critico ha evitato un deploy ingiustificato** — esattamente la lezione anti-squeeze del progetto. **Prima di riconsiderare QUALSIASI ladder servono, in ordine:** (1) **pulire il feed BTC** dagli spike-print + girare `close_only` sui finalisti; (2) **test di significatività** del delta OOS (block-bootstrap) al peso reale; (3) **co-tail / corr nei crash** (2022), non corr daily calma; (4) isolare e spiegare l'**evento feb-2024**. Config live **invariata**. --- ## 7. RE-GATE su DATI PULITI (post clean_feed.py) — quadro onesto finale Dopo `clean_feed.py` (254 spike-print riparati con Binance) ho ri-gateato i top candidati con le verifiche che il critico chiedeva (`ladder_regate_clean.py`): gate PORT06 + stress `close_only` + **DD per anno** sulla storia completa. | Candidato | DD (gate, 2021+) | OOS Sh | corr | fee2x | close_only OOS | gate½ | **DD 2018 (tail vero)** | |---|---:|---:|---:|---:|---:|---|---:| | ETH 1h rd0.16 ru0.04 L4 range2 | 12.4% | 4.70 | 0.29 | 4.62 | 0.24 | PROMOSSO | −52.4% | | ETH 1h rd0.16 ru0.06 L4 range2 | 12.6% | 4.25 | 0.23 | 4.17 | 0.20 | PROMOSSO | −49.9% | | BTC 1h rd0.08 ru0.06 L3 none | 10.8% | 5.90 | 0.24 | 5.78 | 0.60 | PROMOSSO | −50.3% | | **BTC 1h rd0.20 ru0.06 L6 range1.5** | 14.8% | 5.58 | 0.23 | 5.46 | 0.89 | PROMOSSO | **−27.7%** | | BTC 30m rd0.08 ru0.06 L3 none | 14.8% | 5.47 | 0.25 | 5.37 | 1.07 | PROMOSSO | −36.6% | **Cosa cambia coi dati puliti:** 1. ✅ **L'obiezione "coda artefatto" CADE.** Il 54% del BTC era spike-print 2024: ora la DD del gate (2021+) è **~11-15%** e tutti i candidati restano PROMOSSO a half-size, corr 0.22-0.29, reggono fee2x. Sono candidati *veri*, non artefatti. 2. 🔴 **Emerge il tail VERO: il 2018** (−44/−52% standalone), che **il gate NON VEDE** perché l'IDX del progetto parte dal 2021-01-01. Una griglia long-only sarebbe stata sventrata nel bear 2018 (BTC −84% sull'anno). È il nuovo rischio portante — e una **lacuna metodologica generale**: tutte le metriche "FULL" del progetto escludono il 2018. Mitigante reale: il **regime-gate stretto** (BTC rd0.20 L6 **range1.5**) dimezza il tail 2018 a **−27.7%** (vs −50% senza gate) → il gate-di-regime fa il suo lavoro contro i bear sostenuti. 3. 🟡 **L'edge dipende dai fill INTRABAR.** `close_only` (fill solo sul close) fa crollare l'OOS (4.7→0.24 ETH, 5.9→0.6 BTC). Per ordini LIMIT i fill intrabar sono legittimi (close_only è troppo severo come stress), ma il gap segnala forte **sensibilità all'ipotesi di fill** → il ledger shadow reale è indispensabile prima di fidarsi. 4. 🟡 Restano: corr 0.22-0.29 (moderata), guadagno OOS ai limiti del rumore al peso deployabile (~2.7% half), OOS singolo regime calmo. **Verdetto finale (clean data):** la pulizia ha rimosso l'obiezione FALSA (coda artefatto) e promosso i candidati a *genuini*, ma ha anche scoperto il tail REALE (2018, gate-cieco) e confermato due cautele (fill intrabar, OOS rumoroso). **Il candidato più sensato è ora `BTC 1h rd0.20 ru0.06 L6 regime=range trend_max1.5`**: PROMOSSO, corr 0.23, e la **miglior coda 2018 (−27.7%)** grazie al regime-gate. **Prima di QUALSIASI deploy**: (1) backtest che INCLUDA il 2018 nel gate (non solo IDX 2021+), (2) ledger shadow reale per i fill intrabar/maker, (3) half-size. La pulizia del feed resta il guadagno trasversale più grande (irrobustisce ogni backtest del progetto). --- ## 8. I 3 PASSI PRE-DEPLOY + STUDIO SL/TP (ladder_sltp_study.py) **[1] Valutazione 2018-INCLUSIVE** (standalone, tutta la storia; il gate IDX2021+ è cieco al 2018): | Candidato (sl0.12/tp0.05) | full_sh | full_dd | oos_sh | DD 2018 | DD 2021 | |---|---:|---:|---:|---:|---:| | BTC 1h L6 **range1.5** | 3.18 | −27.7% | 4.95 | **−27.7%** | −14.8% | | BTC 1h L3 none | 2.93 | −60.2% | 5.51 | **−50.3%** | −10.8% | Il regime-gate già dimezza il tail vero (2018: −50%→−27.7%). Senza gate la griglia long-only è insostenibile (−60%). **Studio SL/TP** (sweep sl_buf × tp_buf sul candidato regime-gated, full 2018+): - **Sweet spot: `sl_buf=0.10, tp_buf=0.03` → DD 2018 −23.5%** (da −27.7%), oos_sh 5.06, full_sh 2.92. Migliora il tail SENZA intaccare l'edge. - **Lezione (conferma il prior del progetto):** un SL **troppo stretto PEGGIORA** (sl 0.06 → −33/−35%): stoppa e rideploya più in basso nel coltello che cade = la trappola del falso-negativo mean-reversion. Un SL **troppo largo** (0.20) idem (−29/−31%, oos più basso). Il bene sta in mezzo (0.10). - **Il SL da solo (senza regime-gate) è ERRATICO** (tabella L3 none non-monotona: −20% → −52% → −43% al variare di pochi punti): è il **regime-gate** il controllo primario della coda; il SL moderato fine-tuna. Catastrophe-control = "non deployare nel bear" (regime) + "cappa l'episodio" (SL 0.10), NON uno stop stretto. **[2] Fill maker vs taker** (Deribit: i livelli sono LIMIT → maker): | fee | oos_sh | DD 2018 | gate½ | |---|---:|---:|---| | taker 0.10% RT (harness) | 5.06 | −23.5% | PROMOSSO (OOS 10.86→11.0, corr 0.195) | | **maker 0%** (Deribit reale) | 5.18 | −22.7% | PROMOSSO (OOS→11.0, corr 0.194) | Il maker è leggermente MIGLIORE → la harness taker è conservativa, nessun fee-cliff. (La parte live = shadow ledger reale resta il passo operativo finale.) **[3] Half-size:** il gate "half" è già a metà size e PROMOSSO; la coda 2018 standalone −23.5% si dimezza sul book (~−12% in un 2018-repeat a half-size) = reale ma gestibile. ### CONFIG FINALE raccomandata (con SL/TP aggiunti) > **BTC 1h · regime=range trend_max 1.5 · rd 0.20 / ru 0.06 / 6 livelli · sl_buf 0.10 / tp_buf 0.03 · HALF-size.** > - Tail 2018-inclusive: −23.5% standalone (~−12% sul book a half) — reale ma controllato dal regime-gate + SL moderato. > - Gate PORT06: PROMOSSO (OOS 10.86→11.0, corr 0.195); maker Deribit lo migliora; nessun fee-cliff. > - **Unico passo residuo: shadow ledger reale** (fill intrabar/maker su Deribit) — operativo, non backtestabile. Caveat onesti residui: l'OOS gain al peso deployabile è modesto (10.86→11.0); il tail 2018 non è zero (−12% a half); l'edge dipende dai fill intrabar (per i LIMIT è legittimo, ma lo shadow lo deve confermare).