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 si basa sull’osservazione dei dati passati—come guidare guardando principalmente lo specchietto retrovisore. Indicatori come le medie mobili o l’RSI ci dicono cosa è già successo, aiutandoci a identificare trend e momentum che si sono manifestati.

FIRE integra questo approccio con una visione frontale: un “parabrezza probabilistico” alimentato da modelli di AI come TimesFM.

Forecasting: Tecnica statistica o basata su AI che stima i valori futuri di una serie storica (come i prezzi di un titolo) basandosi sui suoi valori passati e sui pattern identificati.

Il sistema fornisce un vantaggio statistico (edge) per costruire strategie che combinano analisi del passato con previsioni probabilistiche del futuro.

Due strumenti distinti:

  1. Forecast Lab - Misura l’accuratezza del modello predittivo
  2. Backtest con Forecast - Integra le previsioni nelle strategie operative

2. Forecast Lab: Misurare l’Affidabilità del Modello

Il Forecast Lab valuta oggettivamente quanto un modello (come TimesFM) sia preciso nel prevedere i prezzi di uno strumento finanziario, su un orizzonte temporale definito.

Backtest a Finestra Mobile (Rolling Forecast)

Il sistema simula l’uso del modello nel passato attraverso questi passaggi:

  1. Prende una fetta di storia - Es. i dati del primo anno disponibile
  2. Genera una previsione - Per i prossimi N giorni (es. 10 giorni)
  3. Attende e confronta - Quando quei 10 giorni sono trascorsi, confronta previsione vs prezzi reali, misurando l’errore
  4. Avanza nel tempo - Aggiunge i 10 giorni alla “conoscenza” storica del modello
  5. Ripete - Nuova previsione per i 10 giorni successivi

Questo rolling forecast (previsione a finestra mobile) fa “rotolare” la finestra temporale attraverso l’intera storia disponibile.

Interpretazione del Grafico

Il grafico sovrappone:

  • Linea dei prezzi reali (quello che è accaduto)
  • Tante piccole linee di previsione proiettate nel futuro [IMG-201]

Ogni linea = una previsione generata in un diverso punto del passato.

Questo mostra immediatamente:

  • Dove il modello è stato accurato
  • Dove ha fallito
  • Pattern ricorrenti negli errori (es. sottostima sistematica dei rialzi)

Metriche Chiave

Directional Accuracy (Accuratezza Direzionale) Percentuale di volte in cui il modello prevede correttamente la direzione (salita/discesa).

  • Valore > 50% = vantaggio statistico rispetto al caso
  • Valore > 52-53% = edge potenzialmente sfruttabile
  • Valore < 50% = il modello è peggio del caso

MAE (Mean Absolute Error) Errore medio assoluto in termini di prezzo. Misura quanto si sbaglia in media, in unità di prezzo.

RMSE (Root Mean Square Error) Penalizza maggiormente gli errori grandi. Utile per valutare se il modello genera occasionalmente errori enormi.

Applicazioni Pratiche

Validazione del modello Prima di usare il forecast operativamente, eseguire un test su almeno 6-12 mesi di dati. Se Directional Accuracy < 52%, il modello non ha edge significativo.

Identificazione dell’orizzonte ottimale Testare il modello su orizzonti diversi (3, 5, 10, 20 giorni). TimesFM può essere preciso a 5 giorni ma impreciso a 20 su un dato titolo.

Analisi delle condizioni di failure Identificare quando il modello performa peggio: alta volatilità, trend laterali, eventi di earnings, gap di apertura.

💡 Nota operativa: Non tutti i titoli sono prevedibili allo stesso modo. Titoli ad alta liquidità e bassa volatilità tendono ad avere Directional Accuracy più alta.


3. Backtest con Forecast: Usare le Previsioni nelle Strategie

L’integrazione del forecast nel Backtest delle Strategie permette di scrivere logiche operative che usano i dati previsionali come indicatori.

Prevenzione del Lookahead Bias

Un backtest valido rispetta il tempo: una strategia operante il 15 Gennaio può usare solo informazioni disponibili fino al 14 Gennaio.

Lookahead Bias: Errore critico nel backtesting. Si verifica quando il sistema usa informazioni non disponibili al momento della decisione. Produce risultati falsamente ottimistici irreplicabili nel trading reale.

