Skip to content
Wszystkie przewodniki po opcjach
Wybierz historię, z której uczy się model finansowy12 min czytania

Okna expanding i rolling w walidacji walk-forward

Porównaj rosnące i stałej długości ruchome okna treningowe dla modeli finansowych, oddziel walidację od testu końcowego i wybierz regułę bez używania przyszłych wyników.

W tym przewodnikuFold walk-forward ma oddzielne okna treningowe i oceny

Krótkie podsumowanie

Rozszerzające się okno treningowe zachowuje najwcześniejszą kwalifikującą się historię i dodaje nowe dane, gdy stają się dostępne. Okno ruchome utrzymuje stałą liczbę najnowszych kwalifikujących się obserwacji, usuwając starsze wiersze. Oba można stosować w chronologicznej ocenie walk-forward; żadne nie zastępuje rozdzielenia wyboru modelu od końcowego okresu testowego.

Fold walk-forward ma oddzielne okna treningowe i oceny

W chwili prognozy badacz zna część historycznych cech i wyników, dopasowuje lub aktualizuje model, a następnie ocenia go na późniejszym bloku. Przesuwanie chwili prognozy naprzód tworzy kolejne okresy poza próbą. Reguła okna treningowego określa, które wcześniejsze kwalifikujące się wiersze wchodzą do każdego dopasowania. Reguły walidacji i testu wskazują, które późniejsze wyniki służą do porównywania opcji i szacowania jakości. Decyzje są powiązane, ale nie dotyczą tego samego okna.

Reguła expanding zaczyna się od stałej granicy historycznej i rośnie, gdy dostępne stają się nowe wyniki. Reguła rolling przesuwa oba końce, zachowując stałą liczbę obserwacji po okresie rozruchu. W żadnym przypadku nie wolno użyć celu, którego wynik nie był jeszcze zakończony w chwili prognozy. Jeśli etykieta obejmuje kilka sesji, sama data wiersza może nie pokazywać, kiedy wynik stał się znany; zapisuj czas zakończenia etykiety i uwzględniaj go.

Oddziel też okres wsteczny używany do obliczania cech od okna treningowego. Sygnał może obliczać zmienność każdego wiersza na podstawie krótkiego niedawnego okresu, podczas gdy model korzysta z wierszy obejmujących kilka lat. Zmiana okresu cechy zmienia predyktory; zmiana okna treningowego zmienia obserwacje użyte do estymacji modelu.

Okno expanding zachowuje początkową historię

Niech \(s\) oznacza indeks pierwszej kwalifikującej się obserwacji, a \(t\) indeks najnowszej obserwacji z zakończoną etykietą w chwili dopasowania. Zbiór treningowy expanding to \(\{s,s+1,\ldots,t\}\). W następnym punkcie prognozy zachowuje te wiersze i dodaje nowe kwalifikujące się obserwacje. Zatem jego rozmiar rośnie w czasie, chyba że osobna reguła filtruje lub usuwa dane.

Większa liczba obserwacji może ograniczyć szum próbkowania estymowanych parametrów, jeśli starsze dane nadal opisują badany proces. Może też zachować rzadkie warunki rynkowe, które pomija krótka niedawna próba, i pozwala uniknąć arbitralnego wyboru historycznej daty odcięcia. Starsze wiersze nie tracą jednak wpływu wyłącznie z powodu wieku. Jeśli zmieni się zależność między cechami a stopami zwrotu, wczesne dane mogą przesuwać estymaty ku warunkom, które już nie przypominają obecnego rynku. Większe dopasowania mogą również działać wolniej; zachowanie historii nie czyni jej automatycznie bardziej reprezentatywną.

Okno rolling usuwa obserwacje spoza wybranego zakresu

Przy stałej długości \(W\) zbiór treningowy w punkcie \(t\) to \(\{t-W+1,\ldots,t\}\), z uwzględnieniem opóźnienia etykiet i ewentualnej przerwy granicznej. W następnym punkcie koniec przesuwa się naprzód, a najstarszy kwalifikujący się wiersz wypada. Długość można wyrazić liczbą obserwacji lub czasem kalendarzowym; przy nieregularnych danych te jednostki nie są równoważne.

Okno rolling ustanawia regułę aktualności. Może pasować do pytania o dostosowanie do zmiennych warunków lub do operacyjnej potrzeby utrzymania stałego rozmiaru treningu. Nie sprawia jednak, że model automatycznie się adaptuje. Rzadkie dopasowania albo stopniowa zmiana mogą opóźniać reakcję. Krótki zakres oznacza mniej informacji, może destabilizować estymaty, pomijać rzadkie okresy stresu lub pozostawiać zbyt mało przykładów dla złożonego modelu. Dłuższy zakres zachowuje więcej historii, ale może osłabiać niedawne wzorce.

