File 1: docs/poc/poc_fast_scanner.md
Comandi e file
(.venv) PS D:\01_DevOps\fire\fireDev_12>
python scripts/poc/poc_fast_scanner.py --watchlist "D:/01_DevOps/fire/fire_resource/watchlist/DOW_JONES_30.csv" --strategy "D:/01_DevOps/fire/fire_resource/strategies/slingshot_strategy.py"Transclude of poc_fast_scanner.py
Note: Vedi le versioni successive:
Screenshot:

Proof of Concept: Ottimizzazione Performance Signal Scanner
1. Scopo
Questo Proof of Concept (POC) è stato creato per diagnosticare e risolvere un grave problema di performance nello Signal Scanner di FIRE. La versione iniziale dello scanner impiegava un tempo inaccettabile (15-20 secondi per ticker) per analizzare una watchlist, rendendo la funzionalità inutilizzabile.
L’obiettivo di questo script era duplice:
- Diagnosi: Dimostrare che la lentezza era dovuta al
MockBacktestEngineche eseguiva una simulazione completa dell’intera cronologia dei prezzi per ogni ticker. - Validazione Soluzione: Progettare, implementare e benchmarkare un nuovo motore di scansione ottimizzato (
StatelessMockEngine) la cui logica fosse “stateless” e si concentrasse esclusivamente sull’analisi dell’ultima barra disponibile.
Lo script ha validato che l’approccio “last-bar only” era non solo drasticamente più veloce, ma anche logicamente più corretto per lo scopo di uno scanner, eliminando i falsi positivi generati da segnali di uscita.
2. Come si Lancia
Prerequisiti:
- Ambiente virtuale del progetto attivo.
Comando: Dalla directory principale del progetto, eseguire uno degli script (v2 o v3 per il lookback). È necessario specificare il percorso della watchlist e della strategia da testare.
python scripts/poc/poc_fast_scanner_v3.py --watchlist "path/to/watchlist.csv" --strategy "path/to/strategy.py" --lookback 73. Risultato Atteso
Lo script esegue una scansione sulla watchlist specificata e stampa i seguenti output nel terminale:
- Log in tempo reale: Mostra ogni ticker analizzato e se è stato trovato un segnale.
- Report Finale: Un elenco pulito di tutti i ticker che hanno generato un segnale nell’intervallo di lookback.
- Benchmark di Performance: Statistiche finali che mostrano il tempo totale di esecuzione e, soprattutto, il tempo medio per ticker in millisecondi.
Il POC è considerato un successo se il tempo medio per ticker è nell’ordine delle centinaia di millisecondi, dimostrando un miglioramento di ordini di grandezza rispetto all’implementazione originale.