root 1c6baaee83 feat(strategy): F+D+A miglioramenti — auto-pause, vol-harvest, delta dinamico
Implementa tre miglioramenti dalla roadmap di "📚 Strategia" + scaffolding del quarto.
Tutti retro-compatibili: i defaults della golden config disabilitano le nuove funzioni
così il comportamento attuale resta invariato finché l'operatore non le accende
esplicitamente in `strategy.yaml`. Il profilo `strategy.aggressiva.yaml` opta-in
agli incrementi più impattanti.

**F — Auto-pause su drawdown rolling (§7-bis)**

Circuit breaker sopra il kill-switch tecnico. Quando le ultime N posizioni
chiuse hanno cumulato perdite oltre `max_drawdown_pct × capitale_attuale`,
l'engine si auto-mette in pausa per `pause_weeks` settimane. Difende dai
regime change non rilevati dai filtri quant — se i filtri stanno fallendo
sistematicamente, fermarsi è meglio che continuare a sanguinare.

- `AutoPauseConfig` + `cfg.auto_pause` (top-level, default disabled).
- Migrazione SQL `0004_auto_pause.sql`: `system_state.auto_pause_until`
  e `auto_pause_reason` (NULL = engine attivo).
- Nuovo modulo puro `runtime/auto_pause.py` con `is_paused()` (gate I/O-free)
  e `evaluate_drawdown_breach()` (decide se armare).
- `entry_cycle` consulta `is_paused` subito dopo il kill-switch e arma
  la pausa dopo aver calcolato il capitale; nuovo status `_STATUS_AUTO_PAUSED`.
- Repository: `set_auto_pause`, `recent_closed_position_pnls_usd`.
- 12 test unitari: gate filter on/off, lookback insufficiente, soglia
  esatta, capitale non valido, transizioni paused → not-paused.

**D — Vol-collapse harvest (§7-bis)**

Exit opportunistica: quando DVOL è scesa di tot punti rispetto all'entry
e siamo in profit, esce subito. Edge IV-RV catturato, non c'è motivo di
tenere fino al profit-take. Nuovo `ExitAction = "CLOSE_VOL_HARVEST"`,
gate `exit.vol_harvest_dvol_decrease` (default 0 = off). 5 test unitari.

**A — Delta target dinamico per regime DVOL (§3.2)**

Strike short adattivo alla volatilità: a DVOL bassa il margine OTM è
generoso ⇒ posso prendere più premio (delta 0.15); a DVOL alta voglio
più safety distance (delta 0.10). Nuovo `DeltaByDvolBand` (step
function); quando `delta_by_dvol` è popolato, `_select_short` legge
la prima banda ascending con `dvol_now ≤ dvol_under`. Default vuoto =
comportamento invariato. `select_strikes` accetta nuovo kwarg
`dvol_now`, propagato da `entry_cycle`. 4 test unitari.

**C — Scaffolding profit-take graduale (§7.1bis)**

Schema in place ma runtime non ancora wirato. Aggiunge `PartialProfitLevel`
e `exit.profit_take_partial_levels` (default vuoto). Nuovo
`ExitAction = "CLOSE_PROFIT_PARTIAL"` nella Literal. La pipeline di
chiusure parziali nel runtime (entry_cycle / repository / clients)
richiede refactor del position model — lasciato come TODO per un PR
dedicato. La schema è pronta a recepire la config futura senza altri
breaking change.

**Profili aggiornati**

- `strategy.yaml` (golden, 1.2.0): tutto disabilitato by default.
- `strategy.conservativa.yaml` (1.2.0-cons): identico al golden.
- `strategy.aggressiva.yaml` (1.2.0-aggr): A+D+F enabled
  (delta_by_dvol 0.15/0.12/0.10, vol_harvest a 15 pt vol,
  auto_pause @ 15% DD su 5 trade, 2 settimane pausa).

