Test wszystkich testów część 3

Weryfikacja efektywności systemu na raty metodą Walk Forward Test, dostępną automatycznie w Amibrokerze w 2 wersjach (patrz poprzedni wpis), jest związana z pewnym ogromnie kontrowersyjnym faktem, dotyczącym mechanicznych strategii. Sam przez lata próbowałem nie dopuścić go do świadomości ale obserwacje top profesjonalistów z tej branży częściowo przekonały mnie do rzucenia ręcznika…

Mechaniczne metody ułatwiają precyzyjnie i opanowanie podejmować decyzje w najbardziej stresujących emocjonalnie momentach, szczególnie gdy sporo się dzieje na rynku. Po prostu mechanizm ich istnienia polega na automatycznym zawierzeniu generowanym przez nie decyzjom (zlecenia mogą składać również komputery co jeszcze bardziej upraszcza sprawę). Komfort jaki oferuje automatyzm decyzji zamiast bieżących analiz oznacza jednak, że najpierw solidną robotę przygotowawczą wykonać musi człowiek. I to on zwykle jest niestety najsłabszym ogniwem w tym procesie.  

Ostatnią i chyba najważniejszą deską ratunku w fazie projektowania systemu jest w tym wypadku test Walk Forward. Ma przede wszystkim obnażyć wszystkie błędy popełnione w trakcie kodowania oraz optymalizacji parametrów i wielkości pozycji. Choć sam w sobie jest procedurą weryfikacyjną to pomimo tego wymaga jeszcze od projektanta sporo uwagi i doświadczenia.

Cóż za kontrowersyjna materia tak mnie zasępiła w pierwszym paragrafie? Być może część z czytelników to zaskoczy równie mocno jak początkowo mnie ale na wszystko wydrzemy naturze logiczne oraz empiryczne uzasadnienie.

Zakładam otóż, że większość konstruktorów systemów transakcyjnych czytało lub słyszało niejednokrotnie takie przestrogi: optymalizacja to błąd, optymalizacja prowadzi do śmierci systemu, unikaj jej lub zmniejsz do absolutnego minimum. Otóż w większości wypadków, jeśli nie we wszystkich, można o tych dobrych radach jak najszybciej zapomnieć! O ile samą optymalizacją zajmiemy się w nieodległej przeszłości to dziś interesuje nas jej kontekst w procedurze Walk Forward Test (WFT). Dodajmy – kontekst dość częstej optymalizacji, bo na tym opierają się obie modyfikacje WFT. Pytanie jak częstej. Otóż być może zaskoczenie będzie jeszcze większe jeśli napiszę: profesjonaliści czyli fundusze dużego ryzyka (hedge funds), zajmujące się typowo komputerowymi sposobami zarządzania, robią to niemal co dzień! Fakt, że taka częstotliwość dotyczy metod dość mocno wyspecjalizowanych, jak arbitraż statystyczny czy arbitraż oparty na impecie a więc technikach z zakresu tzw. high frequency trading (nawet kilka tysięcy transakcji dziennie, często trwających tylko kilka sekund, gdzie czas dostępu, reakcji oraz realizacji zlecenia odgrywa ogromna rolę). Ale to właśnie okres przyjęty jako rama czasowa w systemie ma znaczenie dla częstości weryfikacji. Systemy długoterminowe powinny być diagnozowane i optymalizowane co kilka lat, te krótkoterminowe – co kilka miesięcy. Znalezienie proporcji okresu optymalizacji, testu WFT i realnego tradingu nie jest sprawą prostą ale jak się okazuje w wielu przypadkach- nieuniknioną. Powód ? Zanikające nieefektywności cenowe na rynku, pojawiające się anomalie, coraz większa płynność i szybkość obrotu, globalizacja, powstawanie nowych instrumentów, produktów i ich powiązań, zmiany fundamentalne, coraz większa ingerencja komputerów – to tylko najważniejsze przyczyny zmian mechaniki rynków. Kiedyś, gdy te procesy zachodziły bardzo powoli, gdy rodziła się Analiza Techniczna, rynek derywatów był w powijakach a systemy mechaniczne i same komputery były zjawiskiem, tezy o długookresowej stabilności, unikania optymalizacji i wysokiej ?techniczności” rynku były być może uzasadnionymi koncepcjami bo szły za nimi wyniki. Te czasy odchodzą do lamusa, zostają jeszcze co najwyżej na kartach starych podręczników i w zamierzchłych wywiadach dawnych guru. Ja mogę się łudzić, że ta szybkość zmian to nieprawda, przez wiele lat hołdowałem klasycznym, szlachetnym ale deaktualizującym się regułom. Kiedy jednak stwierdzenia o nieuniknionych optymalizacjach padają z ust takich tuzów tej branży jak James Simons albo spod pióra autorów profesjonalnych strategii oraz książek jak Stridsman, Pardo czy Bryant, przestaję płynąć pod prąd… Choć nie bez żalu….

Na tej zmianie podejścia opierają się oba testy, zaimplementowane w Amibrokerze. O ile powodów było więcej, mam nadzieję, że jego projektodawcy sami będą mogli mnie uzupełnić. Pokrótce więc zasadniczy koncept obu:

1/ Rolling test (kroczenia)

