22 Agosto 2026 · ricerca

Perché gli ordini aperti del backtest hanno bisogno di un orologio

Perché gli ordini aperti del backtest hanno bisogno di un orologio

Una strategia invia un ordine limit alle 10:00. Il segnale cambia alle 10:03. Il backtest sostituisce silenziosamente l'ordine alle 10:04, poi registra un'esecuzione alle 10:05. Nel paper trading, l'ordine originale potrebbe essere ancora in attesa presso la venue. Se viene eseguito mentre anche il nuovo ordine è attivo, la strategia si ritrova con 2 ordini e un modello di posizione che finge che ce ne fosse uno solo.

Gli ordini aperti hanno bisogno di uno stato e di un orologio propri. Un backtest dovrebbe sapere quando è stato inviato ogni ordine, quando può essere cancellato, se la cancellazione è arrivata alla venue e cosa succede se un'esecuzione avviene mentre la cancellazione è in corso. Tre scorciatoie cancellano spesso queste informazioni.

Errore 1: trattare un nuovo segnale come una cancellazione istantanea

Molti backtest ricalcolano la posizione obiettivo a ogni barra, poi sovrascrivono l'ordine in attesa con quello richiesto dal segnale più recente. Così l'ordine scompare nel preciso istante in cui la strategia cambia idea. Le venue reali non funzionano così. Una richiesta di cancellazione richiede tempo e l'ordine può essere eseguito prima che la venue la elabori.

Consideriamo un ordine buy limit per 100 azioni a $50.00. Alle 10:03 il segnale si indebolisce, quindi la strategia invia una richiesta di cancellazione. Alle 10:03:00.080 l'ordine viene eseguito per 60 azioni; la cancellazione viene confermata alle 10:03:00.110. Le 40 azioni restanti vengono cancellate, ma la posizione ora include 60 azioni. Un backtest basato su barre che elimina l'ordine alle 10:03 potrebbe riportare zero. Uno che presume una cancellazione immediata e registra comunque un'esecuzione successiva inventa un'esposizione nella direzione opposta.

Traccia esplicitamente il ciclo di vita dell'ordine: inviato, confermato, eseguito parzialmente, cancellazione in attesa, cancellato o eseguito interamente. Conserva le esecuzioni avvenute prima della conferma della cancellazione. In una simulazione a barre grossolane, scegli e dichiara una regola di ordinamento prudenziale quando entrambi gli eventi potrebbero verificarsi nella stessa barra.

Errore 2: dare a un ordine in attesa una durata illimitata

Un ordine limit definito sulla base di un segnale delle 10:00 può diventare obsoleto anche se il segnale non prevede una regola di uscita esplicita. Il book si muove, la volatilità cambia e il valore di mercato dello strumento può variare. Eppure, un simulatore che lascia attivo l'ordine finché non viene eseguito potrebbe registrare un'esecuzione mesi dopo e attribuirla a una tesi che non esiste più.

Definisci una policy di time-in-force coerente con la strategia. Un segnale a 1 minuto potrebbe usare una scadenza di 30 secondi; un ribilanciamento giornaliero potrebbe mantenere l'ordine attivo fino alla chiusura. Sono scelte strategiche, non impostazioni predefinite valide per tutti. Se la strategia ricalcola il prezzo a ogni barra, modella la sequenza di cancellazione e sostituzione invece di teletrasportare magicamente l'ordine al nuovo prezzo.

Policy dell'ordineUso tipicoDomanda per il backtest
Immediato o cancellaEsegui la liquidità disponibile, poi fermatiQuale quantità poteva essere eseguita al momento dell'invio?
Scadenza breveSegnale rapido con una finestra di esecuzione breveL'ordine era ancora valido quando il prezzo è tornato?
Fino alla fine della sessioneRibilanciamento lento o intenzione di partecipare all'asta di chiusuraLa venue supporta davvero una durata simile?

Errore 3: considerare ogni tocco del prezzo un'esecuzione

Se il minimo di una candela raggiunge un buy limit, l'ordine non è necessariamente stato eseguito. Potrebbe esserci stata una coda davanti, un volume scambiato esiguo a quel prezzo o una transazione fugace avvenuta prima che arrivasse l'ordine. Un modello obsoleto degli ordini spesso somma tutti e 3 gli errori: mantiene l'ordine attivo troppo a lungo, presume che fosse il primo in coda e poi assegna un'esecuzione completa al semplice tocco del prezzo.

Come minimo, impedisci le esecuzioni prima dell'arrivo dell'ordine e limita la quantità simulata a un volume scambiato plausibile al prezzo limite. Per le strategie in cui la posizione in coda conta, usa dati di transazioni e book ordini oppure un modello di coda deliberatamente prudenziale. Un'esecuzione basata sul tocco del prezzo può comunque essere utile per uno screening approssimativo, ma presentala come un'approssimazione ottimistica e confrontala con un'ipotesi più severa.

Un controllo pratico: registra per ogni ordine l'ora di creazione, la finestra di attività, la richiesta e la conferma di cancellazione, l'ora di esecuzione, la quantità eseguita e quella residua. Poi riproduci alcune operazioni nei momenti in cui i segnali si invertono. Se non riesci a spiegare perché ogni ordine fosse ancora attivo al momento dell'esecuzione, il conteggio delle esecuzioni del backtest va rivisto.

Modella l'ordine che intendi testare in paper trading

Lo stato dell'ordine collega l'intenzione della strategia alla sua esposizione effettiva. La posizione deve cambiare in seguito alle esecuzioni, non ai target del segnale o alle richieste di cancellazione. Le sostituzioni devono lasciare una traccia verificabile e le esecuzioni parziali devono essere mantenute fino alla decisione successiva. Questo rende il backtest più laborioso, ma dà significato al confronto con il paper trading: i due sistemi possono divergere nell'esecuzione per ragioni identificabili.

Quando il modello degli ordini è incerto, mantieni visibile quell'incertezza nei risultati. Prova ordini di breve e lunga durata, varia il ritardo di cancellazione e mostra quanto le prestazioni dipendano da ipotesi ottimistiche sulla coda. La strategia potrebbe essere valida. Ma il suo apparente vantaggio potrebbe anche derivare dagli interessi maturati su un ordine che il sistema reale avrebbe cancellato ore prima.

gestione degli ordinibacktestingesecuzionepaper trading
← Tutti gli articoli