Znaczenie ma też jednostka: ta sama liczba wierszy może obejmować różne okresy kalendarzowe z powodu brakujących dni handlowych lub innej częstotliwości. W danych panelowych określ, czy okno usuwa wiersze, czy grupy aktywów według daty. Jeśli wybierzesz \(W\) po obejrzeniu testu końcowego, test staje się częścią selekcji i przestaje być niezależny.

Obie reguły przekazują inne dane do każdego dopasowania

WariantWiersze treningowe przy dopasowaniuMożliwa korzyśćKoszt do sprawdzenia
ExpandingWszystkie kwalifikujące się wiersze od stałego początku do bieżącego punktuWięcej obserwacji i zachowanie wcześniejszych epizodówStarsze reżimy nadal wpływają; dopasowania mogą zwalniać
RollingNajnowszy stały zakres kwalifikujących się wierszyJasna granica aktualności i ograniczona próbaMniej informacji; większa zależność wyniku od długości

Aby porównanie izolowało regułę okna, utrzymuj te same granicę dostępności informacji, cechy, klasę modelu, cel treningu, daty dopasowania, horyzont prognozy, bloki testowe i założenia wykonania. Jeśli model rolling jest też częściej dopasowywany albo dostaje inne cechy, różnicy wyniku nie można przypisać samemu oknu.

Reguły te nie określają też punktu prognozy. Oba okna treningowe można oceniać przy ruchomych punktach: trenować na kwalifikującej się przeszłości, prognozować kolejny blok, przesunąć się naprzód i powtórzyć. Przegląd Leonarda Tashmana dotyczący testów prognoz poza próbą00065-0) omawia ruchome punkty prognozy i ruchome okna estymacji. Pierwsze określają, kiedy odbywa się ocena; drugie — które wiersze treningowe pozostają.

Hipotetyczna oś czasu pokazuje, co trafia do kolejnych dopasowań

Poniższe liczby i daty są hipotetyczne. Załóżmy, że model jest dopasowywany co miesiąc do prognozowania stopy zwrotu w kolejnym miesiącu, a pierwsze dopasowanie wykorzystuje 60 kwalifikujących się obserwacji kończących się w miesiącu 120. Etykieta nadaje się do użycia dopiero po zakończeniu jej wyniku. W pierwszym punkcie prognozy obie reguły korzystają z tych samych 60 wierszy, jeśli długość rolling wynosi 60.

Gdy znany jest wynik kolejnego miesiąca, expanding obejmuje 61 kwalifikujących się wierszy. Rolling dodaje nowy wiersz i usuwa najstarszy, pozostając przy 60. Po 12 aktualizacjach expanding obejmuje 72 wiersze od pierwotnego początku, a rolling zachowuje najnowsze 60. Estymaty mogą się różnić, ponieważ historia jest inna, choć każdy wiersz był dostępny w chwili odpowiedniego dopasowania.

W tym przykładzie odłóż ostatnie 24 miesiące jako zewnętrzny test. Regułę i długość okna, cechy i pozostałe ustawienia wybierz na wcześniejszych chronologicznych blokach walidacyjnych. Następnie oceń zamrożony wybór zgodnie z wcześniej ustalonym harmonogramem dopasowań. Zmiana długości po obejrzeniu wyników testu zewnętrznego wykorzystuje test do selekcji i zawyża siłę końcowych dowodów.

Wybierz regułę okna w ramach walidacji chronologicznej

Najpierw określ pytanie: czy model ma używać całej dostępnej historii przy każdym dopasowaniu, czy istnieje powód, by wykluczać stare przykłady? Czy oczekujesz stabilnej relacji docelowej, czy istotne zmienne mogą się zmieniać? Pytania te pomagają określić kandydatów, ale nie dowodzą z góry, który z nich lepiej zadziała na danym rynku.

Na wcześniejszych danych rozwojowych porównaj mały, z góry ustalony zestaw, np. expanding i kilka wiarygodnych długości rolling, na tych samych chronologicznych blokach walidacyjnych i przy takim samym rytmie dopasowania. Przed oceną wybierz cel: błąd prognozy, kalibracja, użyteczność portfela po uwzględnieniu obrotu i maksymalne obsunięcie odpowiadają na różne pytania. Zachowaj te same koszty i ograniczenia, zapisuj nieudane dopasowania i brakujące prognozy. Nakładające się cele lub bloki mogą sprawić, że sąsiednie wyniki współdzielą stopy zwrotu; opisz tę zależność i nie licz każdego wiersza jako niezależnego eksperymentu.

Zostaw późniejszy okres chronologiczny nietknięty na test końcowy. W układzie zagnieżdżonym walidacja wewnętrzna wybiera okno i inne ustawienia wyłącznie na podstawie danych sprzed każdego zewnętrznego bloku testowego; wyniki zewnętrzne oceniają całą procedurę wyboru. Przewodnik po purged cross-validation wyjaśnia granice nakładających się etykiet, a przeuczenie modeli finansowych i wielokrotne testowanie opisują powiązane ryzyka selekcji.

