Files
PythagorasGoal/docs/diary/2026-06-02-fractal-argo-search.md
T
Adriano Dal Pastro 7005763517 feat(research): FR01 Hurst-Calm Fade + analisi per-anno/mercato (ricerca 100 agenti)
Esito ricerca frattali x regime ARGO (171 agenti):
- FR01_hurst_calm_fade.py: vincitore = fade gateato da hurst<0.55 (anti-persistente) +
  dvol_pct<0.4 (DVOL bassa). OOS Sharpe 3.73 BTC, 6/6 anni positivi su BTC+ETH, corr bassa
  coi fade esistenti (MR01 +0.17/MR02 +0.08/MR07 -0.03) -> diversificatore non ridondante.
- fractal_argo_peryear.py: analisi per-anno/regime-mercato dei top candidati.
- diario 2026-06-02: verdetto completo. Finding chiave: prior ARGO 'VRP>0=range=fade' SMENTITO,
  l'edge robusto e' su VRP<0 + DVOL bassa.

Diversificatori, NON spodestano PORT06 (OOS Sharpe 8.19). Branch di ricerca.
Deploy bloccato da: verifica corr sul MASTER intero + wiring DVOL live nel runner.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 07:22:10 +00:00

4.6 KiB
Raw Blame History

2026-06-02 — Ricerca a 100 agenti: Frattali del segnale × Regime ARGO

Workflow multi-agente (171 agenti, 8,4M token, ~7h) per cercare una strategia che combini un SEGNALE FRATTALE con un GATE/INTERAZIONE DI REGIME ARGO (DVOL/funding/VRP), validata OOS. Branch: feat/fractal-argo-search. Substrato e codice sul branch, niente impatto su main/live.

Substrato costruito

  • regime_fetcher.py: DVOL (2021-03→oggi) + funding (2019→oggi) BTC/ETH da Deribit mainnet public (no-auth, OI/IV reali — non il testnet farlocco di Cerbero).
  • regime_lab.py: allineamento regime↔prezzo causale no-look-ahead (merge_asof backward), feature regime (dvol_pct, vrp=dvolrv, funding_z, dvol_chg) + frattali (rolling Hurst, Higuchi FD, vol-ratio, Williams pivot), cache feature precalcolate, validazione netto-fee OOS via explore_lab. Bug corretto in corsa: vrp annualizzava la realized-vol sempre come 1h → rotta su 4h/1d (sempre negativa); fix per timeframe.
  • fractal_argo_workflow.js: 84 agenti griglia (7 famiglie frattali × 6 angoli regime × BTC/ETH)
    • 8 wildcard + verifica avversariale dei survivor + sintesi.

Verdetto

Esistono edge frattale×regime reali, causali, robusti (15 confermati dalla batteria avversariale: audit look-ahead bit-esatto, cross-asset, split alternativo, fee 0.2% RT, plateau). MA nessuno batte PORT06 standalone (OOS Sharpe 8,19 / DD 2,3%): sono diversificatori a bassa esposizione (1,5-8%, ~100-460 trade), profilo SH01/pairs.

Top candidati confermati

Strategia Asset/TF OOS Sharpe OOS DD trade
FRAC-VRP multiscala (chop × VRP<0) ETH 1h 5,55 11% 184
HigVRP-Fade (Higuchi alto × VRP<0) BTC 1h 4,55 7,2% 286
HurstCalmFade (hurst<0,55 × dvol<0,4) BTC 1h 3,73 5,1% 198
WILD8 Pivot-Hurst BTC 4h 3,87 10% 482
AnalogFundingFade (kNN forma × funding) ETH 4h 2,15 9,3% 229

Il finding chiave (controintuitivo): il prior ARGO è SMENTITO

La tesi naïve "VRP>0 = GEX+ = range = fade" FALLISCE sistematicamente. L'edge robusto e ripetuto è su VRP<0 (vol implicita sottoprezzata vs realizzata → mean-reversion whippy) e su DVOL bassa, l'opposto del brief. Gate invertito VRP>0 → Sharpe 2,08/1,30 su entrambi gli asset. È il risultato più solido di tutta la ricerca, look-ahead-clean (lag-1/3/6 robusto).

Cosa aggiunge valore vs cosa è decorativo

  • Load-bearing (confermato per ablazione): VRP<0; hurst-low × dvol-low (HurstCalmFade taglia DD OOS 17%→5%); funding_z estremo |fz|≥1,8 (analog ETH 4h).
  • Decorativo (DD-reducer, non interazione): dvol_chg, dvol_high/low e funding come gate spesso riducono solo esposizione senza migliorare il segno.

Cosa è RUMORE (conferma i priori del progetto)

  • Frattali da soli (angolo=none): hurst/Higuchi/vratio/chop/candle/analog intraday → non robusti (DD 30-90%, muoiono di fee). Conferma shape_lab.
  • Momentum/breakout gateato (hurst>0,6, dvol-rising): catastrofico (Sharpe 2…−7) → riconferma dominanza mean-reversion, i breakout rientrano.
  • ARGO-GEX nella direzione attesa (VRP>0): perde. Coerente con W18/19/21 scartate.
  • Pivot-fade non-laggato (frac_up[i]): artefatto squeeze-like, va sempre laggato a i2.

Vincitore selezionato + test decisivo

FR01 HurstCalmFade BTC 1h (scripts/strategies/FR01_hurst_calm_fade.py): il più verificato, DD più basso (5,1% OOS), generalizza a ETH. Test di correlazione decisivo (la domanda che conta: aggiungerlo migliora il PORT06 o è ridondante?): correlazione daily-returns coi fade esistenti MR01 +0,17 / MR02 +0,08 / MR07 0,03BASSA, quasi-ortogonale, NON ridondante. Passa il gate → vale l'inserimento come diversificatore.

Onestà finale

L'edge frattale×regime è reale, causale, robusto ma è sempre mean-reversion già nota condizionata dal regime (VRP<0 / hurst-low / dvol-low), non un motore ortogonale nuovo. Valore = riduzione DD aggregato come sleeve a bassa esposizione. La correlazione bassa lo qualifica come diversificatore reale.

Resta da fare prima del deploy (NON ancora superato)

  1. Verifica di correlazione formale sull'intero MASTER (combine_v2.py), non solo vs le 3 fade BTC — confermare che migliora Sharpe/DD OOS del PORT06.
  2. Wiring DVOL live: il gate dipende da dvol_pct; il backtest usa la cache regime_lab, ma il runner live non ha un feed DVOL. Va costruito (regime_fetcher in produzione + allineamento causale) prima di tradare FR01 live.
  3. Walk-forward per-finestra + replay worker == backtest + exit intrabar via StrategyWorker.