Files
PythagorasGoal/docs/diary/2026-06-09-pairs15m-robustezza.md
T
Adriano Dal Pastro abc1c1cb80 docs(diary): analisi robustezza ETH/BTC 15m — robusto come segnale, fragile sui costi
Plateau 16/16, 8/9 anni+, OOS Sh 17.6, non-artefatto-flat (83% Sharpe), corr 0.37.
MA fee-sweep: il 15m va negativo a ~4x i costi mentre il 1h regge ~6x (frequenza 5x,
margine di costo sottile). Conferma mezza-size e NO allo swap; giudice = ledger reale.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 12:34:08 +00:00

46 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-06-09 — ETH/BTC 15m: analisi di robustezza (il limite è il COSTO)
Domanda: lo sleeve `PR_ETHBTC_15M` (attivato in real, v1.1.16) è robusto? Risposta dai
dati: **sì su parametri, tempo e qualità-dati; fragile sui COSTI** — e quel limite è
strutturale (alta frequenza). Engine `pairs_research.pairs_sim_flat` (live-realizable).
## ✅ Robusto su parametri, tempo, dati
- **Plateau parametrico**: griglia n×z_in (40-80 × 1.5-2.5) → **16/16 celle Sharpe>1**
(range 9-12). Non un picco overfit. (`pairs15m_port06_gate.py`)
- **Consistenza temporale**: 2018-2021 +1874% (3/4 anni+, solo 2018 negativo);
2022-2026 +12958% (**5/5 anni+**); **OOS ultimo 30% Sharpe 17.6, DD 13%, +**. L'edge
è distribuito, non un singolo regime.
- **Non artefatto dei dati**: filtrando le candele flat ETH 15m (16% storico) resta
l'**83% dello Sharpe** (`pairs15m_flatcheck.py`).
- **Decorrelato dal 1h** (corr rendimenti giornalieri **0.37**): segnale diverso, non un relabel.
## ❌ Fragile sui COSTI — il vero tallone (frequenza 5× il 1h)
Sharpe in funzione del costo all-in RT/coppia (fee + slippage):
| costo RT/coppia | **15m Sharpe** | 1h Sharpe |
|---|---|---|
| 0.20% (reale, 1×) | **9.34** | 4.36 |
| 0.40% (2×) | 6.15 | 3.52 |
| 0.60% (3×) | 2.95 | 2.68 |
| 0.80% (4×) | **0.24** | 1.84 |
| 1.20% (6×) | 6.63 | 0.16 |
**Il 1h regge ~6× i costi; il 15m va negativo già a ~4×.** Tanti trade piccoli (8453 vs
1756) → margine di costo sottile. Lo **Sharpe 9.34 è un numero a costo basso**: appena lo
slippage reale a 2 gambe porta l'all-in verso 0.40-0.60%, scende a 3-6 (ancora positivo,
ma l'edge enorme del backtest è in gran parte illusione da bassi costi).
## Implicazioni (coerenti con la config deployata)
1. **La mezza size era giusta**: non si dà al 15m il peso che il backtest a costo basso
suggerirebbe. È un blend-tilt, non una scommessa.
2. **NO allo swap** (togliere il 1h, tenere solo 15m): sostituirebbe l'àncora cost-robust
(1h, regge 6×) con la sleeve cost-fragile. Confronto PORT06: swap OOS 9.95 vs blend 9.66
— +0.3 di Sharpe di backtest pagati in robustezza reale. Non vale.
3. **Giudice finale = ledger reale shadow**: misurerà lo slippage vero a 15m. Soglia di
lettura: all-in <0.40% (Sharpe ≥6) → ottimo diversificatore, valutare size piena;
verso 0.60%+ → vale appena la mezza-size che ha (già protetto).
**In una riga**: robusto come *segnale*, fragile come *esecuzione* → sta nel portafoglio a
metà size accanto al 1h, non al suo posto. Riproducibile: fee-sweep + sub-periodo +
OOS via `pairs_sim_flat`; plateau/flat-check negli script `pairs15m_*.py`.