Dopasuj etykiety, przetwarzanie wstępne i czas dopasowania do dostępnych wtedy informacji

W każdym punkcie używaj tylko cech i etykiet znanych w tamtym czasie. Wynik za kilka sesji może nie być jeszcze kompletny przy granicy walidacji, nawet jeśli data decyzji jest wcześniejsza. W razie potrzeby pozostaw przerwę lub usuń wiersze zgodnie z rzeczywistymi przedziałami etykiet. Stała liczba wierszy wystarczy tylko wtedy, gdy uzasadniają ją częstotliwość i horyzont celu. Żadna reguła okna nie naprawi cechy zawierającej przyszłe informacje.

Imputację, skalowanie, wybór cech i inne uczone etapy przetwarzania dopasowuj wyłącznie na części treningowej danego foldu. Jeśli trzeba wybrać próg lub hiperparametr, zastosuj wewnętrzną walidację chronologiczną w okresie treningowym, a wybór zamroź przed oceną późniejszego bloku. Oficjalna dokumentacja scikit-learn dla TimeSeriesSplit opisuje domyślnie rosnący zbiór treningowy i max_train_size ograniczający jego rozmiar. gap liczy próbki; porównywalny czas trwania foldów zakłada równomierne odstępy między obserwacjami. Sprawdź też znaczniki czasu etykiet finansowych i używaną wersję biblioteki.

Raportuj wyniki dla każdego punktu i opisz ograniczenia oceny

Podaj regułę i dokładną długość okna, najwcześniejszą zachowaną datę, liczbę kwalifikujących się wierszy przy każdym dopasowaniu, zasadę dostępności etykiet, daty walidacji i testu końcowego, horyzont prognozy oraz harmonogram dopasowań. Pokaż wyniki dla poszczególnych bloków testowych obok agregatu. Średnia może ukryć dominację jednego epizodu rynku, a sąsiadujące prognozy mogą współdzielić wyniki i nie stanowić niezależnych dowodów.

Dokładność prognozy nie jest zyskiem netto strategii. Na wynik wpływają budowa pozycji, dźwignia, obrót, płynność, opłaty, spread, wpływ na rynek, pożyczanie, finansowanie i czas wykonania. Zachowaj te założenia bez zmian i wskaż pominięte elementy. Badanie Cerqueiry, Torgo i Mozetiča dotyczące szacowania wyników dla szeregów czasowych wskazuje, że estymaty mogą się różnić w warunkach stacjonarnych i niestacjonarnych. Nie porównuje bezpośrednio finansowych polityk okien i nie dowodzi, że jedna reguła zawsze wygrywa.

Traktuj każdy backtest jako dowód dotyczący określonej historii i procedury. Expanding może zachować nieaktualny reżim; rolling może odrzucić przydatne informacje i zwiększyć szum. Wybrana reguła może zawieść w innym reżimie, uniwersum aktywów lub środowisku kosztowym. Walidacja ogranicza niepewność dotyczącą testowanej procedury, ale nie gwarantuje przyszłych zysków ani nie dowodzi, że któreś okno jest optymalne.

Częste pytania

Q1Czy okno expanding zawsze jest lepsze, bo wykorzystuje więcej danych?

Nie. Dodatkowe wiersze mogą stabilizować estymaty, jeśli starsze obserwacje nadal są istotne, ale nieaktualne reżimy mogą dalej wpływać na model. Zależy to od danych, celu, cech, estymatora i okresu oceny.

Q2Czy okno rolling automatycznie dostosowuje się do zmiany reżimu rynku?

Nie. Usuwa wiersze wypadające poza wybrany zakres, ale nie wykrywa zmiany ani nie gwarantuje, że nowa próba reprezentuje kolejny reżim. Nadal liczą się częstotliwość dopasowań, długość okna i konstrukcja modelu.

Q3Czy mogę użyć tego samego okresu do strojenia okna i raportowania wyniku końcowego?

Wtedy ten okres staje się częścią selekcji modelu. Wybierz regułę przez walidację chronologiczną, a zamrożoną procedurę oceń na późniejszym, nietkniętym teście. Nawet taki wynik opisuje tylko testowaną historię i założenia.

Źródła i dalsza lektura

Zgłoś problem

Przygotujemy e-mail z linkiem do tego artykułu. Mark otrzyma zgłoszenie dopiero po jego wysłaniu

Szybki test

Przeczytano? Sprawdź się w 3 pytaniach

Pytanie 1 / 3

Pytanie 01

Co zmienia się przy kolejnym dopasowaniu w stałej długości oknie rolling?

Wybierz odpowiedź, aby zobaczyć wyjaśnienie

Słownik opcji