BacktestMarket offre dati sui futures in due varianti: non back-adjusted e back-adjusted (etichettata bk). Capire la differenza è essenziale prima di eseguire qualsiasi backtest su strumenti futures.
Perché Servono Dati Continui
Ogni contratto futures ha una data di scadenza fissa. Un contratto sul petrolio grezzo con scadenza luglio 2024 è uno strumento diverso da uno con scadenza agosto 2024 — trattano a prezzi diversi e le loro serie terminano in momenti diversi. Per fare il backtest di una strategia su anni o decenni hai bisogno di un'unica serie di prezzi ininterrotta. Ciò significa unire contratti successivi in un unico dataset continuo.
Due decisioni determinano come avviene questa unione:
- Quando fare il rollover — alla scadenza, o quando il contratto successivo supera quello corrente per volume scambiato
- Come gestire il gap di prezzo al rollover — lasciarlo grezzo, o adeguare la storia
Usiamo il rollover basato sui volumi: quando il volume del contratto successivo supera quello del contratto in scadenza, avviene il rollover. Questo riflette più fedelmente quando la liquidità si sposta effettivamente.
Non Back-Adjusted: Concatenazione Grezza
L'approccio più semplice. I contratti vengono uniti alla data di rollover senza alcuna correzione del prezzo. Il risultato è una serie in cui compaiono gap di prezzo ad ogni rollover — perché il contratto in scadenza e quello in arrivo non trattano mai esattamente allo stesso prezzo.
Quando Usarlo
- Strategie che tradano il contratto reale (non uno strumento continuo sintetico)
- Ricerca su arbitraggi e spread calendari dove il livello di prezzo assoluto è importante
- Situazioni in cui hai bisogno di prezzi di esecuzione reali corrispondenti ai dati del broker
Limitazione
I gap possono essere ampi (specialmente nei futures energetici o agricoli). Una strategia che usa livelli di prezzo assoluti o calcola i rendimenti in modo ingenuo attraverso le date di rollover risulterà distorta.
Back-Adjusted: Storia Senza Gap
Il back-adjustment elimina i gap di rollover riscalando la serie storica ogni volta che si verifica un rollover. Il processo:
- Ad ogni rollover, calcola il rapporto tra l'ultimo prezzo del contratto in scadenza e il primo prezzo del contratto in arrivo
- Moltiplica l'intera storia precedente per quel rapporto
- Aggiungi i prezzi del nuovo contratto procedendo in avanti
Il risultato è una serie fluida e senza gap in cui i rendimenti percentuali attraverso il rollover sono preservati accuratamente.
Quando Usarlo
- Qualsiasi strategia che calcola rendimenti percentuali, medie mobili o volatilità su lunghi periodi
- Pipeline di machine learning che richiedono una feature di prezzo stazionaria e continua
- La maggior parte dei backtest di trend-following e mean-reversion
Limitazione
I prezzi nella storia passata sono sintetici — non corrispondono a nessun prezzo a cui lo strumento abbia effettivamente trattato. Non puoi usare dati back-adjusted per determinare i requisiti storici di margine o i livelli esatti di esecuzione.
Cosa Fornisce BacktestMarket?
Entrambi. Ogni strumento futures nel nostro catalogo è disponibile come:
| Etichetta | Descrizione |
|---|---|
| (nessun suffisso) | Concatenazione grezza — prezzi storici reali |
bk | Back-adjusted — serie fluida, riscalata ad ogni rollover |
Se stai eseguendo una strategia quantitativa e non sei sicuro quale usare, inizia con la serie back-adjusted. Se la tua strategia dipende da livelli di prezzo assoluti o stai confrontando con dati reali del broker, usa la versione grezza.
Riepilogo
I dati continui sui futures richiedono una scelta: accettare i gap di prezzo ai rollover (grezzo) o eliminarli attraverso la riscalatura (back-adjusted). Nessuno dei due è universalmente corretto — la scelta giusta dipende da cosa misura la tua strategia. Avere entrambe le versioni ti permette di testare le assunzioni e verificare che i tuoi risultati non siano un artefatto del trattamento del rollover.