Obok podstawowej wersji Walk Forward Test (patrz poprzedni wpis), gdzie całość danych dzieli się po prostu na 2 zbiory i na jednym z nich przygotowuje a na drugim sprawdza strategię, istnieją bardziej złożone metody, które pozwalają dzielić dane in-sample i out-of-sample na wiele sposobów i robić testy dużo szczegółowsze. Tu jedynie logika a nie wyobraźnia stawia granice.
Ku mojej radości Amibroker ma wbudowane opcje automatycznego testu złożonych procedur WFT, co znacznie ułatwia cały proces i oszczędza czas. Poniżej prezentowane schematy pochodzą właśnie z bazy wiedzy do Amibrokera (amibroker.org) i obrazują modyfikacje WFT.
Modyfikacja dotyczy innego podziału zasobu danych cenowych ale idea pozostaje bez zmian- weryfikacja tego na ile system dopasował się do kursów historycznych w procesie optymalizacji i jak, teoretycznie, poradzi sobie w realnym środowisku.
W swoich wpisach używam zamiennie nazw ?system’ oraz ?strategia’ ale winien jestem pewne wyjaśnienie i okazja właśnie się do tego nadarza. W moim rozumieniu nie do końca oznaczają one to samo i owa różnica może mieć dla niektórych istotne znaczenie. Otóż ?system’ (z przymiotnikami mechaniczny, komputerowy, transakcyjny) to miano nadawane metodzie inwestycyjnej stworzonej przy użyciu kodów/algorytmów, najczęściej w programie specjalnie do tego przeznaczonym, co w rezultacie pozwala na automatyczne generowanie wskazań zajęcia i zamknięcia pozycji bez konieczności ingerencji człowieka. Natomiast bardziej wrażliwym i niechętnym komputerowym metodom proponuję cokolwiek oględniejszą i elegantszą nazwę: ?strategia’. Jej rozumienie jest nieco szersze ponieważ obejmuje wspomniane systemy oraz również wszystkie inne metody stworzone bez użycia algorytmów, czy w ogóle bez udziału komputera, a które wymagają ingerencji homo sapiens. Mam na myśli tzw. discretionary trading a więc mówiąc po polsku – intuicyjny czy dyskrecjonalny.
Przy czym podział na strategia/system jest dość płynny. A to dlatego, że choć nie zawsze i nie wszystko, to część z owych metod teoretycznie wymagających udziału człowieka da się w całości zakodować i przetestować, co oznacza ich zobiektywizowanie. I nie chodzi już o same metody z zakresu analizy technicznej bo w tej chwili koduje się już na przykład formacje na wykresach czy fale Elliota a więc sposoby wydawałoby się bardzo trudne do przerobienia na zera i jedynki. Świat poszedł dużo dalej i w tej chwili na kody przerabia się nie tylko analizę fundamentalną czy astrologię ale powstają już programy bardzo mocno zaawansowane jak ten, który sam czyta newsy okołogiełdowe i podejmuje na ich podstawie decyzje transakcyjne. Tak więc to co jeden uznaje za metodę dyskrecjonalną czyli ?nie-systemową”, w rzeczywistości często można zakodować i przetestować. Ów czynnik subiektywny czyli intuicja powoduje właśnie, że daną metodę nazywamy ?strategią’ inwestycyjną a eliminacja tego czynnika oznacza że strategię można nazwać bardziej precyzyjnie czyli ?systemem’. Trochę to może wygląda skomplikowane ale piszę o tym nie bez powodu. Otóż zapisanie strategii językiem komputerowym, czyli jej zobiektywizowanie, pomaga odkryć nie tylko jej wady i zalety ale w ogóle wartość użytkową (działa/nie działa). W ten właśnie sposób książkę Johna Murphy’ego ?Analiza techniczna rynków finansowych” da się w rezultacie odchudzić o kilkadziesiąt stron, pozbywając się wszystkiego tego co wartości nie ma wcale albo ma ale tylko w określonych warunkach. Często złudzenia inwestora polegają na tym, że wydaje mu się iż daną technikę doprowadzi do zyskowności właśnie dzięki użyciu własnej intuicji. Niestety intuicja to narzędzie o dwóch ostrzach i wiem, że to raniące jest doskonale znane wszystkim, którzy na giełdzie samodzielnie próbowali zarabiać.
Wróćmy jednak do mutacji WFT. Amibroker proponuje 2 procesy, przedstawione dla ułatwienia na diagramach poniżej.
1/ Rolling test
Test kroczący. I w tej i w kolejnej modyfikacji używa się krótszych zbiorów (okienek) danych niż w metodzie podstawowej, tak by uzyskać kilka chronologicznych, postępujących w czasie weryfikacji. Tutaj okna danych in-sample (żółte strzałki na wykresie poniżej) mają jednakowe rozmiary przy każdym teście ale przesuwają się w czasie o zadany krok (tutaj o rok). Krok i moment startowy oraz końcowy można w Amibrokerze ustawiać dowolnie. I tak po kolei dochodzi do 4 kolejnych testów: najpierw system buduje się (optymalizuje) na danych z lat 1998-2001 i testuje jego wiarygodność na danych out-of-sample z kolejnego roku czyli 2002 (to ta zielona strzałka). W kolejnych testach oba okresy budowy i weryfikacji przesuwają się o rok aż do osiągnięcia teraźniejszości:
2/ Anchored test
To po polsku test z zakotwiczeniem. W każdym kolejnym kroku dane służące do budowy (in-sample, żółta strzałka) zaczynają się w tym samym miejscu czyli od samego początku (kotwica) ale w kolejnym teście wydłużają o rok. Dane weryfikacyjne (zielona strzałka) mają długość roku ale przesuwają się w czasie coraz dalej. I tu krok, moment startowy i końcowy można swobodnie ustawiać:
W opcji zaawansowanej można zmieniać wszystkie ustawienia wielkości i położenia obu okresów. Można robić to w trybie intraday, generować raporty wg wybranej miary, wyświetlać wykresy equity z podziałem na poszczególne kroki i zapisywać do plików. Przyznam, że WFT brakowało mi w takiej automatycznej wersji we wszystkich programach, które wcześniej używałem.
Obie opisane metody mają swoje wady i zalety ale system przepuszczony przez takie procedurę bez istotnego pogorszenia wyników ma naprawdę szansę przez jakiś czas dobrze nam służyć. O owych wadach i zaletach w kolejnym wpisie.
–*Kathay*–




Dodaj komentarz