Mechaniczne systemy transakcyjne na przykładzie systemu Pair
Transkrypt
Mechaniczne systemy transakcyjne na przykładzie systemu Pair
Mechaniczne systemy transakcyjne na przykładzie Pair Trading zaimplementowanego na platformie TMM. Zastosowanie systemu na rynku Forex. Michał Gronowski Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Politechnika Częstochowska Streszczenie W pracy zostaną przedstawione mechaniczne systemy transakcyjne nie tylko z punktu widzenia finansowego, ale również z punktu widzenia implementacji i wdrożenia. Postaram się również przedstawić znane mi zalety takich systemów, ich przewagę nad ręcznym podejmowaniem decyzji. Przybliżę również kształtowanie się psychiki gracza giełdowego, aby pokazać jak system mechaniczny może pomóc ludziom nieodpornym na czynniki psychologiczne. Następnie przedstawię implementację stworzonego przeze mnie mechanicznego systemu handlowego Pair Trading. System ten został wdrożony na platformie TMM, gdyż tylko ta platforma ofiarowała możliwości pozwalające na uruchomienie tego systemu. Zaprezentuję działanie systemu na rynku Forex. 1. Wstęp Od początku powstania ludzkości prowadzono wymianę towarów. Wynalezienie waluty tylko spotęgowało tą wymianę, spekulacja jako taka została wynaleziona przy pierwszej wymianie, jaką zapoczątkował człowiek. Natura ludzka powodouje, że chcemy nie tylko uniknąć straty, ale również jak najwięcej na wymianie zarobić. Przez lata wymiana towarów nie była regulowana, wszystko odbywało się na różnego rodzaju rynkach, czy też targach. Jednak człowiek ciągle dążący do doskonałości wynalazł mechanizm zwany giełdą, który umożliwiał tą wymianę w sposób kontrolowany. Dzisiaj znamy wiele różnych giełd na przykład: Papierów Wartościowych, Walutowa, Towarowa itp. Jako, że spekulacja na rynkach może przynieść duże zyski słowo “giełda” jest dla wielu słowem elektryzującym. Wszyscy znamy sztandarowe wręcz historie amerykańskich supermaklerów i inwestorów, którzy zaczynając praktycznie z niczym dorobili się milionów. Od początku XIX wieku, kiedy to w Japonii wprowadzono pierwsze spekulacje z używaniem wtedy jeszcze bardzo skąpej analizy technicznej, ludzie zaczynali rozumieć, że na giełdzie można zastosować odpowiedni aparat matematyczny wspomagający spekulację. Rozwinięcie analizy technicznej miało miejsce nadzwyczaj szybko i trwa po dzień dzisiejszy. Powstało wiele teorii, wskaźników, formacji, które wspomagały traderów w podejmowaniu decyzji. Mówiąc o teoriach, które zasadniczo zmieniły podejście do spekulacji nie można pominąć teorii liczb Finobacciego, która pozwala między innymi identyfikować długość trendu. Inną istotną teorią dotyczącą rynku jest teoria poziomów Dowa wynaleziona na początku XX wieku, a rozwijana po dzień dzisiejszy. Aby być konsekwentnym muszę jeszcze wymienić tak ważne teorie jak: Eliota czy Carolana. Rozwój technik informatycznych pozwolił na szerszy dostęp do rynków. Jeszcze kilkadziesiąt lat temu zwykły śmiertelnik, jeśli chciał spekulować na rynku miał 1 utrudnione zadanie, gdyż musiał korzystać z usług biur pośrednictwa zwanych biurami maklerskimi. Rozwój usług informatycznych, a w szczególności rozwój Internetu spowodował dotarcie z giełdą pod przysłowiowe strzechy. Dziś każdy może bez wychodzenie z domu zawierać transakcje na rynku. Ta możliwość spowodowała ogromy wzrost zainteresowania tematem. Jak grzyby po deszczu zaczęły powstawać portale internetowe zajmujące się szeroko rozumianą spekulacją rynkową i inwestowaniem. Kusząca wizja szybkich zarobków spowodowała rozwój nowej branży usługowej zwanej doradztwo inwestycyjne. Przemieżając zasoby WWW napotkamy na niezliczoną ilość takich właśnie usług, kuszących nas olbrzymimi wynikami. Pomimo tych wszystkich czynników, które powyżej opisałem giełda dalej pozostaje nieujarzmiona, a około 80% graczy jak mówią statystyki regularnie traci swoje pieniądze. Dlaczego tak się dzieje? Jak temu zaradzić? Oto tematy, które podejmę w niniejszym opracowaniu. 2. Psychologia rynku. Jak powszechnie wiadomo rynki reagują na impulsy makroekonomiczne, analiza tychże impulsów jest nazywana analizą fundamentalną i funkcjonuje obok analizy technicznej. Można powiedzieć, że obie te dziedziny się nawzajem uzupełniają. Zaznaczyć należy również, że jeśli sygnały generowane za pomocą analizy technicznej są przez inwestorów interpretowane jednoznacznie, to sygnały analizy fundamentalnej mogą być rozpatrywane w różnoraki sposób. W tym opracowaniu nie będziemy się zajmować podejściem fundamentalnym. Jak wcześniej wspomniałem wskaźniki analizy technicznej generują nam sygnały, które przetworzone w odpowiedni sposób pozwalają na dokonywanie zyskownych transakcji. Dlaczego więc dzieje się tak, że tak duży odsetek grających traci swoje pieniądze, rujnuje swoje fortuny? W historii powstało wiele teorii na ten temat. W środowiskach akademickich do niedawna panowało przekonanie, że nie można przewidywać do końca zachowania rynku. Podjęto nawet kilka eksperymetów mających potwierdzić tą tezę. Jednak ludzie związani z praktycznie z giełdą podważają teorie akademicką twierdząc, że konsekwentnie stosując strategie inwestycyjną można osiągnąć wymierne rezultaty[1]. Potwierdzeniem tych tez mogą być wyniki finansowe generowane przez rekinów giełdowych. Większość uczestników rynku ma opracowaną strategię inwestycyjną. Nie ważne, jakie ma ona podstawy, lecz w większości przypadków jest przemyślana i ustytuowana na mocnych fundamentach. Najwięcej trudności sprawia jednak zastoswanie wypracowanej wcześniej strategii. Psychologia zajmuję się tym zjawiskiem od dawna, starając się opracować różne wzorce zastosowań gracza giełdowego. Faktem jest, że psychologia rynku odgrywa znaczącą rolę w podejmowaniu decyzji przez tradera. Jak widać opracowanie odpowiedniego systemu transakcyjnego czy też inwestycyjnego to dopiero połowa sukcesu. Aby skutecznie spekulować na rynku należy zdać sobie sprawę, że zachowanie cen na giełdzie podlega całkowicie mechanizmowi podaży i popytu, a analiza techniczna jest narzędziem pozwalającym na monitorowanie i przewidywanie zachowań tłumu, który uczestniczy w rynku. Homo est animal sociale (Człowiek jest istotą społeczną), bez odpowiedniego treningu i przygotowania ulega błędnym reakcjom kupując wbrew temu, co mu mówi system, dlatego doskonałość strategii nic tu nie da. Bardzo częstą praktyką jest kupowanie na 2 szczytach i sprzedawanie w dołkach. Graczowi wydaje się, że nastąpi wzrost notowań, chociaż jego system mówi coś zupełnie odmiennego. Patrząc na wykresy nie może ulec presji szybkiego zarobku, pomimo wskazań systemu zawiera transakcję kupna. Niestety na rynku zaczęły panować niedźwiedzie i gracz stracił swój kapitał. Jeśli dysponuje jeszcze wolnymi środkami na rachunku bardzo często zdarza się, że po uprzedniej stracie psychika gracza jest nastawiona na odrobienie środków. Nie mając sygnałów do rozpoczęcia handlu gracz i tak zajmuje pozycję lokując jeszcze więcej kapitału niż poprzednio, gdyż jeśli mając 1000$ stracił 10% i zostało mu 900$, to aby odrobić stratę musi zarobić około 12%. Takie zachowanie bardzo często kończy się bankrutctwem. Innym tragicznym w skutkach a mającym działanie psychologiczne symptomem gracza giełdowego jest brak akceptacji straty. Początkującym uczestnikom rynku sprawia bardzo dużo trudności odróżnienie straty od przegranej. Często ma miejsce sytuacja, gdy gracz pomimo spadających cen nie sprzedaje swoich udziałów, choć wszystko wskazuje na to, iż ceny na rynku w dalszym ciągu będą spadać. Tak ja w poprzednim przypadku takie zachowanie doprowadza do bankructwa. Przypadki podobne do powyższych jak i również wiele innych zostało opisanych w[1]. Na Rys. 1 przedstawiłem wpływ emocji na zachowanie ludzkie. Rys 1. Emocje w dokonywaniu transakcji Ludzie poddają się zachowaniom zbiorowym i niektóre działania społeczności rynkowej mogą być bardzo irracjonalne i niewytłumaczalne, potwierdzeniem tej tezy jest krach na giełdzie amerykańskiej w 1987 r., który w ocenie wielu ekonomistów nie doczekał się dotychczas wyczerpującego racjonalnego wyjaśnienia. Od lat siedemdziesiątych ubiegłego wieku rozwija się dziedzina nauki zwana behawioryzmem finansowych zajmująca się badaniem i przewidywaniem zachowań inwestorów w oparciu o wiedzę dotyczącą poznawczych i emocjonalnych procesów funkcjonowania 3 umysłu człowieka. Przeprowadzono różnorakie badania, których wyniki wskazują, że psychologiczne podstawy procesu decyzyjnego gracza na rynku giełdowym są bardzo złożone[2]. 3. Mechaniczne systemy handlowe. Rozwój techniki i upowszechnienie tak zwanych komputerów domowych spowodowało, że uczestnicy rynku zamienili kartkę na ekran monitora. Komputer dawał nowe możliwości analizy, które stały się praktycznie ograniczone tylko i wyłącznie wyobraźnią ich twórców. Skomplikowane i bardzo czasochłonne obliczenia, mogły być wykonywane niemal natychmiastowo. Spowodowało to duży wzrost narzędzi analizy technicznej opartej na zaawansowanych metodach matematycznych. Na rynku pojawiło się oprogramowanie umożliwiające tworzenie własnych wskaźników i wspomagające analizę. Na początku oprogramowanie takie było bardzo drogie, ale z czasem każdy gracz może sobie na nie pozwolić. Istnieją również programy zupełnie darmowe, które mają bardzo rozbudowaną funkcjonalność. Popularność komputerów przyczyniła się nie tylko do wzrostu wskaźników analizy technicznej. Ludzie zaczęli dostrzegać możliwość zawierania transakcji przez komputer[3]. W ten oto sposób powstały mechaniczne systemy handlowe. W zasadzie są dwa rodzaje tychże systemów: pierwszy rodzaj to systemy, które tylko i wyłącznie generują sygnały, drugim rodzajem natomiast są systemy, które oprócz generowania sygnałów same zawierają pozycję. Jeśli chodzi o pierwszy przypadek to nawet w naszym kraju można zauważyć wiele takich systemów, dzięki którym, jak głoszą reklamy, w krótkim czasie można zarobić fortunę. Oczywiście sygnały z takich systemów kosztują niemało, a wyniki są raczej niesatysfakcjonujące. W drugim przypadku jest nieco inaczej. Zazwyczaj gracze sami piszą taki system za pomocą dostępnych narzędzi czy też platform. W tej dziedzinie widzę pole popisu dla informatyka. Choć narzędzia, za pomocą, których można zaprogramować dany system są coraz bardziej rozbudowane, mają zaimplementowane większość wskaźników, pozwalają implementować swoje własne, mają jednak wady. Projektowane najczęściej przez informatyków nie zawsze spełniają wymagania graczy giełdowych. W ostatnim czasie na rynku pojawiło się wiele z takich narzędzi. Między innymi wymienić można: Wealth Lab, Metastock, Metatrader, Deal Book, Tradestation, i inne. Niektóre z nich pozwalają nawet na programowanie systemów w wbudowanym języku programowania. Niestety jak się sam przekonałem oprogramowanie to zachowuje się czasem bardzo dziwnie. Firmy brokerskie bardzo często dają możliwość implementacji własnego oprogramowania w oparciu o udostępniane funkcje z rodziny API. Programiście daje to nieograniczone możliwości jeśli chodzi o pisanie, testowanie i wdrażanie systemów handlowych. Takie oprogramowanie oraz odpowiednie systemy powstają w naszym zespole. Używając dostępnych języków programowania w szczególności c++ czy javy programista może bez większego problemu zaimplementować zaprojektowane przez siebie strategie inwestycyjne i testować je na rzeczywistych danych z rynku. Konta demo umożliwiają takie testowanie bez narażania na szwank zgromadzonego kapitału. Według fachowej literatury i znawców tematu, każdy system powinien być testowany na danych pobieranych na żywo. Przykładem systemu dającego opisane powyżej możliwości jest TradeMM. Mówiąc o systemach transakcyjnych należy wspomnieć o ich zaletach. W poprzednim akapicie umyślnie wspomniałem o roli psychologii na rynku. Systemy 4 działające mechanicznie pozwalają uniknąć emocji i stresu na który narażony jest uczestnik rynku, a które, jak wcześniej udowadniałem mają ogromny wpływ na decyzje. Automatyczne podejmowanie transakcji przez komputer pozwala również na zaoszczędzenie czasu, nie wszyscy mogą sobie pozwolić na ciągłą obserwacje wykresów giełdowych. System mechaniczny nie wymaga od gracza ciągłego uczestnictwa w procesie podejmowania decyzji rynkowych. Komputer może to zrobić automatycznie, a gracz tylko w określonych godzinach będzie sprawdzał jakie system osiągnął wyniki i jak się w danej sytuacji zachowywał. Kolejną niewątpliwą zaletą systemów mechanicznych jest konsekwencja z jaką stosują zaprojektowaną strategię. Jak pokazują badania człowiek ma z tym ogromny problem. Komputer nie bez ingerencji człowieka nie pozwoli sobie na zmianę parametrów systemu nawet gdy jego wyniki na początku nie będą imponujące. Przedstawiając zalety systemów nie sposób wspomnieć o wadach oraz o uprzedzeniach graczy. Starsi uczestnicy rynku przyzwyczajeni do tradycyjnych metod analizowania kursów, czyli kartki i ołówka choć zauważają zalety komputerów w procesie analizy, to nie wyobrażają sobie sytuacji w której komputer sam dokonuje transakcji. Ciężko im jest zaakceptować, że to maszyna podejmuje decyzje. Często wymienianą w wielu opracowaniach wadą mechanicznych systemów transakcyjnych jest ich oporność na wszelkie zmiany. Rynek, ponieważ jest kreowany mechanizmami popytu i podaży, jest organizmem dynamicznym. Reakcje rynku są odzwierciedleniem zachowań ludzi w nim uczestniczących. Dlatego kursy mogą się czasem zachowywać dziwnie i wbrew wszelkim oczekiwaniom. Rozwiązaniem tego problemu jest stworzenie systemu adaptowalnego, tak, aby mógł on być łatwo dostosowywany do sytuacji panującej na rynku. Odrębną kwestią jest odpowiednie zarządzanie kapitałem przez system, aby w razie sytuacji kryzysowej poniesiona strata nie była dotkliwa. Testując systemy mechaniczne należy zwrócić uwagę na to, w jaki sposób przebiega krzywa kapitału, jaki jest jego maksymalny obsuw, ile było procentowo transakcji zyskownych, ile jest transakcji długich i krótkich. Jeśli testujemy systemy i patrzymy na wynik możemy w rzeczywistości doznać rozczarowania. Może dojść do sytuacji, w której system będzie cały czas na minusie i całą stratę odrobi w jednej transakcji. Na rysunku 2 widać jak przebiegły krzywe kapitału poszczególnych systemów. 1300 1200 1100 1000 900 800 700 600 500 400 300 1 2 3 4 5 6 7 8 Rys. 2 Krzywe dwóch systemów 5 9 10 Linia różowa przedstawia system poprawny, natomiast linia niebieska system, który nie radząc sobie cały kapitał odrabia w jednej transakcji. Dobór parametrów wejściowych do systemu jest bardzo ważny, ale jeśli chodzi o optymalizację należy postępować bardzo ostrożnie. Rynek jest bardzo zamiennym organizmem i parametry dobrane w roku X mogą się okazać całkiem nieodpowiednie dla roku Y, ponieważ sytuacja gospodarcza zmieniła się diametralnie. Nie twierdzę, że optymalizację należy wykluczyć z procesu projektowania systemu mechanicznego, jednak trzeba przeprowadzać ją bardzo ostrożnie. Parametry dobrane w procesie optymalizacji muszą być korygowane przez jakiś czas. 4. Założenia merytoryczne systemu Pair Trading. System Pair Trading został po raz pierwszy zastosowany na rynku papierów wartościowych. System ten stosowany jako jedna z opcji hedgingu. Hedging polega na zabezpieczaniu jednej pozycji drugą pozycją, szuka się pozycji silnie skorelowanych ujemnie i zawiera transakcje przeciwstawne (Kup na jednej sprzedaj na drugiej). W przypadku straty na jednej z pozycji inwestor rekompensuję tą stratę na pozycji przeciwstawnej[4]. W mojej implementacji systemu Pair Trading na rynku Forex założenia są nieco inne. Rynek Walutowy jest rynkiem silnych impulsów trendowych, reaguje on silnie na wiele wydarzeń makroekonomicznych w szczególności ze Stanów Zjednoczonych. Publikacje danych o bezrobociu, liczbie nowych miejsc pracy w sektorze pozarolniczym czy też danych o inflacji (CPI, PPI)., bilansu w handlu międzynarodowym powodują silne zmiany kursów na rynku Forex. Badają ten rynek zauważyłem, że poszczególne pary walut są silnie skorelowane. To logiczne biorąc pod uwagę, że większość transakcji jest realizowana w dolarach. Badając korelację par w których USD jest parą kwotowaną można stwierdzić, że ta korelacja jest bardzo bliska 1. Oznacza to, że zmiana jednej pary determinuje zmianę pary drugiej. Jednak w niektórych momentach korelacja ta się osłabia, są to kluczowe momenty dla sytemu. Są to najczęściej momenty po impulsie na który reaguje kurs walut. Wtedy zajmujemy odpowiednie pozycje zgodne z założeniami systemu. Jak napisano w literaturze gracze na rynku czekają na trend, jednak w day-tradingu (zajmowaniu pozycji wewnątrz dnia), a w szczególności na rynku forex bardzo ważna jest umiejętność grania w sytuacji beztrendowej. Jak wcześniej wspomniałem aby strategia Pair Trading była skuteczna musimy znaleźć odpowiednie pary walut, które spełniają warunki dla handlu. Rozpatrujemy waluty pod względem wzajemnej korelacji i pod tym względem dobieramy odpowiednie parametry handlu dla systemu. Następnym krokiem jest obliczenie wskaźnika analizy technicznej, spreadu. Informuje on system o tym jak się mają względem siebie ceny poszczególnych par w danych momentach czasowych. Równanie spreadu przedstawia się następująco: t1 t 2 si = i − i t10 t 2 0 , gdzie si - wartość wskaźnika spreadu dla i-tego bara; t1i – cena zamknięcia dla pierwszego kursu dla i-tego bara; t10 – punkt bazowy dla pierwszego kursu; 6 (1) t2i – cena zamknięcia dla drugo kursu dla i-tego bara; t20 – punkt bazowy dla drugiego kursu. Kluczowym wskaźnikiem dla podejmowania decyzji są wstęgi spreadu liczone w następujący sposób: SB = a*(HV1+HV2)*(1-R) , (2) gdzie: a – współczynnik normalizacji; HV1 – odchylenie standardowe ceny zamknięcia dla pierwszej pary z n okresów; HV2 – odchylenie standardowe ceny zamknięcia dla drugiej pary z n okresów; R – korelacja liniowa pomiędzy cenami zamknięcia z n okresów. System podejmuje decyzję jeśli linia wskaźnika spreadu przebija linię wstęgi wtedy w zależności od zdefiniowanych parametrów handlu system wchodzi na rynek, jeśli spread powraca i przebija linię zera system zamyka pozycję. Dokładny opis algorytmu zostanie przedstawiony w następnym podpunkcie niniejszego opracowania. 5. Implementacja systemu Pair Trading na platformie TMM. Platforma TMM jest narzędziem umożliwiającym wdrażanie systemów mechanicznych. Platforma TMM powstaje w Instytucie Informatyki Teoretycznej i Stosowanej Politechniki Częstochowskiej w zespole któremu patronuje Pan prof. dr hab. inż. Paweł Sewastianow. TMM za pomocą funkcji z rodziny API łączy się z serwerem. który umożliwia zawieranie transakcji rzeczywistych. Wszystkie dane, ceny, wielkości spreadu, które są pobierane serwera są danymi rzeczywistymi. Platforma w obecnym stadium rozwoju pozwala wizualizować kursy, zawierać transakcję, zmieniać parametry transakcji w sposób automatyczny. Jednak główną zaletą TMM jest możliwość implementacji własnych mechaniczych systemów transakcyjne. Dzięki zastosowaniu języka C++ możliwe jest wdrażanie tak innowacyjnych rozwiązań jak na przykład systemy oparte o logikę rozmytą, czy podejście wielokryterialne. Inne platformy, chodź bardziej rozbudowane, jeśli chodzi o wizualizację cen, niestety nie dają takich możliwości. Dzięki zastosowaniu języka C++, na platformie można zaprogramować dosłownie wszystko. System Pair Trading, którego założenia ogólne przedstawiłem w poprzednim rozdziale jest systemem, którego wdrożenie wymaga możliwości jednoczesnej operacji na dwóch parach walut. Bardzo drogie systemy umożliwiają zawieranie takich operacji, jednakże takie rozwiązanie też nie są doskonałe. Ra rysunku 5 przedstawiony został algorytm systemu Pair Trading. 7 oblicz S oblicz SB if (pozycja otwarta) { if (S>SB) Long A Short B if (S<-SB) Long B Short A } else { Rys 3. Algorytm if(S<0 andsystemu Long A)Pair Trading close A close B if(S>0 and Long B) close B close A } Rys 5. Algorytm systemu Pair Trading Algorytm ten został wdrożony na platformie TMM, wyniki działania algorytmu w okresie ostatniego miesiąca zostaną przedstawione poniżej. Optymalizacja systemu została przeprowadzona nie ze względu na zysk, ale ze względu na maksymalne obsunięcie kapitału (DD), ponieważ chciałem postawić szczególny nacisk na niezawodność systemu. Parametry wejściowe systemu zostały zoptymalizowane metodą direct serach metod, a zagadnienie optymalizacyjne można sformułować następująco: ( a, n ) opt = arg( max a ,n DD(a, n) ) , (3) gdzie a ∈ [1,10]; n ∈ [ 4,50] . Celowo nie przedstawiam wyników systemu, ponieważ zostały już one zaprezentowane w [5], gdzie każdy może je sobie obejrzeć. Wdrożony system pracuje w pełni automatycznie, a jego wyniki w końcowych fazach prac nad platformą i systemem będą zapisywane do bazy danych i publikowane na stronie internetowej. Publikacja samych wyników umożliwi ogólną dyskusję na ich temat przez znawców tematów giełdowych. Literatura [1] Koppel R., Abell H.,„Wewnętrzna gra. Kształtowanie psychiki gracza giełdowego”., Wigpres, 1997 [2] Plummert T., „Psychologia rynków finansowych u źródeł analizy technicznej” Wigpres, 1993 [3] LeBeau Charles, Lucas W. David, Komputerowa analiza rynków terminowych, WIG Press, Warszawa 1998. [4] Mark R. Conway , Aaron N. Behle, Professional Stock Trading: System Design and Automation,Acme Trader 2002. [5] M. Gronowski, P. Sewastianow, "System informatyczny dla wspomagania decyzji tradera na rynku walutowym Forex" "Informatyka Teoretyczna i Stosowana", 2004, 4, 7, 121-130. 8