Il sistema previene questo errore tramite shift (spostamento temporale):

  1. Pre-calcolo - Genera le previsioni per l’intera serie storica
  2. Timestamping - La previsione del 1° Gennaio (per il 10 Gennaio) viene etichettata con quella data di generazione
  3. Allineamento - Al 10 Gennaio, la strategia riceve solo la previsione generata il 1° Gennaio

Interpretazione del Grafico

Il grafico mostra:

  • Banda superiore del forecast (linea continua)
  • Banda inferiore del forecast (linea continua) [IMG-202]

Le bande appaiono “in ritardo” (lagging) rispetto al prezzo corrente. Questo è corretto.

Esempio:

Giorno 10: Prezzo reale = 105
           Banda superiore forecast = 103
           
Il valore 103 è la previsione fatta il Giorno 1 
quando il prezzo era 100.
Il "ritardo" visivo è la garanzia che la strategia
non sta usando informazioni future.

Logiche Operative Tipiche

Strategia ibrida con conferma predittiva

CONDIZIONI DI ACQUISTO:
- Prezzo > Media Mobile 50 giorni
- E Forecast(+5 giorni) > Prezzo corrente

Stop loss dinamico

STOP LOSS = Banda inferiore forecast

Il livello di stop si adatta all’incertezza prevista. In periodi di alta volatilità attesa, lo stop è più largo; in periodi calmi, più stretto.

Filtro per falsi segnali

SE MACD genera segnale di acquisto
  MA Forecast è ribassista
  → IGNORA il segnale

Riduce i falsi positivi filtrando segnali contrari alla direzione prevista.

Validazione della Strategia

Confrontare sempre due versioni:

  1. Baseline - Strategia senza forecast
  2. Forecast-enhanced - Stessa logica + filtro/conferma predittiva

Se l’aggiunta del forecast non migliora significativamente Sharpe Ratio, Profit Factor o Win Rate, il modello non sta aggiungendo valore reale a quella strategia specifica.

💡 Principio di parsimonia: Iniziare con un indicatore + forecast. Aggiungere complessità solo se il test della versione semplice funziona. Strategie troppo complesse sono difficili da diagnosticare.


4. Confronto Strumenti

CaratteristicaForecast LabBacktest della Strategia
ScopoValutare accuratezza del modelloValutare performance della strategia
OutputMetriche di errore predittivoMetriche di trading (P&L, Sharpe, etc.)
GraficoMultiple linee di previsione proiettate [IMG-201]Bande forecast continue con lag [IMG-202]
Domanda”Il modello è accurato?""Il modello migliora i profitti?”
SequenzaPrimo stepSecondo step

Workflow Operativo

1. Forecast Lab
   ↓ Valida modello su titolo/orizzonte
   
2. Identifica parametri ottimali
   ↓ Nota Directional Accuracy > 52% e orizzonte migliore
   
3. Progetta strategia
   ↓ Integra forecast nella logica
   
4. Backtest strategia
   ↓ Verifica miglioramento performance
   
5. Ottimizzazione
   ↓ Aggiusta parametri basandoti sui risultati
   
6. Paper trading
   ↓ Valida in condizioni reali senza capitale
   
7. Deploy

📖 Approfondimenti: Compendio > Metodologia di Trading > Backtesting e Validazione


Immagini Necessarie

  • [IMG-201] - Forecast Lab: grafico con prezzi reali + multiple linee di previsione future
  • [IMG-202] - Backtest: bande forecast (superiore/inferiore) con ritardo visivo rispetto al prezzo

da valutare se inserire ----

2. Le Bande del Backtest sono Collegate alle Opzioni di “Live Forecast”?

No, non lo sono, e questa è una decisione di design intenzionale.

  • Live Forecast: Il suo scopo è la visualizzazione esplorativa. L’utente può voler vedere diversi livelli di incertezza (50%, 80%, 90%) per farsi un’idea della previsione futura. Le checkbox servono a questo.

  • Backtest delle Strategie: Il suo scopo è l’esecuzione rigorosa di una logica di trading. Qui, la strategia ha bisogno di un riferimento stabile e non ambiguo. Abbiamo deciso (nel TimesFMEnrichmentWorker) di calcolare e fornire sempre e solo l’intervallo all’80% (P10 e P90), perché è un buon compromesso tra essere troppo stretto (50%) e troppo largo (90%).

