czwartek, 30 sierpnia 2012

Hierarchiczny dwupoziomowy system transakcyjny – pierwsze badania empiryczne na EURUSD

W ostatnich kilku tekstach omówiłem algorytm dynamicznej optymalizacji parametrów systemu transakcyjnego o stałej obecności na rynku, stałej wielkości pozycji i prostej regule odwracania pozycji. Wraz ze szczegółami dotyczącymi inicjowania pozycji i jej iterowania w poszczególnych interwałach czasowych stanowi to już sensowny system, który można rozważać w realnych inwestycjach. Przy czym należy podkreślić, że brak jakichkolwiek elementów dynamicznego doboru wielkości pozycji i zarządzania kapitałem w ogólności nie jest wynikiem niedopatrzenia czy zaniedbania. Po prostu autor tego bloga wyznaje zasadę, że złożone zadania (a takim jest niewątpliwie stworzenie dobrego systemu o powtarzalnych i stabilnych wynikach) powinny być dzielone na etapy. Najpierw więc należy opracować podstawowy system, dający przewagę nad rynkiem przy elementarnej grze, a potem zająć się jego „tuningiem” w postaci reguł reinwestycji kapitału w celu maksymalizacji zysków.

Skoro jest system, to należy zbadać jego własności na konkretnym zbiorze danych historycznych. Zatem przedstawiam pierwsze wyniki symulacji systemu na notowaniach pary EURUSD w interwałach tygodniowych. Horyzont czasowy badania to okres od roku 2006 do końca poprzedniego tygodnia. Rozległość zbioru danych jest uzasadniona chęcią zaprezentowania ogólnego i przekrojowego obrazu działania systemu – dalsze, bardziej szczegółowe badania będą przeprowadzane na innych zbiorach danych.

Przypomnieć należy tutaj, że omówiony system o hierarchicznej strukturze pozwala na dynamiczny dobór parametru p, decydującego o poziomie odwrócenia pozycji w każdym z interwałów. Jednak możliwość takiej adaptacji została okupiona wprowadzeniem innego parametru m, decydującego o liczbie rekordów stosowanych do optymalizacji parametrem p. Konieczność doboru tego parametru wymusza organizację eksperymentu symulacyjnego. Należy po prostu przebadać zachowanie systemu dla szerokiego wachlarza wartości m. W przeprowadzonym eksperymencie wziąłem pod uwagę m zmieniające się od 1 do 200. Z tego też powodu należy się czytelnikowi wyjaśnienie, jak został wykorzystany zbiór rekordów OHLC rozpatrywany do symulacji. Otóż właściwe trajektorie zysków graczy, czyli linie kapitału, były wyznaczane dla okresu od początku 2010 do końca zbioru danych, czyli 24 sierpnia bieżącego roku. Natomiast, ponieważ maksymalny okres adaptacji wynosił niemal 4 lata, niezbędne było sięgnięcie w głąb aż po rekordy z lat 2006-2009.

A teraz przejdźmy już do prezentacji wyników. Najpierw dwa zdania wyjaśnienia. Po pierwsze, systemy omawiane tutaj były w dwu wersjach, opartych na różnych postulatach: podążania za trendem i antytrendowej. Co więcej, mechanizmy dynamicznej adaptacji funkcjonują jednakowo w obu przypadkach. Dzisiaj, dla skupienia uwagi, wyniki dla systemu podążającego za trendem. Po drugie zaś, należy wyjaśnić formę prezentacji rezultatów. Skoro system stanowi w istocie całą rodzinę indeksowaną parametrem m, to przedstawiam wykres obrazujący skumulowane zyski końcowe (ciągła linia niebieska) oraz maksymalne obsunięcia (przerywana linia czarna) dla każdej z rozpatrywanych wartości m od 1 do 200.



Ze względu na złożoność zagadnienia wnioski, inne niż truizm „jak widać nadal wszystko zależy od parametru” pozostawiam na najbliższą przyszłość, oczywiście wraz z bardziej szczegółowym badaniem rezultatów eksperymentu.

Kontynuacja wątku tutaj.

2 komentarze:

  1. Do wniosków ważny jest też wykres dla strategii antytrendowej. Wykresy z(p) były jakby odbite względem osi x, gdyby z(m) były zbliżone możnaby wnioskować, że maksima przypadają koło 26 i 52 (pół roku i rok) a dalej już analiza/pamięć ludzka nie sięga, co skrzętnie wykorzystują politycy ustawiając wybory co 4 lata :). A poważniej to system łapie za dużo szumu.

    OdpowiedzUsuń
    Odpowiedzi
    1. Wykres dla kontrarianina zamieszczę jutro. Kształt może być pewnym zaskoczeniem, więc celowo trzymam go w zanadrzu jako niespodziankę dla czytelnika :)
      Wrażliwość na szum jest oczywistą wadą tej strategii. Można temu próbować zaradzić wprowadzając do etapu optymalizacji tzw. "funkcje kary", co inaczej bywa nazywane regularyzacją. Niestety, jak zwykle będzie to wymagać dodawania kolejnych parametrów :( A te na razie staram się oszczędzać jak tylko można.

      Usuń