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>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user