In sintesi: i due strumenti hanno scopi diversi, quindi usano configurazioni diverse. Il “Live Forecast” è per l’analisi umana, il backtest è per l’esecuzione automatica.

3. Differenza di Rappresentazione del Forecast tra “Model Backtester” e “Backtest Strategia”?

Hai notato una differenza fondamentale, ed è un punto cruciale. La differenza dipende da cosa stanno visualizzando:

  1. Model Backtester (in Forecast Lab): Questo strumento visualizza il risultato grezzo del forecasting. Ogni segmento di previsione è una linea retta o curva che parte dall’ultimo dato noto e si proietta nel futuro. Quello che vedi è la “purezza” della previsione del modello ad ogni step. È uno strumento di diagnostica del modello.

  2. Backtest della Strategia (sul grafico principale): Questo strumento visualizza il risultato dopo l’elaborazione fatta dal TimesFMEnrichmentWorker. Ricorda questo pezzo di codice cruciale nel worker:

    codePython

    # Shifta i dati per evitare lookahead bias. 
    # La previsione calcolata al tempo 'i' è per il tempo 'i+horizon'.
    enriched_df['forecast'] = enriched_df['forecast'].shift(self.horizon)
    

    Stiamo spostando in avanti nel tempo ogni previsione per allinearla al punto temporale a cui si riferisce. La previsione fatta oggi per 10 giorni nel futuro viene disegnata sul grafico tra 10 giorni. Questo crea una serie continua di punti di forecast storici che la strategia può usare senza lookahead bias. È uno strumento per il backtesting della strategia.

In sintesi:

  • Il Model Backtester ti mostra tante piccole previsioni future.

  • Il Backtest della Strategia ti mostra una singola linea continua di previsioni passate, correttamente allineate nel tempo.

Risposte eccellenti e domande da vero stratega. Hai colto perfettamente il nucleo concettuale e le sottigliezze del sistema. Le tue interpretazioni sono quasi perfette, e l’esempio pratico che chiedi è il modo migliore per solidificare la comprensione.

Andiamo con ordine.

Conferma delle Tue Interpretazioni

Domanda sul “Model Backtester”: “in un determinato momento genero una previsione, poi i prezzi evolvono nel tempo e, dopo ad esempio 10 periodi, il modello produce una nuova previsione. In questo modo posso confrontare, di volta in volta, ciò che era stato previsto con ciò che è effettivamente accaduto. È corretto?”

Sì, è assolutamente corretto. Hai descritto perfettamente la logica del backtest a finestra mobile (rolling forecast). È esattamente come un test scientifico: fai un’ipotesi (la previsione), osservi l’esperimento (il mercato che avanza) e misuri l’errore (il confronto). Il suo scopo è proprio quello: darti la fiducia (o la sfiducia) nella capacità predittiva del modello.

Domanda sul “Backtest della Strategia” e lo shift: “Quindi, se traccio una linea verticale in un punto del grafico, dovrei vedere: i prezzi reali, la previsione del prezzo superiore e la previsione del prezzo inferiore che erano state generate 10 giorni prima, corretto? E queste previsioni vengono quindi aggiornate giorno per giorno?”

Correttissimo. Entrambe le affermazioni sono esatte.

  1. In un punto T del grafico, la linea del forecast che vedi rappresenta il valore che il modello aveva previsto per il giorno T, basandosi però sulle informazioni disponibili fino al giorno T - 10.
  2. Sì, questo valore viene “aggiornato” (o meglio, calcolato) giorno per giorno. Per il giorno T+1, vedrai la previsione fatta il giorno T - 9, e così via. Questo crea la linea continua che vedi.

L’Esempio Pratico: Vedere la Differenza

Immaginiamo una serie storica molto semplice e un orizzonte di previsione di 2 giorni (horizon=2).

Dati di Prezzo Reali:

  • Giorno 10: 100€
  • Giorno 11: 102€
  • Giorno 12: 101€
  • Giorno 13: 103€
  • Giorno 14: 105€

Caso 1: Il “Model Backtester” (Forecast Lab)

