Adriano d9454fc996 feat(state+runtime+gui): market_snapshots — calibrazione soglie da dati
Sistema dedicato di raccolta dati per scegliere le soglie dei filtri
sui percentili reali invece di valori a istinto.

Nuovi componenti:

* state/migrations/0003_market_snapshots.sql — tabella + index, PK
  composta (timestamp, asset). Ogni colonna numerica è NULL-able per
  preservare la continuità della serie quando un singolo MCP fallisce.
* state/models.py — MarketSnapshotRecord Pydantic.
* state/repository.py — record_market_snapshot, list_market_snapshots,
  _row_to_market_snapshot.
* runtime/market_snapshot_cycle.py — collettore best-effort che chiama
  spot/dvol/realized_vol/dealer_gamma/funding_perp/funding_cross/
  liquidation_heatmap/macro per ogni asset; raccoglie gli errori in
  fetch_errors_json e segna fetch_ok=false ma persiste comunque la
  riga.
* clients/deribit.py — generalizzati dealer_gamma_profile(currency),
  realized_vol(currency), spot_perp_price(asset). dealer_gamma_profile_eth
  resta come alias per la chiamata dell'entry cycle.
* runtime/orchestrator.py — nuovo job APScheduler `market_snapshot`
  cron */15 con assets configurabili (default ETH+BTC); il consumer
  manual_actions ora dispatcha anche kind=run_cycle cycle=market_snapshot
  per la GUI.
* gui/data_layer.py — load_market_snapshots, enqueue_run_cycle accetta
  market_snapshot; tipo MarketSnapshotRecord esposto.
* gui/pages/6_📐_Calibrazione.py — selezione asset+finestra, conteggio
  fetch_ok, per ogni metrica: istogramma, soglia da strategy.yaml come
  vline rossa, percentili P5/P10/P25/P50/P75/P90/P95, % di tick che la
  soglia avrebbe filtrato.
* gui/pages/1_📊_Status.py — bottone "📐 Forza snapshot" (4° del pannello
  Forza ciclo) per popolare la tabella senza aspettare il cron.

5 nuovi test sul collector (happy, fault tolerance, asset switch,
macro fail, empty assets); test_orchestrator job set aggiornato.
368/368 tests pass; ruff clean; mypy strict src clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 14:39:09 +02: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%