Files
PythagorasGoal/docs/diary/2026-06-20-alt-strategies-100agent-sweep.md
T
Adriano Dal Pastro 5ac4e16af8 research(alt): sweep 104 strategie alternative su Deribit (153 agenti) + marginal scorer
Ondata di ricerca onesta a largo spettro su BTC/ETH+DVOL certificati: 104 ipotesi
distinte (11 famiglie), un agente-finder per ipotesi, verifica avversariale a 3
scettici sui promettenti, sintesi (153 agenti totali). Esito: NIENTE di nuovo regge
-> conferma del soffitto strutturale ~1.3 BTC/ETH-direzionale; lo stack
TP01+XS01+VRP01 resta imbattuto.

- altlib.py: harness condiviso vettoriale leak-free (eval_weights/study_weights,
  fee-sweep, both-asset + hold-out 2025+). Riproduce i numeri canonici di TP01.
- MARGINAL SCORER (study_marginal/marginal_vs_tp01): Sharpe INCREMENTALE vs baseline
  TP01 (corr, blend uplift OOS, alpha residua) + jackknife OOS (clean-year +
  drop-best-month). earns_slot = abs!=FAIL & ADDS & robust_oos. Smaschera gli overlay
  su TSMOM con PASS assoluti fasulli (CMB04, VOL11, ...) e il falso positivo KAMA
  (ADDS ma muore al jackknife).
