Strategy Arena: Technical Reference & Operations Manual
1. Introduzione e Scopo
La Strategy Arena è il modulo di FIRE dedicato al Batch Backtesting e alla Comparative Analysis. A differenza del tab “Backtest” (Single Lab), progettato per l’analisi profonda di una singola strategia, l’Arena è progettata per il confronto massivo (“Torneo”).
Obiettivi del Modulo:
- Eseguire N strategie (o varianti della stessa) in parallelo sullo stesso Ticker/Timeframe.
- Fornire una Leaderboard immediata per identificare le performance migliori.
- Offrire strumenti di Drill-Down visivo per analizzare i dettagli senza cambiare contesto.
- Generare visualizzazioni statistiche avanzate (Risk/Reward, Correlazioni) tramite Dashboard dedicata.
2. Guida Operativa (User Manual)
2.1. Configurazione del Batch
- Nella tab Strategy > Arena, cliccare sul pulsante “Configure Batch” (Icona Lista).
- Si apre il Batch Config Dialog:
- Selezione: Spuntare le strategie da includere nel torneo.
- Configurazione Puntuale: Cliccare sull’icona Ingranaggio (⚙) all’interno del chip della strategia per modificarne i parametri specifici (es. Periodo RSI).
- Icona Bianca: Parametri di Default.
- Icona Arancione: Parametri Modificati.
- Confermare con OK. La Toolbar mostrerà “N Strategies Ready”.
2.2. Esecuzione
- Assicurarsi di aver selezionato un Ticker e un Timeframe dalla barra globale.
- Cliccare su “Run Arena”.
- L’Orchestrator lancerà i worker in parallelo. La Leaderboard si popolerà in tempo reale man mano che le strategie terminano l’esecuzione.
2.3. Analisi e Drill-Down
L’Arena utilizza un layout Master-Detail:
- Master (Leaderboard): La tabella superiore mostra le metriche chiave (
Net Profit,Max DD,Win Rate). Cliccare sulle intestazioni per ordinare (es. per trovare la più profittevole). - Detail (Drill-Down): Cliccando su una riga della Leaderboard:
- La tabella inferiore mostra le statistiche complete.
- Il Grafico Principale si aggiorna mostrando i segnali di trading di quella strategia.
- Il pannello Trade Log mostra l’elenco operazioni di quella strategia.
2.4. Arena Analytics Dashboard
Per un confronto visuale avanzato, cliccare il pulsante “Analyze Batch” (Icona Grafico). Si aprirà una finestra popup contenente:
- Risk/Reward Map (Scatter Plot): Ogni punto è una strategia. Cercare strategie in alto a sinistra (Alto Profitto, Basso DD).
- Equity Comparison: Tutte le curve dei profitti sovrapposte (normalizzate %).
- Metrics Radar: Confronto poligonale delle Top 5 strategie.
- Export HTML: Genera un report portabile per la condivisione.
3. Architettura Tecnica
Il modulo Arena si basa su una rigorosa separazione delle responsabilità e su un flusso di segnali orchestrato.
3.1. Componenti Chiave
| Componente | File Sorgente | Responsabilità |
|---|---|---|
StrategyArenaWidget | fire/synapses/backtest/strategy_arena_widget.py | Controller UI principale. Gestisce la Leaderboard e il Drill-Down. |
BatchConfigDialog | fire/synapses/backtest/batch_config_dialog.py | Gestisce la selezione multipla e la persistenza dei parametri custom. |
BatchResultsModel | fire/ui_components/models/batch_results_model.py | Modello dati QAbstractTableModel per la Leaderboard. Gestisce formattazione e colori. |
ArenaAnalyticsDashboard | fire/synapses/backtest/arena_analytics_dashboard.py | Widget Popup autonomo per grafici Plotly e reportistica HTML. |
BacktestOrchestrator | fire/synapses/backtest/backtest_orchestrator.py | Motore di esecuzione. Supporta il routing dei risultati verso l’Arena. |
3.2. Flusso dei Dati (Signal Flow)
Flusso di Esecuzione (Batch Run)
graph TD A[Arena: Run Btn] -->|Signal: arena_run_requested| B[BacktestOrchestrator] B -->|Loop| C[Crea N Workers] C -->|Parallel Exec| D[BacktestWorker] D -->|Signal: finished(results)| E[Arena: on_backtest_finished] E -->|Add Row| F[BatchResultsModel] ```