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

Podobne dokumenty