Sistema di Forecasting
Questa guida documenta il sistema di forecasting di FIRE: la generazione e l’utilizzo di previsioni quantitative sui prezzi futuri.
1. Dallo Specchietto Retrovisore al Parabrezza
L’analisi tecnica tradizionale analizza i dati passati. Indicatori come medie mobili o RSI descrivono ciò che è già successo. È come guidare guardando lo specchietto retrovisore.
FIRE integra questo approccio con una visione frontale: un “parabrezza probabilistico” alimentato da modelli AI come TimesFM.
Forecasting: Tecnica statistica o basata su AI che stima i valori futuri di una serie storica (es. prezzi) basandosi sui suoi valori passati e sui pattern identificati.
Il sistema fornisce un vantaggio statistico (edge) per costruire strategie che combinano l’analisi del passato con previsioni probabilistiche del futuro. Si articola in due strumenti:
- Forecast Lab: Misura l’accuratezza del modello predittivo.
- Backtest con Forecast: Integra le previsioni nelle strategie operative.
2. Forecast Lab: Misurare l’Affidabilità del Modello
Il Forecast Lab valuta oggettivamente l’accuratezza di un modello nel prevedere i prezzi di uno strumento, su un dato orizzonte temporale. Il suo scopo è la diagnostica del modello.
Come Funziona: Rolling Forecast
Il sistema simula l’uso del modello nel passato tramite un backtest a finestra mobile (rolling forecast):
- Prende N giorni di storia.
- Genera una previsione per i successivi M giorni.
- Confronta previsione vs. realtà, misurando l’errore.
- Avanza la finestra temporale di M giorni.
- Ripete il ciclo per tutta la serie storica.
Questo processo genera multiple previsioni indipendenti.
Interpretazione del Grafico


Il grafico [IMG-201] e [IMG-201b] mostrano il risultato grezzo del forecasting, sovrapponendo:
- Prezzi reali: La linea continua dell’andamento effettivo.
- Previsioni multiple: Tante piccole linee proiettate nel futuro. Ogni linea è una previsione indipendente generata in un diverso punto del passato.
Questo layout permette di identificare visivamente dove il modello è stato accurato, dove ha fallito e i pattern di errore ricorrenti.
Metriche Chiave
Directional Accuracy: Percentuale di previsioni corrette sulla direzione del prezzo (salita/discesa).
- > 50%: Vantaggio statistico sul caso.
- > 52-53%: Edge potenzialmente sfruttabile.
- < 50%: Controproducente.

MAE (Mean Absolute Error): Errore medio assoluto, espresso nell’unità di prezzo dello strumento. Misura l’errore tipico.
RMSE (Root Mean Square Error): Errore quadratico medio. Penalizza maggiormente gli errori grandi. Un RMSE molto più alto del MAE indica errori occasionali molto gravi.

Applicazioni Operative
- Validazione Modello: Eseguire il test su almeno 6-12 mesi. Se Directional Accuracy < 52%, il modello non aggiunge valore.
- Identificazione Orizzonte Ottimale: Testare orizzonti diversi (3, 5, 10 giorni).
- Analisi Condizioni di Fallimento: Isolare i periodi di bassa performance (es. alta volatilità, trend laterale).
💡 Nota operativa: Titoli ad alta liquidità e bassa volatilità tendono ad essere più prevedibili.
3. Backtest con Forecast: Usare le Previsioni nelle Strategie
Questa funzione integra i dati previsionali come un indicatore all’interno di una strategia. Il suo scopo è il backtesting rigoroso della strategia.
Prevenzione del Lookahead Bias
Lookahead Bias: Errore critico che si verifica quando il sistema usa informazioni non disponibili al momento della decisione. Produce risultati falsamente ottimistici.
Il sistema previene questo errore tramite shift (spostamento temporale): la previsione calcolata al tempo T per il tempo T + horizon viene resa disponibile alla strategia solo al tempo T + horizon.
# Meccanismo di base per la prevenzione del bias
# La previsione calcolata oggi è per il futuro.
# Viene "spostata" in avanti per allinearla al giorno a cui si riferisce.
df['forecast'] = df['forecast'].shift(horizon)Interpretazione del Grafico