Bump versioni 1.1.0 → 1.2.0, hash ricalcolati, test pinning aggiornato.

Suite: 426 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 20:07:25 +00:00
2026-04-26 23:10:30 +02:00

Cerbero Bite

Sistema deterministico rule-based per l'esecuzione sistematica della strategia Cerberus Bite: credit spread su opzioni Ethereum (Deribit) con gestione attiva, sizing Quarter Kelly e disciplina di uscita rigida.

Sintesi della strategia

  • Sottostante: ETH/USD su Deribit (opzioni europee).
  • Struttura: Bull Put Spread (modalità principale) o Bear Call Spread, vendita di credito a delta corto 0.100.15 (≈ 18% OTM).
  • DTE: 1421 giorni, sweet spot a 18 DTE.
  • Sizing: Quarter Kelly = 13% del capitale corrente, con cap hard 200 EUR per trade e 1.000 EUR di engagement aperto totale.
  • Gestione attiva: profit take 50% credito, stop loss 1.5× credito, vol stop +10 punti DVOL, time stop 7 DTE, exit su short strike testato (|delta| ≥ 0.30). Su ETH non si difende rollando: si esce.
  • Frequenza: apertura ogni 7 giorni, una posizione alla volta.

Il sistema è deterministico: nessun LLM partecipa al decision loop. Le regole sono codificate, le soglie sono parametri di configurazione, i tool MCP sono usati esclusivamente come fonti di dati e canali di esecuzione (proposta verso Cerbero core, notifiche verso Adriano).

Catena di responsabilità

Cerbero Bite (rule engine)  →  Adriano (decisione finale)  →  Cerbero core (esecuzione)
  • Cerbero Bite propone trade e segnala uscite. Non esegue mai direttamente sul broker.
  • Adriano riceve un report strutturato e dà conferma esplicita.
  • Cerbero core riceve l'istruzione tramite cerbero-memory.push_user_instruction con source="cerbero-bite" e ne pianifica l'apertura/chiusura sul proprio motore di esecuzione.

Documentazione

I documenti di progetto si trovano sotto docs/. Sono numerati e da leggere in ordine per chi implementa.

File Contenuto
docs/00-overview.md Visione del sistema, perimetro, non-obiettivi
docs/01-strategy-rules.md Regole della strategia (entry/manage/exit)
docs/02-architecture.md Architettura software, componenti, interfacce
docs/03-algorithms.md Specifiche dettagliate dei sette algoritmi core
docs/04-mcp-integration.md Mappa dei tool MCP usati e contratti
docs/05-data-model.md Schema persistenza posizioni, log, KB
docs/06-operational-flow.md Flussi operativi: avvio, settimanale, monitoring
docs/07-risk-controls.md Kill switch, cap, dead-man, audit
docs/08-testing-validation.md TDD, paper trading, golden tests
docs/09-development-roadmap.md Fasi di sviluppo e milestone
docs/10-config-spec.md Schema di strategy.yaml con soglie
docs/11-gui-streamlit.md Dashboard Streamlit locale per osservazione e azioni manuali

Stato attuale

Il progetto è in fase specifica. Nessun codice è stato ancora prodotto; tutta la documentazione di design è quella presente nella cartella docs/. La prima fase di implementazione è dettagliata in docs/09-development-roadmap.md.

Avvertenza

Questo sistema gestisce capitale reale ed è soggetto alle Hard Prohibitions di Cerbero (vedi Cerbero_Office/CLAUDE.md). Le opzioni su criptovaluta sono strumenti complessi con rischio di perdita totale. La validazione statistica via Monte Carlo (Cerbero_Office/NewStrategy/ analisi_dai_storici/) è uno stimatore, non una garanzia. Le regole di stop loss e i cap di sizing sono non negoziabili.

S
Description
No description provided
Readme 2.3 MiB
Languages
Python 99.3%
Shell 0.4%
Dockerfile 0.3%