Una serie continua di futures concatena i contratti in scadenza in un'unica cronologia. Puoi usarla per studiare i segnali, ma calcolare direttamente il P&L di trading dalle variazioni dei suoi prezzi può inventare guadagni e perdite a ogni roll. La serie non ti dice quale contratto possedevi.
Prendiamo un esempio particolarmente impietoso: il greggio WTI del NYMEX il 20 aprile 2020. Il contratto di maggio ha regolato a −$37.63 al barile. Quello di giugno ha regolato a $20.43. Entrambi i prezzi erano reali. Anche i $58.06 di differenza erano reali. Ma passare dal contratto di maggio a quello di giugno sul grafico non ha fatto guadagnare quella differenza a una posizione long.
Esaminiamo nel dettaglio questa concatenazione. Sono prezzi di regolamento storici; gli esempi contabili ipotetici qui sotto li usano per mostrare i calcoli, non per affermare che un ordine avrebbe potuto essere eseguito a quei prezzi.
CLK20 e CLM20: gli identificativi eliminati dal grafico
| Campo | Contratto di maggio | Contratto di giugno |
|---|---|---|
| Identificativo del contratto | CLK20 | CLM20 |
| Mese di consegna | Maggio 2020 | Giugno 2020 |
| Prezzo di regolamento del 20 aprile, dollari al barile | −37.63 | 20.43 |
| Dimensione del contratto | 1,000 barili | 1,000 barili |
Il codice del mese conta più del prefisso del ticker. K indica maggio; M indica giugno. Questi contratti prevedevano obblighi di consegna diversi e avevano prezzi diversi. Il contratto di maggio era prossimo alla scadenza, in un contesto di straordinaria pressione sulla capacità di stoccaggio. Quello di giugno offriva un altro mese.
Il simbolo continuo di un fornitore nasconde questa distinzione dietro un nome piacevolmente compatto. Mi piacciono i simboli compatti, finché non restano l'unico identificativo nel registro delle operazioni. A quel punto, il debugging diventa una specie di archeologia, con un caffè peggiore.
E non esiste una sola serie continua universale. Un fornitore può effettuare il roll un numero fisso di giorni lavorativi prima della scadenza, al superamento dei volumi o secondo un altro calendario. Molte serie erano già passate dal contratto di maggio prima del 20 aprile. Nel nostro esempio concateniamo deliberatamente questi due prezzi di regolamento per rendere visibile l'errore; non stiamo descrivendo il roll di un fornitore specifico.
1,000 barili: il moltiplicatore alla base di ogni prezzo
Il contratto standard dei futures NYMEX WTI rappresenta 1,000 barili. Una variazione di $1 cambia quindi di $1,000 il valore di una posizione long su un contratto. Un tick di $0.01 vale $10.
Per una posizione invariata su un contratto, il calcolo di base è:
gross_pnl = contracts × 1,000 × (ending_price − starting_price)
La formula funziona anche sotto lo zero. I rendimenti percentuali calcolati sul prezzo quotato del future diventano molto meno utili: attraversare lo zero può renderli indefiniti o capovolgerne il significato apparente. I rendimenti della strategia dovrebbero derivare dal patrimonio del conto e dalla convenzione usata per i flussi di cassa. Il prezzo quotato al barile non è il capitale investito nella strategia.
$58.06: la discontinuità nel punto di concatenazione
Supponiamo che un motore ingenuo veda il prezzo di regolamento di maggio seguito da quello di giugno e applichi la formula come se lo strumento non fosse cambiato:
invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
= $58,060
In questo confronto non è trascorso tempo. Sono i prezzi di due contratti della stessa sessione. Il motore ha scambiato la differenza di prezzo tra contratti per un guadagno maturato durante il periodo di detenzione.
In una concatenazione giornaliera reale, il prezzo di ieri del vecchio contratto e quello di oggi del nuovo contratto includono anche i normali movimenti di mercato. Così l'errore è più difficile da individuare. La variazione registrata somma il movimento del vecchio contratto alla differenza tra i due contratti al momento del passaggio.
E sottrarre $58,060 come presunto “costo del roll” in contanti non corregge il modello. I futures non si acquistano pagando per intero il loro nozionale quotato. Chiudere un contratto e aprirne un altro comporta variazioni di posizione, P&L realizzato o regolato, commissioni, effetti di esecuzione e requisiti di margine. La differenza tra i loro livelli di prezzo non è automaticamente un addebito in contanti.
+58.06: il back-adjustment incorporato nella serie storica
Un metodo comune per costruire una serie continua aggiunge la differenza del roll ai prezzi precedenti. Con questa convenzione, il prezzo di maggio, −37.63, diventa 20.43 e si raccorda a quello di giugno senza salti. Anche le osservazioni precedenti nello stesso segmento storico aumentano di 58.06.
| Metodo di costruzione | Cosa succede in questo punto di concatenazione | Conseguenza per la ricerca |
|---|---|---|
| Non rettificato | La differenza di $58.06 resta | Gli indicatori possono interpretare il cambio di contratto come un movimento di mercato |
| Back-adjustment additivo | Aggiunge 58.06 al segmento precedente | Le variazioni in dollari all'interno del segmento restano invariate; i livelli storici e le variazioni percentuali cambiano |
| Back-adjustment proporzionale | Moltiplica il segmento precedente per 20.43 / −37.63, circa −0.543 | Il fattore negativo inverte il segno delle variazioni di prezzo all'interno del segmento |
Ecco perché non considero “rettificato per rapporto” una specifica completa dei dati. Un metodo che funziona bene con prezzi strettamente positivi deve definire esplicitamente come gestire lo zero e i prezzi negativi.
Anche la rettifica additiva ha le sue conseguenze. Un segnale che compra sotto una soglia assoluta di $30 può cambiare quando i roll successivi riscrivono i livelli precedenti. Un segnale basato sulla differenza tra una media mobile veloce e una lenta può restare invariato con uno spostamento additivo comune, a condizione che lo spostamento si applichi a entrambe le finestre. Le finestre che attraversano un confine di rettifica vanno esaminate separatamente.
Conserva il metodo di rettifica, il calendario dei roll e la versione dei dati insieme ai risultati della ricerca. Per i segnali sensibili ai livelli rettificati, ricostruisci la cronologia disponibile a ogni data di decisione. Un download attuale potrebbe includere rettifiche dovute a roll che non erano ancora avvenuti.
Le due righe di ordini che mancano dal grafico dei futures continui
Ecco un registro volutamente semplificato. Supponiamo che una posizione long su un contratto di maggio sia stata valutata a −30.00 prima del roll. Supponiamo che la chiusura del contratto di maggio e l'apertura di quello di giugno avvengano ai prezzi di regolamento storici sopra riportati, e che poi il contratto di giugno venga valutato a 21.00. Questi prezzi di esecuzione ipotetici servono solo a illustrare la contabilità.
| Evento nel registro | Calcolo | P&L lordo |
|---|---|---|
| Chiudi una posizione long su maggio a −37.63 | 1,000 × (−37.63 − (−30.00)) | −$7,630 |
| Apri una posizione long su giugno a 20.43 | Nessun movimento di prezzo all'ingresso | $0 |
| Valuta giugno a 21.00 | 1,000 × (21.00 − 20.43) | +$570 |
| Totale | Prima dei costi di esecuzione e delle commissioni | −$7,060 |
La differenza di $58.06 non compare da nessuna parte come ricavo o spesa autonoma. Il margine di variazione giornaliero determina quando il P&L dei futures confluisce nella liquidità; non ne crea una seconda copia.
Un roll reale può essere eseguito con un ordine calendar spread anziché con due ordini indipendenti. Il simulatore dovrebbe rappresentare il meccanismo ipotizzato, inclusi esecuzioni e costi, mantenendo al contempo le singole posizioni contrattuali sottostanti.
Il mio controllo di accettazione è semplice: ogni dollaro di P&L da trading sui futures deve essere riconducibile a un contratto identificato, una quantità, un moltiplicatore e due prezzi riferiti a quel contratto. Voglio anche conoscere l'ora della decisione di roll e i dati usati. Una regola basata sui volumi che usa il volume della sessione odierna a sessione conclusa non può eseguire l'operazione di nascosto prima della fine della stessa sessione.
Mostra la linea continua per il contesto. Sotto, traccia i contratti effettivamente detenuti e indica ogni passaggio. Se la curva del patrimonio salta in corrispondenza di un passaggio, le prime righe che controllo sono quelle due degli ordini.
← Tutti gli articoli