- runs/*.py (104) script riproducibili per ipotesi; wf_altstrat.js workflow.
- Verdetto: 0 candidati deployabili; 2 LEAD fragili (VOL08, STA05_LS) da forward-monitor.
- test_marginal_scorer.py blocca baseline + invarianti. Suite: 32 verde.

Diario: docs/diary/2026-06-20-alt-strategies-100agent-sweep.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 19:50:39 +00:00

12 KiB
Raw Blame History

Sweep "strategie alternative su Deribit" — 104 ipotesi, 153 agenti (2026-06-20)

Cosa

Ondata di ricerca onesta richiesta esplicitamente con >=100 agenti: studiare strategie di trading ALTERNATIVE a TP01/XS01/VRP01 sull'universo certificato Deribit (BTC/ETH OHLCV + DVOL). Catalogo di 104 ipotesi distinte su 11 famiglie, un agente-finder per ipotesi, poi verifica avversariale a 3 scettici per ogni finding promettente, poi sintesi. Totale 153 agenti, ~5.86M token, ~2h (workflow scripts/research/alt/wf_altstrat.js, run wf_0f3659fc-809).

Famiglie: BRK (breakout/canali), TRD (trend non-TSMOM), MRV (mean-reversion gated), VOL (DVOL + vol realizzata, Deribit-specific), XAS (cross-asset BTC/ETH: ratio/lead-lag/cointegrazione/RS), SEA (stagionalità/ora-del-giorno), RSK (overlay difensivi), OPT (strutture opzioni modellate su DVOL), MIC (microstruttura/candele), STA (ML walk-forward), CMB (combinazioni/filtri).

Harness condiviso (nuovo, validato)

scripts/research/alt/altlib.py — libreria di valutazione ONESTA e vettoriale usata da tutti gli agenti, così il no-look-ahead è strutturalmente impossibile:

  • eval_weights(df, target): posizione decisa con dati <= close[i], tenuta durante la barra i+1 (lo shift lo fa la libreria), fee su turnover, fee-sweep 0.000.30% RT incorporato.
  • study_weights/study_signals: ogni ipotesi girata su entrambi gli asset + HOLD-OUT 2025+
    • per-anno, con verdetto conservativo PASS/WEAK/FAIL (richiede min-asset full>=0.5 e hold>=0.2 e sopravvivenza fee).
  • DVOL allineato causalmente (merge_asof backward), storia dal 2021-03.
  • Calibrazione: la replica TSMOM riproduce i numeri noti leak-free di TP01 (BTC full 1.12 / hold 0.31, DD 77%→23%); buy&hold correttamente FALLISCE l'hold-out (full 0.79, hold 0.37). 104 script riproducibili in scripts/research/alt/runs/.

Esito — NIENTE di nuovo batte o diversifica lo stack esistente

Su 104 ipotesi: 16 promettenti, 1 sola sopravvissuta alla verifica avversariale (STA05), e anch'essa ridondante/non deployabile. È il risultato pulito e atteso per un progetto al suo soffitto strutturale BTC/ETH-direzionale ~1.3 (già documentato). Lo stack TP01 (55%) + XS01 (25%) + VRP01 (20%) resta imbattuto da questa ondata.

Il segnale ricorrente: decine di trend-follower prendono FULL Sharpe alto (~1.01.3) ma HOLD-OUT 2025 negativo (Supertrend, ADX-EMA, Heikin-Ashi, Turtle, SMA200-regime, Donchian+Chandelier, Kalman, OBV, body-ratio, ...): è trend-beta del toro, non alpha, e si rompe nell'hold-out. I PASS apparenti erano quasi tutti (a) singola cella fortunata sull'hold-out, oppure (b) TP01/TSMOM con un overlay attaccato sopra.

L'unico sopravvissuto: STA05 — EWMA-cross ensemble vote (LEAD, non sleeve)

Voto d'insieme su 13 coppie EMA (fast {5,10,20,40} × slow {40,80,120,200}, fast<slow), posizione = voto medio firmato, vol-target 20%/cap 2x, 1d. Verifica: leak-free (perturbazione barre future = 0), plateau di parametri, non fortuna di un singolo anno (jackknife drop-one-year 0.550.96), sopravvive fee a 0.30% RT. Ho rieseguito il blend test raccomandato (50/50 BTC+ETH, mia stessa griglia di TP01, fee 0.10% RT):

variante FULL Sh DD HOLD Sh corr→TP01 (full/hold)
TP01 (canonico, controllo) +1.30 14.3% +0.31
STA05 long-only +1.24 16.3% +0.21 0.93 / 0.94 → ridondante
STA05 long-short +0.87 28.6% +0.86 0.71 / 0.53

Blend TP01+STA05_LS: 0.75·TP01 + 0.25·LSFULL 1.24, HOLD 0.31→0.59, DD 16.1%; 0.50/0.50 → FULL 1.13, HOLD 0.75, DD 18.8%.

Lettura onesta (più precisa della sintesi del workflow, che lo aveva liquidato come "dominato su ogni asse"): la versione long-only è ridondante con TP01 (corr 0.94). La versione long-short invece è solo moderatamente correlata (0.53 nell'hold-out) e migliora davvero l'hold-out del blend (0.31→0.59 a peso 25%), al costo di un po' di FULL Sharpe (1.30→1.24) e DD (14%→16%). MA: l'hold-out è solo 536 giorni (include lo stub 2026 corto) → classica trappola "bello OOS ma OOS breve", e standalone ha DD 28.6%. Verdetto: LEAD da monitorare forward, NON deploy, NON sleeve confermato. Da rivalutare quando l'hold-out cresce.

Famiglie confermate MORTE / ridondanti (negativi onesti)

  • BRK breakout (Donchian/Keltner/Bollinger/ORB/NR7/inside-bar): ogni variante rompe l'hold-out BTC; l'unico PASS (BRK04) è cella singola overfit con maxDD 63%.
  • TRD trend non-TSMOM: tutto trend-beta del toro ridondante con TP01; i 4 PASS (TRD02/07/08/10) sono fortuna di singola cella sull'hold-out, dominati dal TSMOM.
  • MRV mean-reversion: la crypto tende, non torna; molti negativi anche a fee zero, 0 PASS → conferma su dati certi la lezione v2.0.0 ("il fade è artefatto").
  • VOL gate/overlay DVOL su TSMOM: ogni overlay (VOL03/04/08/09/11) è peso morto netto-negativo; la parte robusta è sempre TP01 nudo, la componente DVOL/EWMA aggiunge anti-valore.
  • XAS spread BTC/ETH (ratio/lead-lag/cointegrazione/RS/dual-mom): gli spread tendono non revertono (negativi a fee zero); le "rotazioni" PASS (XAS03/04/09) sono TP01 travestito con selezione fortunata sull'hold-out.
  • SEA stagionalità: fee-killed a 1h, artefatti di regime a 1d, nessun hold-out cross-asset.
  • RSK overlay di rischio (circuit breaker/kill-switch/DD-scaling/inverse-vol RP): o seguono il prezzo (buy&hold travestito) o aggiungono frizione senza proteggere dove serve.
  • MIC micro-pattern candele: hold-out crolla cross-asset; l'unico "survivor" MIC05 è l'artefatto di un singolo evento (short del crash 2026-01-29 su ~13 trade).
  • STA ML su feature di prezzo (Ridge/Logistic/RF/Kalman/SGD/AR1/k-means): nessun potere predittivo OOS; l'unico PASS (STA05) è l'ensemble di trend = TP01.
  • CMB combinazioni: ogni combo è TP01 più un filtro che distrugge valore.
  • OPT strutture opzioni (modellate su DVOL ATM, niente skew): code severe (ETH maxDD 96% su iron condor), lead-only al meglio → conferma la regola VRP01 "niente short-vol da modello in deploy". Numeri tipo OPT02/OPT04 hold-out 2.4/1.96 sono artefatto del premio modellato + asset asimmetrico (ETH fallisce) → giustamente NON promettenti.

Lezioni metodologiche (azionabili)

  1. L'harness deve premiare lo Sharpe MARGINALE vs un baseline TP01, non lo Sharpe ASSOLUTO. study_weights valuta lo Sharpe assoluto: così ogni overlay-su-TSMOM eredita lo Sharpe di trend di TP01 e prende un PASS fasullo (VOL03/04/08/09/11, CMB04/06). Per la prossima ondata: valutare il contributo incrementale rispetto a TP01 nudo, così gli overlay non possono ereditare un PASS.
  2. Prima di gradare PASS, esigere (a) un PLATEAU di parametri (non una cella isolata) e (b) un jackknife drop-one-month / drop-best-day sull'hold-out. Questi due check da soli hanno ucciso 13 dei 14 falsi positivi in verifica avversariale.
  3. La verifica avversariale a 3 scettici con angoli diversi (leak / overfit-robustezza / plausibilità-economica-vs-TP01) ha funzionato: ha distinto i 15 falsi positivi dall'1 robusto.

Raccomandazione

Non aggiungere nulla di questa ondata al portafoglio live. Lo spazio BTC/ETH-direzionale single-asset è esaurito: ogni PASS era hold-out-fitting o un overlay su TP01. Redirigere il budget di ricerca verso meccanismi davvero diversi dove il soffitto non morde: espandere/monitorare forward XS01 (cross-sectional sui 51 alt Hyperliquid certificati — l'unico che abbia mai battuto il soffitto) e VRP01 reale (quando cerbero-bite cattura skew live + uno stress). Tenere STA05_LS in lista LEAD per il forward-monitor dell'hold-out.

Artefatti: scripts/research/alt/altlib.py, scripts/research/alt/runs/*.py (104), scripts/research/alt/wf_altstrat.js, verifica blend /tmp/verify_sta05.py.

Follow-up — MARGINAL SCORER implementato (non più solo raccomandazione)

La lezione #1 ("valutare lo Sharpe MARGINALE vs baseline TP01, non assoluto") è ora codice in altlib.py:

  • tp01_baseline_daily() — TP01 CANONICAL 50/50 BTC+ETH, rendimenti netti giornalieri (cache). Riproduce il canonico (full 1.30 / hold 0.31) — bloccato da test.
  • marginal_vs_tp01(cand_daily) — corr a TP01 (full/hold), uplift del blend (Sharpe di TP01+w·cand meno TP01, full & hold-out, w∈{0.25,0.5}), beta a TP01 + alpha residua (parte ortogonale al trend), e un verdetto: ADDS / REDUNDANT / DILUTES / NEUTRAL.
  • study_marginal(name, target_fn) — valuta un candidato sia in assoluto (study_weights) sia marginale; earns_slot = (abs_grade != FAIL) AND (marginal_verdict == ADDS).
  • Convenzione pulita target_fn(df, asset) (via _call_target) per le strategie DVOL/cross-asset — niente più inferenza-asset hacky (il VOL03 dell'agente la sbagliava, usava DVOL BTC anche per ETH).
  • Demo riproducibile scripts/research/alt/marginal_demo.py + test tests/test_marginal_scorer.py.

Dimostrazione (la prova che il fix discrimina):

candidato assoluto marginale earns_slot
TP01-itself (sanity) WEAK REDUNDANT (corr 1.0, uplift 0) False
STA05 long-short (il lead) PASS ADDS (corr-hold 0.53, blend-hold +0.29) True
STA05 long-only WEAK REDUNDANT (corr 0.93/0.94) False
VOL03 DVOL-gated TSMOM (overlay) WEAK NEUTRAL (corr 0.93, uplift triviale) False
CMB04 momentum+low-vol (overlay) PASS NEUTRAL (corr 0.94) False

Il punto chiave è l'ultima riga: CMB04 prendeva un PASS assoluto col vecchio harness, ma il marginal scorer lo declassa correttamente — il suo "Sharpe 1.0" è trend di TP01 ereditato al 94%, non alpha nuovo. Regola operativa d'ora in poi: una nuova strategia direzionale BTC/ETH si giudica su study_marginal (earns_slot), non sullo Sharpe assoluto.

"Resta qualche candidato?" — gate marginale + jackknife su TUTTI i contendenti forti

Passati i 7 promettenti più forti non-ancora-marginal-testati (marginal_remaining.py): Vortex/Hull (FAIL nella ricostruzione pulita), VOL11 kill-switch (corr 0.94 → REDUNDANT), XAS03/09 rotazioni (NEUTRAL, anzi RS-rotation diluisce l'hold-out 0.20), TRD07 KAMA e VOL08 (entrambi marginale=ADDS). Ma il marginal-point-estimate può essere ingannato da un singolo mese: ho aggiunto al gate il jackknife OOS (robust_oos = uplift positivo nell'anno OOS pulito 2025 e sopravvive al drop-best-month). Risultato:

candidato clean-2025 uplift drop-best-month robust_oos earns_slot
TRD07 KAMA +0.089 0.034 False False (era ADDS!)
VOL08 RV-term +0.158 +0.034 True True
STA05 long-short +0.039 +0.131 True True (ma 2025 ~0, il grosso è lo stub 2026)

KAMA è il falso-positivo istruttivo: ingannava il marginal scorer (uplift +0.056) ma muore al jackknife (0.034 togliendo il mese migliore) → il gate rinforzato (earns_slot ora esige robust_oos) lo uccide correttamente. Codificata così la lezione #2 in marginal_vs_tp01.

Verdetto finale: NESSUN candidato deployabile

Dopo il gate più severo (abs≠FAIL + marginale=ADDS + jackknife OOS), i 104 collassano a 2 LEAD fragili: VOL08 (overlay term-structure di vol realizzata) e STA05_LS (ensemble EMA long-short). Entrambi sono famiglia-trend su BTC/ETH (non un meccanismo nuovo), moderatamente correlati a TP01 (0.530.61 hold-out), con uplift piccolo e concentrato su un OOS di ~1.5 anni → forward-monitor, NON sleeve. E sono correlati tra loro (entrambi trend) → di fatto un solo tema: "una costruzione di trend-timing alternativa, modestamente decorrelata a TP01 nel 2025-26". La diversificazione vera resta fuori dallo spazio direzionale single-asset (→ XS01 / opzioni reali).