Cerca nella documentazione⌘K
Glossario
Intermedio
ENIT

Walk-forward replay

AGGIORNATA 2026-08-02

Il walk-forward replay è il modo in cui un backtest attraversa lo storico: in avanti, un passo alla volta, in ordine cronologico rigoroso, con ogni decisione simulata che usa solo le informazioni esistenti a quella data e mai nulla di successivo. La simulazione occupa una posizione nel tempo — un cursore — e a ogni passo può leggere il passato e il presente ma non il futuro, perché dal punto di vista del cursore il futuro non è ancora accaduto. È questa la difesa strutturale contro il look-ahead bias: una decisione datata 2015 non può attingere a dati del 2016, non perché una regola lo vieti ma perché la riproduzione non è ancora arrivata al 2016.

Detto anche: riproduzione walk-forward, riproduzione cronologica, riproduzione point-in-time

Perché riprodurre in avanti evita il look-ahead bias?

Riprodurre in avanti toglie il look-ahead dal calcolo rendendo i dati futuri non disponibili invece che soltanto vietati. La distinzione conta, perché il look-ahead bias non è quasi mai deliberato: si insinua quando un valore che porta una data successiva viene associato a una precedente, e un test che ha in mano tutto lo storico contemporaneamente non ha modo di accorgersene.

Formalmente il vincolo è che la decisione a ciascuna data sia funzione delle sole informazioni di quella data:

wt=f(Ft)w_t = f(\mathcal{F}_t)

dove wtw_t sono i pesi obiettivo che la strategia detiene alla data tt, ff sono le regole della strategia e Ft\mathcal{F}_t è l'insieme informativo disponibile fino a tt incluso: prezzi già battuti, comunicazioni già pubblicate, indicatori calcolabili da entrambi. Un test la cui decisione in tt usa una qualsiasi parte di Ft+k\mathcal{F}_{t+k} con k>0k > 0 soffre di look-ahead bias, per piccola che sia la fuga. Il walk-forward replay impone il vincolo per costruzione: al passo tt nulla di successivo a tt è stato letto.

Cosa avviene a ogni passo della riproduzione?

Ogni passo è la stessa sequenza di quattro operazioni, ripetuta per ogni data del periodo:

  1. Avanza il cursore alla data successiva del periodo.
  2. Leggi ciò che è conoscibile a quella data: i prezzi e i dati riportati già disponibili in quel momento.
  3. Applica le regole a quelle informazioni: deriva i pesi obiettivo, verifica le condizioni di uscita, stabilisci se questa data è una data di ribilanciamento.
  4. Registra l'esito: le posizioni risultanti, le operazioni e il valore del portafoglio, che diventa un punto della curva.

Poi il cursore prosegue, portandosi dietro le posizioni appena registrate e nient'altro. Poiché il passo 2 precede sempre il passo 3, le informazioni usate da una decisione sono fissate prima che la decisione venga presa; e poiché il passo 4 solo scrive, nessuna data successiva può tornare indietro su una precedente.

Esempio pratico: il cursore su una data di ribilanciamento

Una strategia ribilancia ogni mese, e il cursore della riproduzione arriva alla chiusura del 28 febbraio 2018.

A quel passo la riproduzione
può leggereogni prezzo battuto fino alla chiusura del 28 febbraio inclusa; ogni comunicazione societaria pubblicata entro il 28 febbraio; qualunque indicatore calcolabile da questi
non può leggereil prezzo del 1° marzo; una comunicazione datata 20 marzo che descrive il trimestre chiuso il 31 dicembre; nulla del 2019

Da queste informazioni deriva i pesi obiettivo del mese. Le operazioni di ribilanciamento che ne derivano sono modellate per eseguire all'apertura del primo giorno di negoziazione successivo alla data di ribilanciamento: la decisione è quindi presa sulla chiusura del 28 febbraio e l'esecuzione avviene all'apertura del 1° marzo, a un prezzo che la decisione non conosceva. Vedi orario esecuzione per quale prezzo della barra viene registrato.

