SCIENTIFIC-REPORT-FORECAST-LAB.md
1. Abstract
Il Forecast Lab non è un generatore di segnali di trading “chiavi in mano”, ma un ambiente di validazione probabilistica. La sua funzione primaria è rispondere alla domanda: “Quanto è affidabile questo modello matematico nel prevedere il comportamento futuro di questo specifico asset finanziario?”
In un contesto di mercato non stazionario, l’approccio deterministico (“Il prezzo sarà X”) è destinato a fallire. FIRE adotta un approccio probabilistico (“C’è una probabilità Y che il prezzo sia nell’intervallo Z”), promuovendo una simbiosi uomo-macchina:
- L’AI (Artificial Intelligence) calcola le distribuzioni di probabilità basandosi su pattern storici complessi.
- Il Trader (Umano) interpreta queste probabilità per gestire il rischio e dimensionare la posizione.
2. Fondamenti Teorici
2.1. Foundation Models per Serie Temporali
L’approccio tradizionale al forecasting (ARIMA, GARCH) si basa su modelli statistici che richiedono di essere adattati (“fittati”) su ogni singola serie storica. Questo approccio fatica a catturare dipendenze non lineari e pattern globali complessi.
FIRE integra una nuova generazione di modelli basati su architetture Transformer (simili ai LLM come GPT), noti come Foundation Models per Time Series.
Il Concetto Zero-Shot
Questi modelli (come TimesFM di Google) sono stati pre-addestrati su dataset massivi (miliardi di punti dati reali e sintetici). Hanno “imparato” le leggi universali delle serie temporali (trend, stagionalità, ciclicità, shock). Questo permette l’inferenza Zero-Shot: il modello può prevedere il futuro di una serie che non ha mai visto prima, senza bisogno di un costoso ri-addestramento locale.
2.2. I Modelli in FIRE
| Modello | Sviluppatore | Architettura | Filosofia |
|---|---|---|---|
| TimesFM | Google Research | Transformer Decoder-Only | Precision Focus. Addestrato per minimizzare l’errore puntuale e fornire quantili accurati. Ottimo per trend following. |
| Chronos | Amazon | T5 (Language Model) | Probabilistic Tokenization. Tratta i valori della time series come “token” di un linguaggio. Eccelle nel catturare distribuzioni multimodali. |
| Prophet | Meta (Facebook) | Additive Regression | Decomposition. Scompone la serie in Trend + Stagionalità + Festività. Robusto, interpretabile, ma meno potente sui pattern non lineari. |
2.3. Le Metriche di Validazione
Per giudicare un modello, non basta “guardare il grafico”. Servono metriche oggettive.
RMSE (Root Mean Squared Error)
- Significato: Misura la “distanza” media tra la previsione e la realtà, penalizzando gravemente i grandi errori (grazie al quadrato). È espresso nella stessa unità di misura del prezzo (es. Euro).
- Interpretazione: Più è basso, meglio è. Va sempre confrontato con la volatilità dell’asset (es. ATR). Un RMSE di 0.50€ su un titolo da 100€ è eccellente; su un titolo da 1€ è disastroso.
MAE (Mean Absolute Error)
- Significato: È l’errore medio assoluto. A differenza dell’RMSE, tratta tutti gli errori allo stesso modo, senza “esplodere” in presenza di outlier.
- Interpretazione: È più intuitivo dell’RMSE (“In media sbaglio di X euro”).
- Confronto RMSE vs MAE: Se RMSE è molto più alto del MAE, significa che il modello fa pochi errori ma molto grandi (cigni neri, crash). Se sono vicini, gli errori sono costanti e prevedibili.
Directional Accuracy (DA)
Misura la capacità del modello di prevedere il “segno” del movimento futuro, indipendentemente dall’intensità.
In FIRE distinguiamo due tipologie di DA, fondamentali per diversi stili di trading:
-
Trend Accuracy (vs Start):
- Domanda: “Tra giorni, il prezzo sarà più alto o più basso di oggi?”
- Utilità: Fondamentale per strategie Swing Trading e Trend Following. Misura se il modello ha capito la destinazione finale.
-
Path Accuracy (Step-by-Step):
- Domanda: “Domani il prezzo salirà o scenderà rispetto a ieri?” (Calcolato su ogni passo della previsione).
- Utilità: Misura se il modello cattura la micro-struttura e la volatilità giornaliera. Spesso è vicina al 50% (random), indicando che il percorso esatto è rumore, anche se il trend è corretto.
Soglie di Riferimento:
- > 55%: Edge statistico significativo (il banco perde).
- 50% - 55%: Zona grigia. Il segnale è debole e richiede conferme esterne.
- 45% - 50%: Rumore (Random Walk). Non tradabile.
- < 45%: Anti-Persistenza. Il modello sbaglia sistematicamente. Paradossalmente utile come segnale Contrarian (fai l’opposto di ciò che dice).
3. Integrità dei Dati
L’affidabilità di un backtest dipende interamente dalla qualità e dalla quantità dei dati storici utilizzati. FIRE implementa un rigoroso principio di Sovranità dei Dati per evitare l’errore più comune del trading quantitativo: l’overfitting su un ciclo di mercato recente.
3.1. Zoom Visivo vs Dati di Calcolo
Un trader spesso zooma il grafico sugli ultimi 2-3 anni per analizzare il trend corrente. Tuttavia, calcolare le metriche di un modello AI solo su questo periodo (“Bull Market”) restituirebbe risultati falsati e ottimistici (es. Accuracy 80%).
Per garantire robustezza, FIRE distingue due modalità:
-
Modalità Toolbar (Zoom): L’analisi utilizza solo i dati visibili nell’intervallo selezionato dall’utente (es. 2023-2025). Utile per check rapidi sul regime attuale.
-
Modalità Full History (Consigliata): L’analisi forza il caricamento di tutto lo storico disponibile (dal 1980 in poi). Questo espone il modello a diverse condizioni di mercato (crisi 2008, 2020, laterali), fornendo una metrica di affidabilità reale (es. 60%).
3.2. Il Problema dell’Epoch (Nota Tecnica)
I sistemi operativi moderni (in particolare Windows) utilizzano lo standard Unix Epoch che inizia il 1 Gennaio 1970. I tentativi di processare timestamp precedenti a questa data possono causare errori di sistema (OverflowError).
Per questo motivo, la modalità “Full History” di FIRE imposta automaticamente il limite di caricamento al 01/01/1980, garantendo la massima profondità storica senza rischi di instabilità.
4. Guida Operativa
4.1. Configurazione Globale: La Sovranità della Toolbar
In FIRE, la data impostata nella Toolbar principale comanda su tutto. Tutti gli strumenti di analisi (Backtester, Optimizer, Live Forecast) utilizzeranno esattamente il periodo temporale che vedi selezionato.
**Il Pulsante MAX Situato nella Toolbar principale, accanto al selettore “From”. È un interruttore di stato (Toggle).
-
Stato ON (Premuto):
- Forza la data di inizio al 01/01/1980.
- Blocca il selettore manuale (feedback visivo).
- Effetto: Garantisce che tutte le analisi successive usino la massima storia disponibile per la massima robustezza statistica.
-
Stato OFF (Rilasciato):
- Sblocca il selettore manuale.
- Effetto: Permette di definire un periodo custom (es. “Dal 2022”). Utile per analizzare il comportamento del modello in specifici regimi di mercato (es. “Solo Bull Market” o “Solo Crisi Covid”).
4.2. Tab 3: Optimizer / Decay Curve
Questo è lo strumento più potente per il “Model Selection”. Risponde alla domanda: “Quale orizzonte temporale devo usare per questo asset?“.
Workflow Operativo:
- Seleziona la tab “Optimizer (Decay Curve)“.
- Configura i Parametri:
- Model: Seleziona il motore AI (es. TimesFM).
- Test Mode:
- Seleziona Trend Accuracy (vs Start) se la tua strategia è di tipo Swing/Position Trading.
- Seleziona Path Accuracy solo se sei interessato alla volatilità intraday.
- Max Horizon: Fino a quanti giorni nel futuro vuoi testare (es. 90 barre).
- Initial Window: Lascia il default 252 (1 anno di trading) per il training iniziale.
- Simulation Step:
- Imposta 5 o 10 per un’analisi granulare e precisa.
- Imposta valori più alti (es. 30) per velocizzare il calcolo su PC lenti.
- Clicca “Generate Decay Curve”.
Lettura del Grafico [IMG-DECAY-CURVE]
Parametri utilizzati:
Serie storica: MAX
Model: TimesFM
Test Mode: Trend Accuracy
Max Horizon: 80 bars
Initial Window: 252 bars
Simulation Step: 10 step
Parametri utilizzati:
Serie storica: MAX
Model: TimesFM
Test Mode: Trend Accuracy
Max Horizon: 80 bars
Initial Window: 252 bars
Simulation Step: 80 step
Parametri utilizzati:
Serie storica: MAX
Model: TimesFM
Test Mode: Trend Accuracy
Max Horizon: 30 bars
Initial Window: 252 bars
Simulation Step: 10 step

