Files
PythagorasGoal/docs/TODO.md
T
Adriano Dal Pastro 7f4378190e research: ricerca dispersion/correlation index (165 agenti) — 2 edge su 60, nessun nuovo motore
Workflow 60 celle (15 famiglie x 4 finestre), verifica avversariale 2-skeptic.
Esito: 2 edge confermati causali (index_comp_disp W168, rel_idio_fade W24), ma
entrambi fade-BTC del residuo idiosincratico -> sovrapposti alle MR esistenti
(P migliora-PORT06 ~20%, lezione FR01). 13/15 famiglie rumore (overfit/regime,
non look-ahead). Edge preservati in scripts/analysis/dispersion_edges/; harness
riusabile dispersion_lab.py (gia' committato). Diario + TODO follow-up.

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

4.5 KiB

TODO — prossimi passi

Raccolta dei follow-up aperti. Aggiornato 2026-06-07 (fine sessione: roadmap improvement-sweep 10/10 completata, v1.1.9 live).

Esecuzione reale — i pezzi grossi mancanti

  • Executor a 2 gambe per i PAIRS (PairsExecutionClient). È la fetta reale-non-eseguita più grande (29% del portafoglio). Serve: piazzamento il più possibile atomico delle 2 gambe, fallback di unwind se una sola filla (leg-risk), dimensionamento congiunto col doppio arrotondamento ai lotti minimi (BTC/ETH/LTC/ADA/SOL hanno step diversi), riconciliazione e chiusura a 2 gambe. Progetto a sé, il più impegnativo rimasto.
  • SH01 in reale: oggi escluso perché non ha TP/SL (esce a orizzonte H=12) → manca il livello a cui agganciare il limit resting + disaster-bracket. Due strade: (a) nuovo percorso "market reduce-only a scadenza orizzonte" nell'executor; (b) valutare TP/SL su SH01 — MA la ricerca dedicata (sh01_exit_lab, 11 famiglie di stop, 0 sopravvissute) dice che ogni stop rompe l'edge → andrebbe ri-gateato. Prima conviene osservare il PnL live post-fix di oggi.

Capitale (decisione utente, non codice)

  • Valutare aumento capitale a €5.000-10.000 per togliere il rumore di arrotondamento. A €2.000 il rumore BTC per trade è ~2.4% (morde); soglie: ~€4.800 (<1%), ~€9.500 (<0.5%, "punto dolce"), ~€19.000 (trascurabile). Le commissioni invece sono % e neutre al capitale. Riguarda solo i 7 single-leg che eseguono reale; pairs/SH01 sono simulati.

Follow-up dal code-review (bassa priorità, non urgenti)

  • forming-bar su ROT02/TSM01: i worker daily valutano la candela 1d IN FORMAZIONE al primo poll dopo mezzanotte UTC (stessa classe del fix TR01/Pairs, pre-esistente). Ora è banale: usare src.live.bars.last_settled_idx in _panel / nei due tick. Impatto basso (1d) ma stessa famiglia di bug.
  • ancora bfill di _daily_equity: la serie a punti-trade reindexata su IDX àncora il primo valore della finestra al PRIMO trade in-finestra, non al capitale portato avanti. Tocca le metriche canoniche di TUTTI gli sleeve a punti-trade (honest/pairs/tsm). Valutare se correggere OVUNQUE in un colpo (cambierebbe i numeri canonici di riferimento). Scoperto nel gate DIP01 (parità inizialmente fallita per questo).
  • convenzione TR01 worker vs reference: il replay validate_honest_workers dà TR01 worker -44% vs reference +42% (identico pre/post fix di oggi). È la divergenza capitale-unico (mean(rets) solo sugli asset in posizione) vs media-equity 1/N del reference. Indagare: sospetto che mean(rets) sovrappesi gli asset in posizione quando il paniere è parzialmente investito.
  • engine duplicato nei 3 gate *_port06_impact.py (exit16/trendmax/dip01): build_trades_variant / port_metrics copiati quasi verbatim. Sono regression-lock per decisioni live → la copy-drift corrompe i verdetti. Fattorizzare in un modulo condiviso.
  • epoche hardcoded in hourly_report.lossguard_section (LOSSGUARD_SINCE, TRENDSWAP_SINCE): ogni nuova epoca-filtro richiede di editare la funzione. Derivarle da deploy history/config.

Ricerca dispersion/correlation (2026-06-08, 165 agenti) — follow-up opzionale

  • Gate PORT06 di index_comp_disp W=168 (BTC) — l'unico candidato della ricerca dispersion che merita un test formale (combine_v2): misurare corr col MASTER e ΔSharpe/ΔDD. Config in scripts/analysis/dispersion_edges/index_comp_disp.py (rel_len=12, z_thr=1.5, disp_q=0.7, TP=1.0ATR, SL=1.5ATR, mb=24). P(migliora)~20-25%: è fade-BTC, rischio sovrapposizione con le MR. Se non decorrela → scartare. Diario docs/diary/2026-06-08-dispersion-correlation-search.md. Bassa priorità (nessun nuovo motore emerso; vale la lezione FR01).

Monitoraggio (osservare, non agire subito)

  • PnL live post-swap trend (epoca TREND in hourly_report): verdetto stop-rate fade a n>=30.
  • SH01 post-bootstrap: il trade-rate live deve scendere da ~25% a ~10% delle barre (selettività della soglia ripristinata). Controllare nel report orario.
  • MR02_ETH: ultima posizione aperta SENZA disaster-SL (aperta pre-v1.1.4). Si chiuderà normalmente; le prossime aperture avranno il bracket.
  • parquet fresco per SH01 bootstrap: oggi al 2026-05-28, il feed copre 365g → margine ~11 mesi. Rilanciare download_all() periodicamente (WARN automatico se il gap supera il lookback).