Files
PythagorasGoal/docs/TODO.md
T
Adriano Dal Pastro a2f1b960ec research: gate PORT06 index_comp_disp — promosso marginale, documentato e rimandato
Decorrela bene (corr 0.06 col MASTER, smentisce il timore ridondanza) ma beneficio
OOS nullo (Sharpe 8.58->8.56, DD 1.36->1.40); migliora solo FULL DD 3.96->3.73. Non
deployato (wiring + simulato per guadagno OOS nel rumore). Gate riusabile committato.

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

64 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
- [x] ~~Gate PORT06 di `index_comp_disp` W=168~~ — FATTO (2026-06-08): PROMOSSO MARGINALE.
Decorrela bene (corr 0.06 col MASTER) ma OOS PIATTO (Sharpe 0.01). **Documentato e
rimandato** (non deployato): gate in `dispersion_edges/gate_index_comp_disp.py`,
riprendere solo se si costruisce una famiglia DISP più ampia. Diario aggiornato.
## 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).