poniedziałek, 17 września 2012

System transakcyjny o trzech poziomach hierarchii – warunek ciągłości pozycji przy optymalizacji parametru odwrócenia


Intensywne badania empiryczne systemów o dwóch poziomach hierarchii dla tygodniowych notowań EURUSD były dość długie i wyczerpujące. Co prawda, planuję analogiczny przegląd wyników dla innych par walutowych, ale to już będzie raczej praca mechaniczna. Natomiast sporządzanie wykresów i tabelek skutecznie odciągnęło mnie od prac nad modelem systemu trójpoziomowego. Pora zatem wznowić rozważania na ten temat.



Przy konstrukcji i badaniu systemów przyjąłem zasadę, przynajmniej w odniesieniu do tego bloga, że prace implementacyjne i badania empiryczne każdej ze strategii powinny być poprzedzone opracowaniem modelu systemu oraz matematycznym sformułowaniem algorytmów niezbędnych do jego realizacji. Podejście to pozornie spowalnia tworzenie kolejnych systemów, jednak ma tę zaletę że pozwala już na wczesnych etapach wyjaśniać pewne wątpliwości, jak również unikać marnowania prac programistycznych na podejścia, które okazują się czasami błędne już w samych założeniach.

Tutaj moja osobista refleksja: ileż to razy zdarzało mi się wpadać na kolejną „genialną” myśl, która miała dokonać „rewolucji” w temacie, nad którym właśnie pracowałem. Kiedy biegłem ze swoją ideą do kolegi aby się nią pochwalić, on będąc bardziej doświadczonym w pracach badawczo-rozwojowych, zwykle przerywał moje hymny pochwalne na własną cześć jednym krótkim zdaniem: „Usiadź, weź kartkę, długopis i opisz porządnie swój pomysł”. Wtedy bardzo często okazywało się, że moje algorytmy są niedopracowane, pojęcia i oznaczenia – niedoprecyzowane a w efekcie moja rzekomo przełomowa metoda – nie do zrealizowania w praktyce. Każda taka lekcja dobitnie przypominała mi o tym, jak ważne jest, przystępując do prac, mieć dobry projekt. Tak, jak reżyser nie rozpocznie kręcenia filmu bez scenariusza a budowlaniec – bez planów architektonicznych.

Po tych indywidualnych wynurzeniach pora wrócić do meritum problemu. Zatrzymaliśmy się na definicji operatora u, który pozwoli wyznaczyć dla każdego interwału OHLC zysk, pozycje (początkową i końcową) wynikające z zastosowania w nim parametru p, zoptymalizowanego na sekwencji m rekordów kończącej się na rekordzie poprzedzającym bieżący. Przy okazji przypomnę wzór na optymalizację tego parametru, już sformułowany w konwencji uogólnionych miar zysku i ryzyka, omawianych tutaj.


Aby jednak nie marnować dzisiejszego wpisu na same ogólniki i powtórki, chciałbym krótko nawiązać do problemu, który został podniesiony w komentarzu do jednego z wpisów, jeszcze na temat systemu dwupoziomowego. Dyskutowaliśmy tam propozycję dodatkowego warunku dla parametru p, tak aby – obrazowo ujmując – optymalizując go na danym interwale dopuszczać tylko takie wartości, które zapewnią, że właściwy „grający” system (czyli ten na drugim poziomie) rozpocznie grę z taką pozycją, na jakiej zakończył interwał poprzedni.

Niezależnie od tego, czy i na ile ten warunek okaże się korzystny dla skuteczności systemu – co będzie można ocenić dopiero po implementacji i testach – uznałem, że warto podjąć próbę zapisania go w postaci formalnej, co najmniej jako ćwiczenie dla przypomnienia sobie wprowadzonej symboliki.

A w takim ujęciu wydaje mi się, że wzór na optymalizację parametru p, podany powyżej, powinien zostać uzupełniony o następujący warunek:
ze względu na to, że dotyczy on przejścia z interwału (n-2) na (n-1) a to właśnie p optymalizowane na sekwencji do (n-1)-ego interwału włącznie jest podstawą do działania operatora u i wygenerowania odpowiedniej trójki (z,b,e), zgodnie z symboliką zaproponowaną ostatnio.

To krótkie uzupełnienie warunku optymalizacji p będzie stanowić punkt odniesienia dla formułowania dalszych elementów modelu trójpoziomowego.

Kontynuacja wątku tutaj.

3 komentarze:

  1. Nie wiem, czy do końca się zrozumieliśmy, te wzory wyglądają mi na jeden poziom adaptacji.

    Prezentując oryginalnie koncenpcję myślałem o:
    https://dl.dropbox.com/u/1542785/popt_v3.png

    Obecnie stosuję:
    https://dl.dropbox.com/u/1542785/popt_v1.png
    https://dl.dropbox.com/u/1542785/popt_v4.png

    Można też rozważać:
    https://dl.dropbox.com/u/1542785/popt_v2.png

    OdpowiedzUsuń
    Odpowiedzi
    1. Zaprezentowane dzisiaj kryterium i warunek faktycznie działają na pierwszym poziomie (czyli służą do sterowania systemem drugiego poziomu), napisałem je jako wstęp do warunków na ciągłość pozycji na kolejnym poziomie, które podam jutro.
      Natomiast co do samej idei adaptacji parametru m, to chyba faktycznie nasze myśli poszły trochę innymi drogami, chociaż być może to, co mam na myśli jest zbliżone do tego, co proponujesz we wzorze (3). Przy czym u mnie raczej wewnętrzna jest optymalizacja p, a zewnętrzna po m. Natomiast w pozostałych wzorach postrzegam wewnątrz operację agregacji po m od 1 do M, a na zewnątrz wybór p - przyznam, że takie podejście zupełnie nie przyszło mi do głowy.

      Usuń
    2. Początkowo też myślałem o zewnętrznej pętli m a wewnętrznej p (kolejność argmax nie ma znaczenia), ale wzór 3 dawał bardzo złe wyniki, co zinterpretowałem jako słabą porównywalność gain/risk pomiędzy różnymi m (łatwo raz wyrzucić orła, trudno 200 razy pod rząd). Nieuzasadnioną przewagę zyskują niskie m, a jak widać z serii przeglądu kryteriów jakości nie jest to za dobre.

      Usuń