Domniemanie przyjęte w tym sposobie zakłada, że jedynie ostatnie notowania rynkowe mają wartość prognostyczną albo raczej objaśniającą co do aktualnej mechaniki i podskórnych zjawisk rynku. Stąd optymalizację wykonuje się okresowo tylko na ostatnich danych (in-sample, zółte strzałki) i proporcjonalnie weryfikuje na tych najświeższych (out-of-sample, zielone strzałki). Po stałym okresie, który upłynie od ostatniego testu (tzw. krok) procedurę ponawiamy. Zarówno w realnym tradingu jak i kroczących testach historycznych. Wada: pokrojone odcinki danych, nie zawierające tych cen ze starszych okresów, mogą również nie obejmować wszystkich stanów rynkowych, np. faza ostrego trendu o dużej zmienności może pojawić się na początku testów i nigdy potem, co wykrzywi nieco wyniki

2/ Anchored test (zakotwiczenia)

Po części likwiduje powyższą wadę gdyż coraz większy zakres danych przyjmowanych do testów obejmuje coraz większą paletę faz rynkowych. Poza tym w ten właśnie sposób system-traderzy tworzą realnie swoje mechaniczne bestie – nowe strategie powstają często na gruzach lub rusztowaniu starych i opierają się na coraz większej puli danych. Drobna wada – coraz dłuższe dane mogą być skażone tzw. nastawieniem (ang: bias). Polega ono na tym, że np. dostępne dane obejmują tylko rynkową hossę a kolejne jeden lub dwa okresy weryfikacyjne – tylko bessę. Obraz kontrolny podczas WFT również zostanie wówczas nieco wykrzywiony.

Dla wychwycenia stabilności stworzonej strategii najlepiej oczywiście zrobić oba testy, mając w pamięci ich specyfikę.

Dla tych, których nie znużył jeszcze temat – kolejny wpis będzie ostatnim tego uzupełnieniem.

–*Kathay*–

[Głosów:0    Średnia:0/5]

9 Komentarzy

  1. GiełduGiełdu

    Ciągle mnie męczy temat "High frequency trading".

    Czy stosowane tam strategie różnią się od powszechnie znanych (np. wybicie z kanału, oscylatory, średnie kroczące, itp.)?

    Dlaczego tak bardzo ważne są czas dostępu, reakacji, itp.?

    Pozdrowienia,
    GiełduGiełdu

  2. DAPI

    takie wpisy nigdy nie nużą {przynajmniej mnie} a są potwierdzeniem wniosków które uzyskuję po setkach godzin testów różnego rodzju strategii…dla mnie to jest o tyle "super" że ktoś w miarę "namacalny" z dużym doświadczeniem to potwierdza {a nie jakiś kolejny Bill co do którego zaufanie w związku z pozycją książkową jest z mojej strony ograniczone}
    optymalizacja to kolejne narzędzie które źle zastosowane może "zabić" ale poprawnie może bardzo pomóc…a przyjmując założenie że rynek jest efektywny w bardzo krotkich okresach a w reszcie czasu panuje chaos jest to dokonałe narzędzie do wychwycenia tych właśnie statystycznie istotnych momentów…choć stosowanie musi być całkowicie świadome konsekwencji
    cieszę się kathay że tutaj piszesz i w ogóle piszesz coś do nas któzy szukają drogi we mgle…

  3. marek

    Zdziwiłbym się tylko gdyby Simons nie stosował optymalizacji.
    Według mnie wystarczy ta najprostsza max. 2 stopniowa na jak nawiekszej ilości danych czyli ta druga : (zakotwiczenia) wykonywana co roku 😉

  4. Lucek

    {a nie jakiś kolejny Bill co do którego zaufanie w związku z pozycją książkową jest z mojej strony ograniczone}

    Przecież wiadomo, ze Polacy są mistrzami świata "wszystkiego" i nikt nam nie podskoczy!
    Dlaczego akurat w tradingu mielibyśmy być gorsi?

  5. JacekS

    to Ty Lucek ???
    ten od mapy, czy inny Lucek ?

    w każdym razie pozdrowienia 😉

  6. gzalewski

    Jak zawsze bywa jest optymalizacja i optymalizacja.
    ta o ktorej sie mowi najczesciej, w kontekscie błedów, pułapek a tym samym jej unikania. To optymalizacja amatorów, którzy szukają jak najbardziej stromej linii kapitału, nie bacząc na to co jest w środku.
    Optymalizacja profesjonalna, to w sumie sprawdzanie na ile system sprawdza się we wciąż zmieniających się warunkach rynkowych.
    I wlasciwie moze lepiej nalezaloby ją nazwac “ciągłą konserwacją systemu”

  7. kathay

    ująłbym to inaczej:

    jest
    a/ optymalizacja
    b/ nadoptymalizacja (curve fitting)

    WFT ma za zadanie wychwycić to drugie

  8. riScal

    idąc jeszcze dalej ;), jest:
    1/ good curve fitting – bo przecież chcemy dopasować się do krzywej zależności i relacji występujących na rynku
    2/ bad curve fitting – dopasowanie do przypadkowych charakterystyk, czyli fooled by randomness

    przy WFT trzeba też pamiętać, że może się tak zdażyć, że OOS(ze względu na krótki okres) może nie być specjalnie reprezentatywne dla całej populacji …

  9. JL

    @Kathay
    Bylbym niezmiernie wdzieczny, za wpis o “konserwacji” systemu z wykorzystaniem walk-forward. Czyli takie praktyczne wykorzystanie WFA w praktyce 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Proszę podać wartość CAPTCHA: *