Il suo scopo è valutare il modello.

  • Al Giorno 10: Il modello analizza i dati fino a questo punto e genera una previsione per i prossimi 2 giorni.
    • Prevede per il Giorno 11: 101.5€
    • Prevede per il Giorno 12: 102.5€
  • Sul grafico vedrai: Una piccola linea di previsione che parte dal Giorno 10 e si estende fino al Giorno 12.
  • Al Giorno 12 (dopo 2 step): Il modello ora conosce i prezzi reali fino al Giorno 12 e genera una nuova previsione.
    • Prevede per il Giorno 13: 102.0€
    • Prevede per il Giorno 14: 104.0€
  • Sul grafico vedrai: Una seconda piccola linea di previsione che parte dal Giorno 12 e si estende fino al Giorno 14.

Risultato Visivo: Tante piccole linee di previsione separate, ognuna proiettata nel futuro dal punto in cui è stata calcolata.

Caso 2: Il “Backtest della Strategia” (Grafico Principale)

Il suo scopo è usare la previsione in modo equo.

  • Al Giorno 10: Il sistema calcola la previsione per il futuro.
    • Previsione per il Giorno 12 (+2 giorni): 102.5€.
    • Questo valore viene memorizzato ma non è ancora disponibile per la strategia.
  • Al Giorno 11: Il sistema calcola la previsione per il futuro.
    • Previsione per il Giorno 13 (+2 giorni): 103.5€.
    • Anche questo valore viene memorizzato.
  • Finalmente, al Giorno 12: La strategia avanza a questo giorno. Ora il sistema le dice: “Ehi, 2 giorni fa avevamo previsto che oggi il prezzo sarebbe stato 102.5€. Usa questa informazione se vuoi.”
    • Sul grafico vedrai: Al Giorno 12, un singolo punto sulla linea del forecast con valore 102.5€.
  • Al Giorno 13: La strategia avanza. Il sistema le dice: “2 giorni fa avevamo previsto per oggi il valore 103.5€“.
    • Sul grafico vedrai: Al Giorno 13, un secondo punto sulla linea del forecast con valore 103.5€.

Risultato Visivo: Una singola linea continua di previsioni passate, dove ogni punto è allineato al giorno a cui si riferiva, e che appare “in ritardo” rispetto al prezzo.


Documentazione per l’Utente: Guida al Sistema di Forecasting di FIRE

Ecco la bozza del documento, scritta con il tono di voce che hai richiesto.


Guida al Sistema di Forecasting di FIRE

Benvenuto nella guida al sistema di forecasting di FIRE. In questo documento, esploreremo una delle funzionalità più potenti della nostra piattaforma: la capacità non solo di analizzare il passato, ma di generare e utilizzare previsioni quantitative sul futuro.

Il nostro obiettivo è fornirti una comprensione chiara e pratica di come funzionano questi strumenti, in modo che tu possa sfruttarli al massimo per sviluppare strategie più intelligenti e robuste.

1. La Filosofia: dallo Specchietto Retrovisore al Parabrezza

Tradizionalmente, l’analisi tecnica si basa sull’osservazione dei dati passati, un po’ come guidare guardando principalmente lo specchietto retrovisore. Indicatori come le medie mobili o l’RSI ci dicono cosa è successo, aiutandoci a identificare trend e momentum che si sono già manifestati.

FIRE integra questo approccio con una visione frontale: un “parabrezza probabilistico” alimentato da modelli di Intelligenza Artificiale all’avanguardia come TimesFM.

  • Forecasting (Previsione): È una tecnica statistica o basata su AI per stimare i valori futuri di una serie storica (come i prezzi di un titolo) basandosi sui suoi valori passati.

Il nostro sistema non mira a darti una “sfera di cristallo”, ma a fornirti un vantaggio statistico, un edge, permettendoti di costruire strategie che combinano la saggezza del passato con una visione informata del futuro.

Per fare ciò, FIRE mette a tua disposizione due strumenti distinti ma complementari, ognuno con uno scopo preciso.

2. Strumento 1: Il “Forecast Lab” - Quanto è bravo il nostro navigatore?

Prima di affidarti a un navigatore GPS per un viaggio importante, vorresti sapere se è affidabile. Il “Forecast Lab”, e in particolare la sua sezione Model Backtester, serve esattamente a questo: a misurare l’accuratezza del modello di forecasting.

Scopo Principale

Valutare oggettivamente la performance di un modello (come TimesFM) nel prevedere i prezzi di un determinato strumento finanziario, su un determinato orizzonte temporale.

Come Funziona: Il Backtest a Finestra Mobile (Rolling Forecast)

