Files
PythagorasGoal/portfolios.yml
T
Adriano Dal Pastro 5fe53841e9 feat(live): leva 2x -> 3x su PORT06 (scelta utente, frontiera ACCEL50)
PAIRS position_size_family 0.20 -> 0.13 per conservare l'esposizione validata
~0.40 (gate 2026-06-07): la leva accelera le famiglie con stop, non i no-stop.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 20:23:43 +00:00

70 lines
4.3 KiB
YAML
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.
# Config LIVE del paper trader a portafoglio. Seleziona UN portafoglio attivo
# (definito in scripts/portfolios/_defs.py) e ne fa l'override dei parametri operativi.
active: PORT06 # default raccomandato: master + shape
overrides:
total_capital: 2000
weighting: cap # equal | cap | inverse_vol | cluster_rp | manual
# NB: questo dict SOSTITUISCE interamente i caps di _defs.py (setattr in
# base.py:load_active_portfolio) → va ridichiarato COMPLETO. Il cap SHAPE
# 0.0588 (mitigazione coda SH01, 2026-06-05) era stato perso per questo.
caps: {PAIRS: 0.33, SHAPE: 0.0588}
# Leva 3x (2026-06-12, scelta utente, da frontiera ACCEL50: OOS CAGR 111->206%,
# FULL DD 3.5->5.2% nel modello lineare; vedi scripts/analysis/accel50_research.py
# e docs/diary/2026-06-12-accel50.md). Era 2 ("sobrio") dal primo deploy live.
leverage: 3
rebalance: 1D
poll_seconds: 60
# SLEEVE PAPER (2026-06-08): fuori dal pool/pesi/ledger — i €2000 si dividono SOLO
# tra i 14 sleeve REALI (fade+DIP01+pairs+SH01). I multi-asset (no esecuzione reale,
# bloccati dal capitale) girano in data/portfolio_paper_stats/ con capitale nozionale
# fisso, SOLO per statistica in vista di future implementazioni reali. NB: il portafoglio
# live diverge ora dal PORT06 canonico (17 sleeve) -> DD reale ~5.35% vs 3.96% validato:
# il prezzo di vedere il risultato reale puro (scelta utente).
paper_sleeves: [TR01, ROT02, TSM01, XS01]
# Frazione di capitale-sleeve per posizione (canonico backtest = 0.15).
# 0.5 con leva 2x = 100% della fetta impegnata quando in posizione (max impiego
# dei 2K senza debito di margine). NB: il DD scala ~lineare (~×3.3 vs validato).
position_size: 0.5
# Override per-famiglia (chiave = weighting.family_of). PAIRS: famiglia SENZA
# stop, validata a esposizione 0.45 (pos 0.15 lev 3) — il gate 2026-06-07
# (pairspos_port06_impact.py) la fisso' a 0.40 di esposizione (0.20 × lev 2):
# PORT06 OOS DD 3.40→1.26%, costo OOS Sharpe 9.05→8.43. Col passaggio a lev 3
# (2026-06-12) il pos scende a 0.13 per CONSERVARE la stessa esposizione
# (0.13×3≈0.40): la leva accelera le famiglie con stop, non i pairs no-stop.
position_size_family: {PAIRS: 0.13}
# Esecuzione REALE su Deribit testnet, in SHADOW (sim + reale in parallelo).
# I 7 single-leg con TP/SL in metadata: 6 fade (MR01/MR02/MR07 x BTC/ETH) +
# DIP01 BTC (attivato 2026-06-04: stesso wiring StrategyWorker, TP limit resting
# incluso). Ordini sui LINEARI USDC (payoff lineare = matematica del backtest;
# fee/PnL in USDC). Gli altri sleeve (pairs/rotation/tsmom/shape) restano
# simulati: pairs richiede executor a 2 gambe, shape non ha TP (orizzonte puro).
execution:
enabled: true
# SH01 aggiunto 2026-06-08: e' il diversificatore piu' decorrelato (corr 0.07,
# senza di lui il DD del portafoglio sale 3.96->5.35%). Single-leg, esce a
# orizzonte H=12 (no TP/SL) -> _place_real_tp no-op, _real_close market reduce-only;
# disaster-bracket on-book = unica protezione di coda durante outage.
sleeves: [MR01, MR02, MR07, DIP01, SH01]
instruments:
BTC: BTC_USDC-PERPETUAL
ETH: ETH_USDC-PERPETUAL
LTC: LTC_USDC-PERPETUAL
ADA: ADA_USDC-PERPETUAL
SOL: SOL_USDC-PERPETUAL
# Esecuzione REALE a 2 gambe per i pairs (PairsExecutionClient, 2026-06-08).
# Long A / short B sui lineari USDC, con unwind se una gamba sola filla (leg-risk).
# ATTIVATO 2026-06-08 a conto flat (smoke testnet end-to-end verificato).
pairs_enabled: true
# Disaster-bracket on-book (2026-06-07): STOP_MARKET reduce-only a ~-30%
# dall'ingresso, piazzato a ogni REAL_OPEN e cancellato alla chiusura.
# Assicurazione per gli outage (runner fermo = exit non valutati); in
# operativita' normale non scatta mai -> 0 costo Sharpe. 0 = disattivo.
disaster_sl_pct: 0.30
# REAL-TRUTH (2026-06-10, scelta utente): il ledger `capital` degli sleeve
# eseguiti si aggiorna col PnL dei FILL REALI (fee reali incluse) — il sim
# resta solo diagnostica nel log CLOSE (pnl_source/sim_pnl/real_pnl).
# Fallback al sim SOLO se il trade reale non e' mai esistito/fillato
# (REAL_OPEN_FAIL): flag pnl_source=sim_fallback nel log. Cosi' equity,
# ribilanci e sizing derivano dai soldi veri sul conto, non dal sim.
real_truth: true