Un backtest può eseguire il tuo ordine limite anche quando non c’era alcuna opportunità effettivamente negoziabile. Se il minimo di una candela è sceso sotto il tuo limite d’acquisto, molti motori registrano un’esecuzione. Ma il minimo indica soltanto che almeno un’operazione segnalata è avvenuta a quel prezzo o a un prezzo inferiore. Non dice quanto è stato scambiato, quanta quantità era in coda davanti a te o se il tuo ordine era già attivo in tempo.
La distinzione è fondamentale soprattutto quando il vantaggio della strategia dipende da frequenti esecuzioni passive. Un modello che considera ogni tocco del prezzo come un’esecuzione completa può trasformare un ingresso paziente in una fonte immaginaria di alpha.
Se una candela tocca il mio prezzo limite, significa che il mio ordine è stato eseguito?
No. Significa che l’intervallo di prezzi registrato dalla candela comprendeva il tuo limite. La possibilità che il tuo ordine venga eseguito dipende dal book degli ordini, dal flusso delle negoziazioni, dalla tua posizione in coda e dal momento in cui è arrivato l’ordine.
Immagina un limite d’acquisto a $100.00. La candela apre a $100.20, raggiunge un minimo di $99.98 e chiude a $100.10. Potrebbe essere stata registrata un’operazione a due centesimi sotto il tuo prezzo, ma se a $100.00 c’era una lunga coda davanti a te e lì è stata scambiata solo una piccola quantità, il tuo ordine potrebbe restare ineseguito. Con i soli dati OHLCV, non puoi vedere quella coda.
C’è un’altra complicazione: una candela aggrega eventi avvenuti nel tempo. Se il tuo segnale viene calcolato sulla chiusura della candela, non puoi presumere che il tuo ordine fosse già in attesa all’inizio della candela, quando si è verificato il minimo. La candela comprime proprio la sequenza di eventi che servirebbe per rispondere.
Che cosa mi possono dire davvero i dati OHLCV sull’esecuzione di un ordine limite?
I dati OHLCV possono escludere alcune esecuzioni e rendere plausibili le altre. Non possono stabilire la priorità in coda né garantire la quantità disponibile per il tuo ordine.
| Osservazione | Che cosa indica | Che cosa non dimostra |
|---|---|---|
| Il minimo della candela è rimasto sopra il limite d’acquisto | Durante quella candela nessuna operazione segnalata ha raggiunto il prezzo | Che l’ordine sarebbe stato eseguito |
| Il minimo della candela ha toccato il limite d’acquisto | Il prezzo è stato registrato al livello del limite | Che sia stata scambiata una quantità qualsiasi dopo l’arrivo del tuo ordine |
| Il minimo della candela è sceso sotto il limite d’acquisto | Sono avvenute operazioni a quel prezzo o a un prezzo inferiore | Che sia stata raggiunta una quantità sufficiente per arrivare alla tua posizione in coda |
| Il volume totale della candela ha superato la quantità del tuo ordine | Nel corso della candela il mercato ha scambiato almeno quella quantità | Che il volume sia stato scambiato al tuo prezzo e dopo l’arrivo dell’ordine |
Un motore basato su candele deve quindi adottare un’ipotesi di esecuzione. Considerala un modello con un punto cieco noto, non un fatto ricavato dalla candela.
Come dovrei modellare le esecuzioni degli ordini limite in un backtest?
Parti dalla tempistica dell’ordine. Stabilisci quando il segnale diventa disponibile, quando l’ordine raggiunge la piattaforma e quali eventi di mercato successivi possono interagire con esso. Se il segnale è noto alla chiusura della candela, una regola prudente per un modello basato su candele consiste nel rendere l’ordine idoneo all’esecuzione a partire dalla candela successiva.
Poi separa l’idoneità del prezzo dalla quantità eseguita. Il fatto che un limite diventi idoneo all’esecuzione non significa che l’intero ordine venga eseguito. Se hai i dati delle operazioni ma non la cronologia del book, puoi richiedere che il volume scambiato al limite o a un prezzo migliore superi un multiplo della quantità del tuo ordine. Quel multiplo è un margine approssimativo per la coda, non una costante universale. Prova diversi valori e riporta come cambia il risultato.
Per esempio, supponiamo che la strategia invii un ordine limite d’acquisto di 2 BTC e che, dopo che l’ordine è diventato idoneo, al prezzo scelto vengano scambiati 3 BTC. Un modello che richiede 5 BTC di volume idoneo lascerebbe l’ordine ineseguito; un modello con un multiplo di volume pari a 1.0 lo eseguirebbe. Nessuno dei due risultati ricostruisce la coda. Il confronto mostra quanto la strategia dipenda da un’ipotesi che non puoi osservare.
Mantieni nel modello gli ordini ineseguiti. Annullali quando la strategia li annullerebbe e lascia che le operazioni perse restino perse. Se assegni un’esecuzione ogni volta che il limite viene toccato, ignorando gli ordini che scadono senza essere eseguiti, alteri sia l’esecuzione sia il conteggio delle opportunità.
Quando mi servono i dati del book degli ordini?
Usa gli aggiornamenti del book e le operazioni quando la posizione in coda o le esecuzioni parziali sono centrali per la strategia: market making, quotazioni passive di breve durata o ingressi che dipendono dall’essere vicino alla testa di un livello di prezzo affollato. Anche in questi casi, i dati storici pubblici potrebbero non rivelare la tua posizione esatta in coda. Devi modellare l’arrivo dell’ordine, gli annullamenti che avvengono davanti a te, le regole di abbinamento e il tuo impatto sul mercato.
Per le strategie più lente, i book dettagliati possono aggiungere complessità senza risolvere l’incertezza principale. Uno studio basato su candele può comunque confrontare un limite superiore con esecuzione a ogni tocco e scenari più rigorosi, vincolati al volume. Se il vantaggio apparente scompare appena richiedi esecuzioni plausibili, è un’informazione utile per la ricerca.
Come faccio a capire se il mio risultato dipende da esecuzioni ottimistiche?
Esegui la stessa strategia con un piccolo insieme di regole di esecuzione esplicite e confronta più del solo rendimento finale. Monitora il numero di ordini eseguiti, il tasso di esecuzioni parziali, il tempo in attesa, la quantità annullata, i movimenti persi dopo le mancate esecuzioni e il turnover. Una strategia può mantenere il rendimento dichiarato pur basandosi su molte meno operazioni, selezionate in modo più favorevole.
Il paper trading è il passo successivo utile: invia gli ordini con la logica effettiva e registra conferme, esecuzioni e annullamenti. Anche le esecuzioni simulate dipendono dalle regole della piattaforma o del simulatore, ma permettono di verificare tempistiche e gestione degli ordini, aspetti che una candela non può mostrare.
Un limite toccato fornisce informazioni sul prezzo. Un’esecuzione è un’affermazione sull’esecuzione dell’ordine. Il tuo backtest dovrebbe rendere visibile la distanza tra queste due affermazioni.
← Tutti gli articoli