Lo strumento non fa una sola, grande previsione. Esegue un test rigoroso e scientifico che simula come avresti usato il modello nel passato:

  1. Prende una fetta di storia (es. i dati del primo anno).
  2. Genera una previsione per il periodo successivo (es. i prossimi 10 giorni).
  3. Attende che quei 10 giorni passino e confronta la previsione con i prezzi reali, misurando l’errore.
  4. Avanza nel tempo, aggiunge i 10 giorni appena trascorsi alla sua “conoscenza” storica e ripete il ciclo, generando una nuova previsione.

Cosa Vedi sul Grafico

Il risultato è un grafico che sovrappone la linea dei prezzi reali a tante piccole linee di previsione future. Ogni linea rappresenta un’ipotesi fatta dal modello in un diverso punto del passato. Questo ti permette di vedere a colpo d’occhio dove il modello è stato accurato e dove ha faticato.

A Cosa Serve (Applicazione Pratica)

  • Costruire Fiducia: Per capire se un modello è statisticamente migliore di un lancio di moneta (usando la metrica Directional Accuracy).
  • Trovare l’Orizzonte Migliore: Per scoprire se TimesFM è più bravo a prevedere a 3, 5 o 20 giorni per il tuo titolo preferito.
  • Capire i Limiti: Per vedere se il modello performa peggio in condizioni di alta volatilità o di mercato laterale.

3. Strumento 2: Strategie Predittive - Usare il navigatore per guidare

Una volta che hai fiducia nel tuo “navigatore”, è il momento di usarlo per prendere decisioni. Questo è lo scopo dell’integrazione del forecast all’interno del Backtest delle Strategie.

Scopo Principale

Permetterti di scrivere strategie di trading che utilizzino i dati di forecast come un nuovo tipo di indicatore, per prendere decisioni di acquisto e vendita.

Come Funziona: Il Rispetto del Tempo (Prevenzione del “Lookahead Bias”)

Un backtest, per essere valido, deve essere equo. Una strategia che opera in un certo giorno può usare solo le informazioni disponibili fino a quel giorno. Non può “sbirciare” nel futuro.

  • Lookahead Bias: È l’errore più comune e grave nel backtesting. Si verifica quando il sistema di test usa, anche involontariamente, informazioni che non sarebbero state disponibili al momento della decisione.

Per prevenire questo errore, il nostro sistema esegue un’operazione fondamentale chiamata shift (spostamento):

  1. Il sistema pre-calcola le previsioni per l’intera serie storica.
  2. La previsione fatta il 1° Gennaio per il 10 Gennaio viene “salvata”.
  3. Quando la tua strategia arriva al 10 Gennaio, il sistema le rende disponibile quel valore previsto.

Cosa Vedi sul Grafico

Il risultato di questo processo è una singola linea continua per la banda superiore e una per quella inferiore del forecast. Queste linee sembreranno “in ritardo” (lagging) rispetto al prezzo, e questo è normale e corretto. Quel ritardo è la prova visiva che la strategia sta usando solo informazioni valide e non sta barando.

A Cosa Serve (Applicazione Pratica)

  • Costruire Strategie Ibride: Puoi combinare un segnale classico con una conferma predittiva. Esempio: “Compra se il prezzo è sopra la media mobile A CONDIZIONE CHE anche il forecast sia rialzista”.
  • Creare Stop Loss Dinamici: Invece di un valore fisso, puoi usare la banda inferiore del forecast come uno stop loss che si adatta all’incertezza prevista dal modello.
  • Validare la Tua Logica: Eseguendo un backtest, puoi vedere se l’uso delle previsioni ha effettivamente migliorato la performance della tua strategia.

Riepilogo: Due Strumenti per Due Domande Diverse

CaratteristicaForecast Lab (Model Backtester)Backtest della Strategia
ScopoValutare l’accuratezza del modelloValutare la performance di una strategia di trading
Come FunzionaEsegue tante previsioni future e le confronta con i dati realiFornisce alla strategia previsioni passate, allineate nel tempo (shiftate)
Cosa VediTante piccole linee di previsione proiettate nel futuroDue linee continue (le bande) che seguono il prezzo con un ritardo
Domanda a Cui Risponde”Il mio modello è un buon ‘navigatore’?""Usare questo ‘navigatore’ mi aiuta a guidare meglio (fare profitti)?”