W temacie weryfikacji mechanicznych systemów na danych nie widzianych jeszcze w procesie kodowania i optymalizacji pozostała jeszcze jedna kwestia do wyjaśnienia: jak sensownie wpływać i interpretować wyniki owych testów Walk Forward? Kilka sugestii i obserwacji poniżej.
Przypomnę jedno stwierdzenie z poprzedniego wpisu – komputerowe strategie są tylko (aż?) tak dobre jak człowiek, który je projektuje. Wprawdzie kwestie obliczeniowe maszyna wykona perfekcyjnie ale oceny tych wyników mimo wszystko musi dokonać najsłabsze ogniwo w tym łańcuchu czyli człowiek. Rozpoznanie czyhających pułapek prowadzi do nagrody. Nie jest nią kategoryczna pewność, że strategia zadziała w przyszłości, ale po pierwsze – uzyskujemy większe prawdopodobieństwo że tak się stanie, po drugie – otrzymujemy tzw. weryfikację negatywną. Ta ostatnia przybliża inwestowanie w kierunku dyscypliny naukowej ponieważ jest to obiektywna procedura, która daje możliwość przyjęcia lub odrzucenia hipotezy o efektywności koncepcji inwestycyjnych, których tysiące błąka się po internecie i literaturze, często błędnie i bezwiednie a do tego nieskutecznie powielanych.
Pierwszym kryterium prawidłowości doboru każdej wielkości próby out-of-sample (kroku) w teście Walk Forward powinna być ilość transakcji uzyskana w jego wyniku. Jeśli krok został ustawiony każdorazowo na wielkość 12 miesięcy (jeden rok niekoniecznie kalendarzowy) i w każdym teście otrzymamy średnio tylko kilka transakcji, to sygnał, że zakres danych (krok) trzeba powiększyć. W statystyce mówi się o minimum 30 zdarzeniach, jako próbie potwierdzającej istotność. Sztywne trzymanie się tej zasady w tradingu rzadko przynosi efekt. Z doświadczenia wiem, że czasem 100 wyników może okazać się nieistotne a 300 dopiero zbliżyć do istotności dla strategii krótkoterminowych. Im więcej tym lepiej ale ze świadomością , że 30 to absolutne minimum. O ile nie da się wyprowadzić tylu transakcji na danych tylko dla jednego instrumentu, nieodzowne będzie sprawdzenie systemu na cenach innych papierów.
Sugerowałbym testowanie z użyciem dwóch ustawień wielkości pozycji. Surowe czyli bez żadnych algorytmów regulujących jednorazowe użycie kapitału w transakcji – po to by sprawdzić ile przewagi przynosi system sam w sobie, oraz w kolejnym teście- ile z tego zabiera lub ile dodaje bardziej złożona metoda użycia kapitału. To pozwala łatwiej identyfikować słabe punkty strategii. Efektywny system może ucierpieć w teście weryfikacyjnym w wyniku przeszarżowania z wielkością użytego kapitału albo wręcz przeciwnie – marny przeżyć tylko dzięki dobremu zarządzaniu pozycjami. Natomiast wstępny test stale tylko na jednostce danego instrumentu jest łatwiejszy w ocenie podstaw systemu.
Nie ma natomiast potrzeby robić osobnych fizycznie testów (w sensie dosłownym) czyli najpierw na zbiorze służącym do optymalizacji i ponownie, z ustawieniami początkowymi, na tym drugim, służącym do weryfikacji. Z wielu powodów, a ten najważniejszy nazywa się ?stopnie swobody”. Najprościej rzecz ujmując chodzi o to by nie tracić danych na tzw. jałowy bieg. Jeśli na przykład system używa średniej 100 okresowej a zbiór out-of-sample ma wielkość roku (250 dni) to gdyby zaczynać test sprawdzający od pierwszego dnia wówczas 100 dni z 250 -ciu zostaje zmarnowanych na wyliczenie pierwszego sygnału. Akurat w tych dniach mogą zdarzyć się najistotniejsze transakcje. Dlatego procedura testowa powinna zachować ciągłość – najpierw optymalizujemy parametry na próbie in-sample po czym weryfikujemy jakość parametrów na próbie składającej się łącznie z obu zbiorów, choć oczywiście oceniamy przebiegi tylko na owej dodanej.
Ocenie powinny podlegać nie tylko same matematyczne mierniki wyplute w teście ale koniecznie przebieg krzywej kapitału oraz rozkład poszczególnych transakcji i dotyczy to przede wszystkim wersji podstawowej WFT (1 zbiór in-sample i 1 out-of-sample), prezentowane tu testy kilkupoziomowe same się obronią. Chodzi oczywiście o ustalenie czy wynik nie był czasem spowodowany jednym nadzwyczajnym wydarzeniem i gdzie jest umieszczone maksymalne obsunięcie. Najprawdopodobniej dyskwalifikujący strategię będzie wynik symulacji WFT, w której krzywa najpierw ostro rośnie by później stopniowo opadać.
I wreszcie co i jak zmieniać jeśli system nie zda egzaminu z WFT. Najgorszym pomysłem, szczególnie w wersji podstawowej, byłoby zmienianie do upadłego jedynie samych wartości parametrów tak by uzyskać w końcu pozytywną i gładką equity zarówno na danych służących optymalizacji jak i po symulacji WFT. Po wielu próbach uda się taki efekt zwykle uzyskać ale trzeba zdać sobie sprawę, że to nic innego jak kolejna wersja optymalizacji. Rezultat nie do uzyskania w realnym tradingu. Miejmy w pamięci, że podczas testu Walk Forward symulujemy rzeczywistość, którą wprawdzie znamy ale dopasowywanie się do niej jest oszukiwaniem samego siebie. To tak jakbyśmy chcieli cofnąć żywe transakcje, które zrobiliśmy na prawdziwym rachunku i próbowali dokonać ich jeszcze raz z nowym parametrem. Nieprawdą jest, że komputerowe systemy to tylko wynik mechanicznego mielenia procesora. Potrzeba do nich odrobinę wyrafinowania, świadomości, że rynek jest żywą tkanką i wielu doświadczeń. Mały przykład:
- jeśli zakładamy ewolucję rynku to nawet parametry stabilnego systemu mogą naturalnie poruszać się w coraz szerszym lub węższym albo w ogóle przesuniętym zakresie
- jednym z objawów ewolucji może być na przykład coraz szerszy stop podążający za ceną
- jeśli w procesie optymalizacji wychodzi nam w miarę sensownie szeroki przedział wartości dla owego stopa, to do pierwszego testu WFT wziąłbym najpierw parametr bliski optymalnemu, w kolejnych wersjach ten, który sprawdzał się do tej pory (o ile nadal wypada w zakresie optymalizacyjnym) a dodatkowo kolejny, np. z obszaru powyżej, tak by sprawdzić czy nie czas by odpowiedzieć na ewolucyjne zmiany
- jeśli oba parametry wypadają stabilnie – mamy 2 systemy :-), wprawdzie skorelowane ale nie przesądzone, że tylko jeden przeżyje.
Sama mechanika to jedno, ale niezbędny jest element ludzkiej wyobraźni, bo chodzi o porównywanie i wyciąganie prawidłowych wniosków zamiast brutalnego walenia w klawiaturę ciągu wartości poszczególnych parametrów dla uzyskania chwilowego (najczęściej) efektu. Nieostrożne obchodzenie się z klawiaturą sprawia, że nawet symulacja WFT przepuści zły produkt.
Czasem zaleca się dodanie 3 zbioru do całej procedury weryfikacji strategii. To tzw. test-sample. I jest to już test przeprowadzany w realu ale jedynie w wersji papierowej. Stabilny system powinien wytrzymać i tę próbę czasu.
–*Kathay*–


Dodaj komentarz