Walk-forward Analysis bada procedurę wyboru w porządku chronologicznym. Reguły wybiera się lub dostraja na dostępnej przeszłości, a ocenia na późniejszych danych niewykorzystanych przy tym wyborze.
Piotr ma kilka wariantów reguły handlu. Chce korzystać z tego, który ostatnio radził sobie najlepiej. Walk-forward Analysis pozwala prześledzić ten pomysł krok po kroku: wybrać na znanej historii, zapisać wynik następnego okresu i wybrać ponownie. QuantConnect opisuje takie okresowe aktualizowanie ustawień. Badamy więc również sposób wybierania, nie tylko stały wariant. Kandydaci, kryterium i termin kolejnego przeglądu muszą być znane wcześniej. [1]
Jeśli Piotr wybrał wariant ze względu na jego dawny zysk, ten sam zysk nie potwierdza wyboru niezależnie. QuantConnect wyjaśnia, że takie dane należą już do opracowania strategii. Uczciwe pytanie brzmi: jak wariant wypadł dopiero po wyborze? Bieżący test nie może wybrać własnego zwycięzcy. Gdy okres się skończy i jego wynik będzie dostępny, ustalona procedura może użyć go do późniejszego wyboru. Nie zmienia to zapisanej wcześniejszej decyzji. [2]
Okno wyboru to używany obecnie fragment historii. Okno przesuwne zachowuje długość i odrzuca najstarsze dane; rozszerzające się zachowuje początek i dodaje obserwacje. TimeSeriesSplit z scikit-learn domyślnie rozszerza zbiór, lecz pozwala ograniczyć jego wielkość. Długość i częstość aktualizacji ustal przed testem. Dokumentacja wymaga równych odstępów między obserwacjami dla porównywalnych miar; przy nieregularnych zapisach trzeba sprawdzać także rzeczywisty czas kalendarzowy. [3]
Wyobraź sobie, że wynik przypisany ostatniej obserwacji treningowej kończy się dopiero podczas następnego testu. W chwili wyboru jeszcze go nie znasz. Posortowanie tabeli według czasu tego nie naprawia. Parametr gap w TimeSeriesSplit pozwala pominąć końcowe obserwacje treningowe. Odstęp powinien wynikać z dostępności wejść i zakończenia wyników, nie z najładniejszej krzywej. Nawet właściwa przerwa nie dowodzi niezależności sąsiednich okresów ani nie usuwa wszystkich zniekształceń. [3]
Przeciek nie musi tkwić w regule handlu. Średnia użyta do przeskalowania wartości mogła zostać obliczona z całego pliku, także z przyszłego testu. scikit-learn ostrzega o tym samym przy uzupełnianiu braków i wyborze cech wejściowych. Parametry przekształceń należy wyznaczać tylko na treningu, a potem stosować do testu. Powtarzaj rozdzielenie przy każdym kroku; późniejsze podzielenie przetworzonej tabeli nie cofnie przecieku. Zachowaj też wersję danych i czas ich dostępności. [4]
Po testach poszczególnych okresów trzeba poprawnie połączyć wyniki. QuantConnect opisuje modele ceny i ilości realizacji, które mogą uwzględniać spread oraz Slippage. Dalej potrzebna jest spójna rachunkowość: nie dopisujemy zysków z opracowania do konta testowego ani nie liczymy nakładających się testów wielokrotnie bez wyjaśnienia. Przy zmianie wariantu określ, co dzieje się z otwartymi pozycjami, kapitałem i kosztami przejścia. Poniższy przykład upraszcza to, zamykając pozycję na końcu każdego okresu. [5]
Piotr może zmieniać długości okien, cele i kandydatów, aż test zacznie wyglądać dobrze. Wtedy wykorzystał serię testową również do opracowania metody. Bailey i współautorzy analizują przypadkowe sukcesy po wielokrotnym szukaniu w tych samych danych. Zapisuj wszystkie próbowane procedury i oddzielaj dalszą weryfikację na dotąd nieużytej historii. Przesuwanie się w czasie nie jest gwarancją statystyczną ani oszacowaniem prawdopodobieństwa nadmiernego dopasowania do przeszłych danych. [6]
Zachowaj granice okien, kandydatów, oceny wyboru, rzeczywiste decyzje i późniejsze wyniki po kosztach. Do sumy dodaj straty, liczbę obserwacji i porównanie na równych zasadach. Amerykańska NFA przypomina, że wyniki hipotetyczne nie oddają wszystkich problemów z płynnością, poślizgiem i zachowaniem przy prawdziwej stracie; jej zasady promocji dotyczą określonych członków. Mały stratny przykład nie obala całej metody. Dodatnia suma też nie dowodzi przyszłej przewagi. [7]
Dawny zwycięzca może przegrać kolejną rundę
Pełniejszy obraz uzyskasz, czytając to hasło razem z Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. Do tego hasła prowadzą również odsyłacze z Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.
01Czy wcześniejszy test można później wykorzystać do wyboru?+
Tak, gdy okres się zakończył, potrzebne dane są dostępne i przewidziana procedura na to pozwala. Nie wolno wstecznie zmienić wariantu ani wyniku zapisanych dla tamtego testu.
02Czy Walk-forward Analysis zapobiega nadmiernemu dopasowaniu?+
Nie samoistnie. Okna, kandydatów lub całą procedurę nadal można wielokrotnie dostrajać do tych samych wyników. Dokumentuj próby, sprawdzaj przecieki informacji i odróżniaj dalsze opracowywanie od rzeczywiście nowej weryfikacji.