Il cursore avanza poi al 1° marzo e ripete. Quando arriva a dicembre 2018 non sa ancora nulla del 2019, anche se l'esecuzione nel suo insieme proseguirà fino al presente: la strategia incontra ogni anno per la prima volta, in ordine, esattamente una volta.

In cosa differisce il walk-forward replay dall'ottimizzazione walk-forward?

Sono due cose diverse che condividono un nome, e confonderle è comune:

  • Il walk-forward replay è il modo in cui una singola simulazione attraversa il tempo. Non si scelgono parametri e non si stima nulla: le regole sono fissate prima dell'esecuzione e applicate a ogni passo. Ogni backtest onesto è un walk-forward replay.
  • L'ottimizzazione walk-forward — detta anche analisi walk-forward — è una procedura di ricerca che stima ripetutamente i parametri di una strategia su una finestra di storico e poi li verifica sulla finestra immediatamente successiva, facendo scorrere avanti entrambe. Contiene la riproduzione, ma le aggiunge sopra la stima dei parametri.

Le due rispondono a domande diverse. Una riproduzione risponde a "cosa avrebbero fatto queste regole?"; l'ottimizzazione walk-forward risponde a "dei parametri scelti sul passato avrebbero tenuto nel periodo successivo?". Un backtest di Fincanva è il primo caso: riproduce le regole che hai indicato e non calibra né ottimizza i tuoi parametri sul passato, quindi il risultato riflette le tue regole e non un adattamento allo storico su cui sono girate.

Come si comporta in Fincanva

  • Un backtest riproduce le tue regole in ordine cronologico, dal primo anno consentito dagli strumenti che hai scelto fino all'ultima chiusura di mercato disponibile, mai oltre.
  • Il punto di arrivo segue i dati più recenti e non la data di calendario di oggi, e i risultati si aggiornano ogni giorno quando arrivano nuovi dati di mercato: il traguardo del cursore avanza insieme ai dati.
  • Le operazioni di ribilanciamento sono modellate per eseguire all'apertura del primo giorno di negoziazione successivo alla data di ribilanciamento, il che tiene distinte la data della decisione e quella dell'esecuzione.
  • Le regole riprodotte sono quelle che hai indicato: Fincanva non calibra né ottimizza i tuoi parametri per adattarli al passato.
  • L'analisi di uno screener ricentra ogni corrispondenza sulla propria data di selezione anziché sul calendario — vedi percorso in tempo-evento — che è un allineamento diverso degli stessi dati letti solo in avanti, non un'eccezione a questo principio.

Da cosa non ti protegge il walk-forward replay?

Il walk-forward replay sistema quando un'informazione raggiunge una decisione. Non fa nulla riguardo a cosa hai testato, quante volte l'hai testato o come leggi la risposta:

Ancora possibile dopo una riproduzione pulitaPerché la riproduzione non lo tocca
Selection biasgli strumenti e il periodo li hai scelti tu; la riproduzione rispetta fedelmente quella scelta
Cherry-picking biasla riproduzione produce il risultato completo; quale parte venga citata avviene dopo
Confirmation biasla riproduzione riporta; la lettura è tua
Cost-ignoring biasuna riproduzione ordinata correttamente di un mondo senza costi resta senza costi
Data-quality biasriprodurre numeri sbagliati nell'ordine giusto dà comunque una risposta sbagliata

Un backtest può quindi essere del tutto privo di look-ahead bias e restare fuorviante: per questo la riproduzione è una soglia minima, non una garanzia. Vedi Come funziona il backtesting per l'esecuzione in dettaglio e I nove bias che Fincanva ti aiuta a evitare per il comportamento del prodotto nel suo contesto.

I backtest mostrano cosa sarebbe successo — non cosa succederà. Fincanva non fornisce consulenza finanziaria — vedi È una consulenza finanziaria?.

Dove si usa questo termine

Generato · 1 pagine

Le pagine che fanno riferimento a questo termine — così una pagina di glossario è un punto di passaggio, non un punto d’arrivo.

Fincanva non fornisce consulenza finanziaria. I backtest mostrano cosa sarebbe successo — non cosa succederà.

GLOSSARY · 193 TERMS