Rolowanie kontraktów polega na zamknięciu pozycji w wygasającej serii futures i otwarciu odpowiadającej jej pozycji w kontrakcie z późniejszym terminem. To dwie rzeczywiste transakcje, a nie techniczna zmiana nazwy instrumentu. W badaniu historycznym dochodzi jeszcze drugi problem: trzeba zdecydować, kiedy przełączyć dane na nową serię i jak potraktować różnicę między cenami obu kontraktów.
Jeżeli reguła rolowania jest niejawna albo wykorzystuje informacje, których inwestor nie znał w chwili decyzji, backtest może pokazać przewagę, która nie istniała. Jeżeli zaś kolejne kontrakty zostaną po prostu sklejone, różnica cen między seriami może stworzyć fałszywy zwrot, skok zmienności i sygnał, którego rynek nigdy nie wygenerował.
Dlaczego kontrakt trzeba rolować?
Każdy klasyczny kontrakt futures ma określony cykl życia, ostatni dzień obrotu i sposób rozliczenia. Szczegóły różnią się między instrumentami: część kontraktów rozlicza się pieniężnie, inne mogą prowadzić do fizycznej dostawy. Dlatego pozycję, która ma utrzymywać ekspozycję dłużej niż jedna seria, trzeba przed wygaśnięciem zamknąć albo przenieść na późniejszy miesiąc.
CME opisuje rollover jako jednoczesne zneutralizowanie pozycji w bieżącym kontrakcie i ustanowienie nowej w dalszej serii. Termin nie musi być identyczny dla każdego rynku. Uczestnicy obserwują przede wszystkim wolumen, open interest, spread i daty wynikające ze specyfikacji produktu. W praktyce „najbliższy kontrakt” nie zawsze jest już kontraktem najbardziej płynnym.
Seria ciągła jest konstrukcją analityczną. Zlecenie zawsze trafia do konkretnego kontraktu z konkretnym miesiącem wygaśnięcia.
Rollover pozycji a seria ciągła danych
Te pojęcia często są mieszane. Rollover pozycji dotyczy egzekucji: sprzedaży starej i zakupu nowej serii dla pozycji długiej albo operacji odwrotnej dla krótkiej. Seria ciągła to historyczny wykres utworzony z wielu wygasających kontraktów. Służy do analizy długich okresów, liczenia wskaźników i budowy modeli.
Platforma może prezentować symbol ciągły, na przykład kontrakt oznaczony znakiem nieskończoności, lecz taki instrument zwykle nie jest bezpośrednio zbywalny. Dokumentacja Interactive Brokers wyraźnie rozdziela ciągłe futures używane do danych i wykresów od zleceń składanych na konkretnych seriach.
To rozróżnienie powinno istnieć również w architekturze systemu. Model może obliczać sygnał na serii ciągłej, ale moduł egzekucji musi znać aktualny symbol, mnożnik, minimalny krok ceny, daty kontraktu i moment przełączenia ekspozycji.
Skąd bierze się sztuczny skok ceny?
Załóżmy, że wygasający kontrakt na ropę zamyka się po 72,00 USD, a następna seria w tym samym momencie kosztuje 73,50 USD. Proste sklejenie obu wykresów tworzy zmianę o około 2,08%, choć rynek spot nie musiał wykonać takiego ruchu. Różnica 1,50 USD opisuje relację między terminami, a nie jednodniowy zysk.
Jeżeli model korzysta z surowej, niekorygowanej serii, może błędnie:
- rozpoznać wybicie lub zmianę trendu,
- zawyżyć zmienność i zmniejszyć pozycję,
- uruchomić stop-loss lub take-profit,
- przypisać spreadowi między seriami stopę zwrotu,
- zniekształcić średnie, momentum i poziomy cenowe.
Nie wystarczy więc wiedzieć, że dostawca oferuje „continuous futures”. Trzeba znać regułę wyboru kontraktu i metodę korekty historii.
Trzy sposoby budowy serii ciągłej
1. Seria niekorygowana
W dniu rolowania dane przechodzą z jednego kontraktu na drugi bez zmiany wcześniejszych cen. Zaleta: każda historyczna obserwacja pozostaje rzeczywistą ceną danego kontraktu. Wada: na łączeniu powstają skoki. Taka seria nadaje się do kontroli poziomów i audytu surowych danych, ale bez dodatkowej logiki jest niebezpieczna dla modeli opartych na stopach zwrotu.
2. Korekta różnicowa wstecz
Różnicę cen w punkcie rolowania dodaje się lub odejmuje od całej wcześniejszej historii. Łączenie staje się płynne, a absolutne zmiany ceny wewnątrz poszczególnych kontraktów są zachowane. Minusem jest przepisanie dawnych poziomów: po wielu rolowaniach historyczna cena może wyglądać zupełnie inaczej niż rzeczywiste notowanie, a czasem przyjąć wartość ujemną.
3. Korekta ilorazowa
Wcześniejsze ceny mnoży się przez proporcję między starą i nową serią. Tę metodę stosuje między innymi IBKR do normalizowania ciągłych danych. Lepiej zachowuje relacje procentowe i nie tworzy ujemnych cen, lecz również zmienia historyczne poziomy. Nie należy używać skorygowanej ceny jako ceny możliwej do uzyskania w dawnej transakcji.
Nie istnieje jedna najlepsza metoda dla wszystkich zastosowań. Model momentum może potrzebować spójnych zwrotów, model poziomów cenowych — rzeczywistych kwot, a symulator egzekucji — surowych notowań obu serii w chwili rollu. Dojrzały proces przechowuje dane surowe i tworzy z nich osobne widoki analityczne.
Kiedy przełączyć kontrakt?
Reguła daty jest równie ważna jak korekta cen. Najczęściej spotyka się trzy podejścia:
- Stała liczba dni przed wygaśnięciem. Prosta i powtarzalna, lecz może przełączyć serię za wcześnie lub za późno względem rzeczywistej płynności.
- Przewaga wolumenu. Nowa seria staje się aktywna, gdy jej wolumen przekracza wolumen kontraktu wygasającego. Reguła dostosowuje się do rynku, ale wymaga precyzyjnego określenia momentu pomiaru.
- Przewaga open interest. Może lepiej odzwierciedlać utrzymywane pozycje, lecz dane bywają publikowane z opóźnieniem i nie wolno przypisywać ich do wcześniejszej decyzji.
Problem point-in-time pojawia się wtedy, gdy backtest wybiera kontrakt na podstawie pełnego wolumenu z dnia, a następnie zakłada transakcję na otwarciu tego samego dnia. Decyzja korzysta wówczas z informacji, która pojawiła się później. Bezpieczna reguła wykorzystuje wyłącznie dane dostępne do określonego momentu i realizuje zmianę dopiero w następnym dopuszczalnym oknie egzekucji.
Contango, backwardation i wynik strategii
Ceny kolejnych serii nie muszą być równe. Gdy dalszy kontrakt jest droższy od bliższego, mówimy o contango; gdy jest tańszy — o backwardation. W prospekcie funduszu opartego na futures WTI złożonym w SEC mechanizm opisano wprost: utrzymanie ekspozycji wymaga sprzedaży wygasającej serii i zakupu późniejszej, a relacja cen wpływa na rezultat rollowania.
Nie należy jednak traktować samej różnicy na wykresie jako natychmiastowego zysku lub straty. Całkowity wynik pozycji futures powstaje z ruchu posiadanych kontraktów, zmiany krzywej terminowej, procesu zbiegania ceny do rozliczenia, kosztów i kolejnych operacji roll. Backtest powinien modelować rzeczywiste serie i transakcje, zamiast przypisywać wynik skorygowanej serii bez kontroli.
Minimalny standard backtestu futures
- Zachowaj surowe dane per kontrakt. Każda obserwacja powinna mieć symbol serii i czas dostarczenia.
- Zapisz regułę wyboru kontraktu. Data, wolumen lub open interest muszą być określone przed testem.
- Używaj kalendarza produktu. Kontroluj last trade date, first notice date, rozliczenie i dostawę; CME publikuje te zdarzenia osobno.
- Oddziel sygnał od egzekucji. Wskaźnik może korzystać z serii ciągłej, ale transakcja musi być rozliczona na właściwym kontrakcie.
- Modeluj spread rollu. Uwzględnij jednoczesne ceny starej i nowej serii, prowizje, bid-ask i poślizg.
- Nie używaj danych z przyszłości. Wolumen i open interest muszą być dostępne w chwili historycznej decyzji.
- Testuj alternatywne reguły. Przesuń roll o kilka sesji i porównaj metody korekty. Strategia zależna od jednej arbitralnej konfiguracji jest krucha.
- Raportuj wynik rollu osobno. Rozdziel wynik sygnału, wpływ krzywej terminowej i koszty egzekucji.
Najważniejsze wnioski
Rolowanie kontraktów nie jest kosmetycznym szczegółem danych. Łączy trzy obszary: specyfikację instrumentu, konstrukcję serii historycznej i rzeczywistą egzekucję. Błąd w którymkolwiek z nich może zmienić sygnał, ryzyko i wynik testu.
Wiarygodny system powinien zawsze umieć wskazać: który kontrakt był aktywny, dlaczego został wybrany, jakie informacje były wtedy dostępne, jak skorygowano wykres i po jakich cenach wykonano roll. Jeżeli odpowiedzi są ukryte w ustawieniu dostawcy danych, nie mamy jeszcze audytowalnego backtestu futures.
Źródła
- CME Group, Understanding Futures Expiration & Contract Roll.
- CME Group, Expiration Calendar.
- Interactive Brokers, Continuous Futures — metodologia normalizacji danych.
- U.S. Securities and Exchange Commission, ProShares K-1 Free Crude Oil Strategy ETF — opis rolowania, contango i backwardation.
