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

2.6 KiB
Raw Blame History

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.