Parametri utilizzati: Serie storica: MAX Model: Prophet Test Mode: Trend Accuracy Max Horizon: 30 bars Initial Window: 252 bars Simulation Step: 10 step
Il grafico presenta due curve su scale diverse:
- Linea arancione (Accuracy - Asse Sinistro):
- Rappresenta la probabilità di indovinare la direzione.
- Cerca il “Picco”: Identifica l’orizzonte temporale dove la curva è più alta. Esempio: Se a 10 giorni è al 60% e a 30 giorni scende al 50%, il tuo “sweet spot” operativo è 10 giorni.
- Linea Gialla (RMSE - Asse Destro):
- Rappresenta l’errore di prezzo.
- Tende naturalmente a salire con il tempo. Usala per stimare l’ampiezza dello Stop Loss necessario.
4.3. Tab 1: Live Forecast (Analisi Tattica)
Una volta validato il modello con l’Optimizer, si passa all’azione.
Il Live Forecast proietta il modello nel futuro, a partire dall’ultima candela disponibile.
Elementi Chiave:
- Bande di Incertezza (IQR 50% / Outer 80%):
- L’AI non dà certezze, ma probabilità.
- La banda più scura (50%) indica dove il prezzo ha il 50% di probabilità di trovarsi.
- La banda più chiara (80%) copre gli scenari meno probabili ma possibili.
- Utilizzo: Se il prezzo corrente tocca il bordo inferiore della banda 80% mentre il trend previsto è a rialzo, può essere un’ottima occasione di acquisto “a sconto” (Buy the Dip).
4.4. Tab 2: Model Backtester (Validazione Strategica)
Questo strumento simula il trading nel passato, avanzando nel tempo e facendo previsioni cieche.
Differenza Chiave con l’Optimizer:
- L’Optimizer testa tutti i giorni (sliding window) per costruire una curva statistica.
- Il Backtester simula un’operatività realistica a “salti” (es. Prevedo oggi per tra 30 giorni, poi salto avanti di 30 giorni).
- Nota: Se usate lo stesso intervallo date (MAX) e lo stesso orizzonte, i risultati di Accuracy dovrebbero convergere.
5. Interpretazione Strategica (Casi Studio)
Come trasformare i numeri in decisioni.
Caso A: Il “Trend Sniper”
- Optimizer: La curva Accuracy parte alta (> 55%) e rimane stabile fino a 10-15 giorni.
- RMSE: Basso e stabile.
- Azione: Swing Trading. Apri posizioni nella direzione del forecast con un orizzonte di 2 settimane.
Caso B: Il “Contrarian” (Mean Reverting)
- Optimizer: La curva Accuracy crolla subito sotto il 45% (o anche 40%).
- Significato: Quando il modello dice “Sale”, il mercato scende.
- Azione: Fade the Move. Usa il forecast come segnale inverso. Se prevede un breakout, scommetti sul fakeout.
Caso C: Il “Rumore Bianco”
- Optimizer: La curva Accuracy oscilla attorno al 50% (48%-52%).
- Significato: Il modello non ha nessun vantaggio statistico su questo asset. È un lancio della moneta.
- Azione: Flat. Non usare modelli AI su questo titolo. Usa analisi tecnica classica o cambia asset.
6. Appendice: Snippet Strategici
Esempio di logica per integrare l’analisi nel Trading System (Pseudo-codice).
Strategia “AI Confirmation” codePython
# Conferma il segnale tecnico solo se l'AI è d'accordo
SE (RSI < 30) E (Forecast_Trend == UP):
# Segnale forte: Ipervenduto + AI prevede rialzo
BUY
ALTRIMENTI SE (RSI < 30) E (Forecast_Trend == DOWN):
# Conflitto: Ipervenduto ma AI prevede ribasso (possibile crollo)
WAIT (Niente trade)