Termin backtestingu
Ciągły (z korektą wsteczną) kontrakt terminowy
Ciągły kontrakt futures to łańcuch wygasających kontraktów połączonych w jedną linię, co pozwala na testowanie strategii przez lata, a nie miesiące. Sposób, w jaki go połączysz, decyduje o tym, czy przewaga, którą zobaczysz później, jest realna.
Pojedynczy kontrakt terminowy jest notowany przez kilka miesięcy, a następnie wygasa. Aby przetestować strategię na podstawie danych z 13 lat, potrzebna jest jedna nieprzerwana linia, więc łączy się wygasający kontrakt z kolejnym, a potem z kolejnym, tworząc jeden ciągły (z korektą wsteczną) kontrakt . Nieuważne łączenie powoduje, że każda data rolowania pozostawia na wykresie urojoną lukę lub urojony zysk – skok, którego żaden żyjący trader nigdy nie odnotował.
Rozwiązaniem jest korekta wsteczna : przesuń każdą cenę przed każdym rzutem o rozmiar luki, a szew zniknie, dzięki czemu wykres będzie wyglądał jak jedna płynna linia zamiast schodów. Jest to konieczne i w większości nieszkodliwe w pobliżu dzisiejszej daty. Cofnijmy się jednak wystarczająco daleko, a skumulowane przesunięcia mogą zepchnąć stare ceny do zera, a nawet na minus, a nieostrożne obliczenie procentowej stopy zwrotu z tej skorygowanej serii przestanie oznaczać to, co najprawdopodobniej oznacza.
Pułapka jest cicha, ponieważ nigdy się nie ujawnia. Krzywa kapitału własnego wygląda na czystą, a strategia na zyskowną. Prawdziwą przyczyną jest to, jak kilkanaście oddzielnych kontraktów zostało ze sobą sklejonych i nie ma to nic wspólnego z zasadami. Jest to bliskie pokrewieństwo z uprzedzeniem : obaj ponoszą straty z backtestu, których nigdy nie udało się zebrać – jeden poprzez wyciek przyszłych informacji do przeszłości, drugi poprzez wyciek artefaktu łączenia do samego szeregu cenowego.
Analizujemy kontrakty terminowe CME z 13 lat i celowo przetwarzamy każdą rolkę, zamiast pozwolić, aby decydowały ustawienia domyślne, ponieważ jeden zły ścieg wystarczy, aby uzyskać przewagę z niczego, bez konieczności zmiany zasad. Weryfikacja, która ma znaczenie, jest prosta: czy skorygowana seria nadal odpowiada cenie, po której trader mógłby faktycznie uzyskać zlecenie, rolka po rolce, przez cały okres trwania backtestu.
Jeśli popełnisz błąd, backtest przestanie testować Twoją strategię i zacznie testować artefakt: kontrakt, który nigdy nie istniał. Wykres wygląda realistycznie. Wypełnienia w jego obrębie już nie. Ta luka między płynną, ciągłą serią a nieregularną, wygasającą rzeczywistością pod nią to dokładnie ten punkt, w którym backtest może po cichu przestać być backtestem czegokolwiek, co nadaje się do handlu.
Badania, które za tym stoją
- López de Prado (2018). „Postępy w uczeniu maszynowym w finansach”. Wiley. — Omawia nadmierne dopasowanie testów wstecznych i wyciek danych w uczeniu maszynowym w finansach, ten sam tryb awarii, który może dyskretnie wywołać błędne połączenie kontraktu.
Badania zewnętrzne, linki do kontekstu i dalszych materiałów. FoxAlgo jest niezależny i nie jest powiązany z tymi autorami ani wydawcami.
Oto warunki, na których opiera się Lista No — pełny audyt, obejmujący każdą strategię i wskaźnik, wraz z jego werdyktem i dokładnym powodem istnienia lub zniknięcia.
Pobierz listę zakazów →