
python scripts/poc/poc_chronos_basic_forecast.pyTransclude of poc_chronos_forecast
Transclude of poc_chronos_basic_forecast.py
Contesto
Una delle direzioni strategiche per il progetto FIRE è l’integrazione di funzionalità basate sull’intelligenza artificiale per fornire analisi predittive avanzate. Prima di investire risorse significative, era necessario validare la fattibilità tecnica dell’utilizzo di modelli di fondazione pre-addestrati per le serie storiche. Le domande chiave erano:
- Quanto è complesso integrare un modello come Amazon Chronos nel nostro stack Python?
- Le prestazioni (specialmente con accelerazione GPU) sono accettabili?
- I risultati prodotti (previsioni probabilistiche) sono utili per un contesto finanziario?
Decisione
Abbiamo sviluppato uno script Python autonomo che implementa un intero flusso di lavoro di previsione utilizzando il modello chronos-t5-small.
Lo script ha validato con successo i seguenti passaggi:
- Caricamento del Modello: Download e inizializzazione della pipeline Chronos, con rilevamento e utilizzo automatico di una GPU CUDA se disponibile.
- Gestione dei Dati: Creazione di una logica robusta per scaricare dati finanziari (tramite
yfinance) e salvarli localmente per un accesso rapido e offline. - Esecuzione della Previsione: Utilizzo del modello per generare previsioni probabilistiche, calcolando la mediana e un intervallo di confidenza (10°-90° percentile).
- Visualizzazione: Creazione di un report HTML interattivo con Plotly che mostra i dati storici, la previsione mediana e la fascia di incertezza.
Conseguenze
Positive
- Validazione della Fattibilità: L’integrazione di un modello AI pre-addestrato è risultata sorprendentemente accessibile e non ha richiesto la scrittura di logica di training complessa.
- Previsioni Probabilistiche: Il modello non fornisce una singola previsione (spesso fuorviante), ma un intervallo di confidenza. Questo è estremamente prezioso in finanza, in quanto comunica l’incertezza del modello.
- Prestazioni Elevate con GPU: L’inferenza su una GPU CUDA è risultata molto veloce, rendendo possibile l’integrazione in flussi di lavoro di analisi quasi in tempo reale.
- Riduzione della Barriera all’IA: Dimostra che possiamo sfruttare modelli allo stato dell’arte senza doverli addestrare da zero.
Negative / Limitazioni
- Dipendenze Pesanti: L’integrazione nell’applicazione principale richiederà l’aggiunta di librerie pesanti come
torchetransformers, aumentando notevolmente le dimensioni dell’installer. - Dimensioni del Modello: I file del modello stesso occupano centinaia di MB, che dovranno essere gestiti durante l’installazione o scaricati al primo avvio.
- “Scatola Nera”: Essendo un modello pre-addestrato, la sua logica interna non è facilmente interpretabile. La qualità delle previsioni dipende fortemente dalla somiglianza dei dati di input con i dati su cui è stato addestrato.
- Integrazione UI: L’esecuzione dell’inferenza è un’operazione a lunga esecuzione e dovrà essere gestita in un thread separato per non bloccare l’interfaccia utente dell’applicazione FIRE.
Proof of Concept: Forecasting di Base con Chronos (poc_chronos_basic_forecast.py)
1. Scopo
Questo script è un Proof of Concept (POC) il cui scopo è effettuare una validazione tecnica di base della libreria chronos-forecasting.
Serve a confermare, in un ambiente isolato e controllato, che siamo in grado di:
- Installare e importare la libreria
chronos. - Caricare un modello pre-addestrato (es.
amazon/chronos-t5-small) da Hugging Face. - Eseguire una previsione su un set di dati di esempio.
- Generare un output visivo per ispezionare il risultato.
Questo script è stato un passaggio fondamentale per ridurre i rischi tecnici prima di considerare l’integrazione di Chronos nell’architettura di FIRE.
2. Come si Lancia
Prerequisiti:
- Ambiente virtuale del progetto attivo.
- Dipendenze necessarie installate:
pip install chronos-forecasting torch pandas plotly
**Comando:**
Assicurati di essere nella directory principale del progetto ed esegui:
codeBash
python scripts/poc/poc_chronos_basic_forecast.py
## 3. Risultato Atteso
L'esecuzione dello script comporterà le seguenti azioni:
- Verrà scaricato il modello chronos-t5-small da Hugging Face (solo la prima volta).
- Verrà eseguita la previsione sui dati di esempio.
- Verrà creato un file chiamato **poc_chronos_forecast.html** nella directory principale del progetto.
Apri questo file HTML con un browser. Se vedi un grafico interattivo con i dati storici e una previsione futura (linea mediana e banda di incertezza), il POC è considerato un successo.
codeCode