Il grafico [IMG-202] mostra il risultato dopo l’allineamento temporale:
- Banda superiore del forecast
- Banda inferiore del forecast
Le bande appaiono visivamente in ritardo (lagging) rispetto al prezzo. Questo è intenzionale e corretto. È la prova visiva che la strategia non sta usando informazione futura. In un punto T del grafico, le bande mostrano la previsione che era stata generata N giorni prima per il giorno T.
Parametri delle Bande Forecast (Configurabili)
Per offrire la massima flessibilità strategica, l’intervallo di confidenza delle bande del forecast può essere configurato direttamente all’interno della propria strategia. Questo permette di testare logiche di trading basate su diversi livelli di incertezza.
Per specificare l’intervallo desiderato, è sufficiente definire il parametro forecast_confidence_interval nella classe della strategia:
codePython
class MiaStrategia(BaseStrategy):
# Dichiara la dipendenza dal forecast
data_enrichment_providers = ['chronos_forecast']
# Imposta l'intervallo di confidenza per il backtest
# Valori supportati: 50, 80, 90
forecast_confidence_interval = 90 # Usa le bande P5-P95
Valori Disponibili:
- 50: Corrisponde all’Intervallo Interquartile (IQR), P25-P75.
- 80: (Default) L’intervallo standard, P10-P90.
- 90: L’intervallo “estremo”, P5-P95 (supportato solo da modelli come Chronos-2).
Se il parametro forecast_confidence_interval non viene specificato, il sistema utilizzerà 80% come valore di default per garantire la retrocompatibilità e un comportamento prevedibile.
Logiche Operative
Conferma Predittiva:
// Strategia ibrida: Trend-following + Forecast
CONDIZIONE ACQUISTO:
- Prezzo > Media Mobile (50)
- E Forecast(+5 giorni) > Prezzo corrente
Stop Loss/Take Profit Dinamici:
// Lo stop si adatta all'incertezza prevista
STOP LOSS = Banda Inferiore Forecast
TAKE PROFIT = Banda Superiore Forecast
Filtro per Falsi Segnali:
// Evita entrate contro la previsione
SE MACD genera segnale 'BUY'
MA Forecast(+5 giorni) < Prezzo corrente
→ IGNORA segnale MACD
Validazione della Strategia
Confrontare sempre due backtest:
- Baseline: Strategia senza forecast.
- Forecast-enhanced: Stessa logica con l’aggiunta del forecast come filtro o conferma.
L’integrazione del forecast deve produrre un miglioramento significativo di metriche come Sharpe Ratio, Profit Factor o Win Rate per essere considerata valida.
💡 Principio di parsimonia: Iniziare con una logica semplice (es. un indicatore + forecast). Aggiungere complessità solo se la versione base mostra un miglioramento.
4. Confronto Strumenti
| Caratteristica | Forecast Lab (Model Backtester) | Backtest con Forecast |
|---|---|---|
| Scopo | Diagnostica del modello | Esecuzione della strategia |
| Output | Metriche di errore (DA, MAE, RMSE) | Metriche di trading (P&L, Sharpe) |
| Grafico | Multiple previsioni future, non allineate | Singola serie di bande passate, allineate (shiftate) |
| Domanda | ”Il modello è affidabile?" | "Il modello migliora i profitti?” |
| Sequenza | Step 1 (Validazione) | Step 2 (Integrazione) |
Workflow Operativo
1. Forecast Lab
↓ (Valida modello su titolo/orizzonte)
2. Identifica parametri ottimali
↓ (DA > 52% e orizzonte migliore)
3. Progetta strategia
↓ (Integra forecast nella logica)
4. Backtest strategia
↓ (Verifica miglioramento performance vs. baseline)
5. Ottimizzazione parametri
6. Paper Trading / Forward Test
7. Deploy
5. I Modelli di Forecasting in FIRE
FIRE integra un arsenale di modelli di forecasting, ciascuno con una filosofia e un’applicazione operativa differente. La scelta del modello dipende dall’obiettivo dell’analisi.
5.1. TimesFM (Precision Focus)
- Tipo: Foundation Model basato su Transformer (Google).
- Caratteristica Chiave: Addestrato su un’enorme quantità di serie storiche (100 miliardi di punti). Eccelle nel catturare pattern complessi e stagionalità a diverse scale.
- Output: Fornisce previsioni a quantili, ma l’accuratezza sull’intervallo IQR 50% è un’approssimazione (P30-P70). Non supporta l’intervallo “Extreme 90%“.
- Uso Consigliato: Analisi di precisione sul valore del prezzo. Utile per definire target di prezzo o stop loss basati su livelli specifici.
- Limiti: Puramente univariato (analizza solo la serie del prezzo, senza considerare dati esterni come i volumi).
5.2. Chronos-2 (Universal Model)
- Tipo: Foundation Model basato su Transformer (Amazon).
- Caratteristica Chiave: Architettura universale “zero-shot” che supporta nativamente forecasting univariato, multivariato e con covariate. È il modello più flessibile e potente disponibile in FIRE.
- Output: Fornisce previsioni a quantili esatti su richiesta. È l’unico modello che supporta l’intervallo “Extreme 90%” (P5-P95).
- Uso Consigliato: Forecasting a tutto tondo, specialmente quando si desidera la massima precisione sui livelli di incertezza o si pianifica di integrare dati esterni (covariate) in futuro.
- Limiti: Leggermente più esigente in termini di risorse hardware rispetto agli altri modelli.
5.3. Prophet (Trend & Direction)
- Tipo: Modello statistico additivo (Facebook/Meta).
- Caratteristica Chiave: Eccelle nello scomporre una serie storica nelle sue componenti fondamentali: trend, stagionalità e festività. È molto robusto alla presenza di dati mancanti e outlier.
- Output: Fornisce un singolo intervallo di confidenza (impostato all’80% in FIRE), non quantili multipli. La sua forza non è la precisione del singolo valore, ma l’identificazione della direzione e della struttura del trend.
- Uso Consigliato: Analisi esplorativa del trend a medio-lungo termine. Ideale per rispondere a domande come: “Il trend di fondo è ancora rialzista?”, “Qual è la stagionalità tipica di questo strumento?“.
- Limiti: Meno preciso sui movimenti di prezzo a breve termine rispetto ai modelli Transformer.
📖 Approfondimenti: Compendio > Metodologia di Trading > Backtesting e Validazione