feat(live): SH01 in esecuzione reale shadow (diversificatore decorrelato)

L'infrastruttura no-TP esisteva gia': _place_real_tp ritorna subito senza TP,
_real_close chiude tutta la quota a market reduce-only (exit a orizzonte H=12).
Bastava: (1) _exec_for accetta kind 'ml', (2) SH01 in execution.sleeves.
Disaster-bracket on-book = unica protezione di coda di SH01 (esce a H=12 ben prima
del -30%). Motivo: SH01 e' il diversificatore piu' decorrelato (corr 0.07) — senza
i 5 sleeve PAPER il DD del portafoglio sale 3.96->5.35%, OOS Sharpe 8.58->8.27.

Test: SH01 open/close reale senza TP + disaster bracket (93/93). Copertura reale
ora ~81% (resta paper solo TR01/ROT02/TSM01, bloccati dal capitale).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-06-08 11:18:06 +00:00
parent c6970d96c9
commit 0b900a5420
5 changed files with 92 additions and 17 deletions
+25 -14
View File
@@ -1,21 +1,32 @@
# TODO — prossimi passi
> Raccolta dei follow-up aperti. Aggiornato 2026-06-07 (fine sessione: roadmap
> improvement-sweep 10/10 completata, v1.1.9 live).
> Raccolta dei follow-up aperti. Aggiornato 2026-06-08 (pairs reali ATTIVI v1.1.12;
> roadmap improvement-sweep 10/10 completata).
## Esecuzione reale — i pezzi grossi mancanti
## Stato esecuzione per sleeve (REALE vs SIMULATO)
- [x] ~~Executor a 2 gambe per i PAIRS~~ — FATTO (2026-06-08): `PairsExecutionClient`
(open/close 2 gambe, leg-risk unwind, ledger shadow resume-safe). Test 92/92 + smoke
testnet end-to-end OK. **Capability PRONTA ma SPENTA** (`pairs_enabled: false`).
Diario `docs/diary/2026-06-08-pairs-executor.md`.
- [ ] **Accendere `pairs_enabled: true`** quando c'è una finestra a conto flat + osservazione.
Poi monitorare REAL_OPEN_PAIR/REAL_CLOSE_PAIR e lo sbilanciamento notional fra gambe.
- [ ] **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.
**REALE (shadow su Deribit testnet) — il "vero" risultato monetario:**
- 6 fade (MR01/MR02/MR07 × BTC/ETH) + DIP01_BTC → single-leg, v1.0.3+
- 5 pairs PR01 (ETH/BTC, LTC/ETH, ADA/ETH, BTC/LTC, ETH/SOL) → 2 gambe, v1.1.12 (2026-06-08)
- SH01 × BTC/ETH → single-leg, exit a orizzonte (no TP/SL), v1.1.13 (2026-06-08)
**SIMULATO (paper, NON esegue reale) — categoria distinta:**
- TR01 / ROT02 / TSM01 → book multi-asset, bloccati dal CAPITALE (rumore arrotondamento)
## Esecuzione reale — pezzi mancanti
- [x] ~~Executor a 2 gambe per i PAIRS~~ — FATTO + ATTIVO (v1.1.12, 2026-06-08).
- [x] ~~SH01 in reale~~ — FATTO (v1.1.13, 2026-06-08): l'infrastruttura no-TP esisteva già
(_place_real_tp no-op senza TP, _real_close chiude tutto market reduce-only a orizzonte).
Bastava accettare kind 'ml' in _exec_for + SH01 in execution.sleeves. Disaster-bracket
on-book = unica protezione di coda. Test SH01 open/close reale OK.
- [ ] **Multi-asset in reale** (SIMULATO: TR01/ROT02/TSM01) — **SBLOCCATO DA CAPITALE ≥ ~€20k**.
Strumenti USDC tutti esistenti (BNB/DOGE/XRP inclusi), ma a €2k il rumore di arrotondamento
per-asset è 20-30% (DOGE/XRP/SOL step grandi in $, esposizione frammentata su 5-8 asset) →
l'esecuzione reale misurerebbe il rumore dei lotti, non la strategia. Serve un
`BasketExecutionClient` (ribilancio delta multi-strumento, long-only, netting con fade+pairs
sui simboli condivisi). Beneficio limitato (~19% del portafoglio, diversificatori spesso
flat) → bassa priorità anche a capitale alto. Analisi: chat 2026-06-08.
## Capitale (decisione utente, non codice)