Określenie „handel algorytmiczny” jest bardzo często używane, jako synonim dla słów „trading wysokich częstotliwości” (HFT). Tak się jednak składa, że nawet w sytuacji, kiedy HFT polegający na zawieraniu transakcji w trakcie nanosekund, będzie zawsze handlem algorytmicznym – tak nie każde użycie algorytmu w handlu będzie HFT. Temat jest ekscytujący, chociaż nie ukrywam, że pewnie bardziej dla fanatyków, takich jak ja.

Osobiście używam algorytmów do zawierania transakcji na rynkach finansowych już od wielu lat. Samo zagadnienie wcale nie musi odnosić się nawet do tematyki komputerów, bowiem algorytm postępowania, to zbiór zasad na bazie których można opierać się również w życiu. Sam stosuję systemy w wielu jego aspektach. Ty też. Udowodnię.

Przykład

Patrzysz na pogodę na zewnątrz i chcesz wyjść:

Jeżeli (warunek) pada deszcz albo (alternatywa rozłączna) śnieg, to weź parasolkę (prawda), w przeciwnym razie zostaw parasolkę (fałsz).

Powyższe stwierdzenie jest algorytmem opartym na logice, głównie na matematycznej teorii zbiorów. Jak widać nie musi mieć ono związku ze światem wirtualnym. Tak samo handel algorytmiczny wcale nie musi mieć podobnego związku. Algorytmy mogą być mniej lub bardziej skomplikowane, trzeba jednak zdawać sobie sprawę z możliwości i wykorzystać je do swoich celów. Bez zwracania uwagi na krzykaczy, którzy wieszczą schyłek świata rynków finansowych ze względu na niebezpieczeństwa rodem z Terminatora, gdzie maszyny miałyby przejąć kontrolę nad ludzkością. Nawet algorytmy genetyczne lub sieci neuronowe nie są w stanie przyjąć autonomii tego typu. Zawsze liczy się jakość wprowadzonych danych oraz nakazanie programowi działać w sposób określony przez programistę. Przecież obserwujemy dopiero początek biznesu, który w przyszłości doprowadzi do powstania największych majątków na świecie. Moje słowa będą jeszcze wspomniane. I to za mojego życia!

Osobiście stosuję formalizacje systemów transakcyjnych odpowiedzialnych za dawanie sygnałów do kupna i sprzedaży poszczególnych instrumentów. Ostatecznie zawieram jednak transakcje ręcznie, wykorzystując siłę własnych palców wędrujących po klawiaturze i myszce. Robię tak nie tylko ze względu na fakt, iż do swojej pracy wykorzystuję oprogramowanie przystosowane do zaawansowanej analizy rynków (MetaStock), a nie połączenia bezpośrednio z danym rynkiem (API). Głównym powodem jest to, że swoją analizę opieram na interwale dziennym, toteż nie muszę przeprowadzać procesu decyzyjnego w czasie jak najbardziej zbliżonym do prędkości światła. Wystarczy tylko, że każdego dnia zasiądę na chwilę do komputera. Cała reszta to pilnowanie, aby „fabryka mogą dalej pracować”. Tak nazywamy ciągłą pracę nad udoskonalaniem stosowanych narzędzi, nawet jeżeli faktycznie wykorzystywane są w danym momencie narzędzia stworzone lata wcześniej. Założę się, że większość osób czytających ten tekst zasiada przy komputerze więcej, niż raz dziennie i to pewnie bez odgórnego przymusu związanego z pracą. U mnie to też nie jest jedynie sama praca zarobkowa ale też nie lada przyjemność rywalizacji z największymi umysłami tego świata. No i oczywiście maszynami/algorytmami będącymi wynikiem pracy tychże wspaniałych umysłów.

Interwał D1, czyli taki w którym świece na wykresie cenowym zamykają się na koniec dziennej sesji sam w sobie sugeruje już dłuższy horyzont czasowy (średnio- oraz długoterminowy). Osobiście wolę nazywać swoje podejście metodą zawierania transakcji EOD (End Of Day). Innymi słowy zawsze na koniec sesji wiem, co zrobię w dniu jutrzejszym. Wcale nie oznacza to tego, że nie mogę składać zleceń oczekujących w trakcie trwania sesji. Często wręcz właśnie tak jest. Mój plan przewiduje każdy wariant, jaki może się na rynku zdarzyć i to głównie dlatego śpię spokojnie, a także bez nerwów każdego dnia wykonuję polecenia mojej strategii. Co ciekawe bardzo często mogę to zrobić o dowolnej porze dnia (w trakcie trwania sesji), gdyż formalizacja zakłada odpowiedź na każdą sytuację rynkową przez umieszczenie różnych zleceń na odpowiednich poziomach cenowych, które jeszcze nie zostały osiągnięte ale mogą być uzyskane w przyszłości.

Handel algorytmiczny daje mi wolność. W końcu to jej większość z nas poszukuje na giełdzie. W pierwszej kolejności system przejmuje za mnie wykonanie pracy analitycznej, podczas gdy moim zadaniem jest obserwacja ograniczająca się czasami nawet do kilku minut w ciągu dnia. W momencie, kiedy trzeba podjąć decyzję i zawrzeć konkretną transakcję – wchodzę do akcji. Właśnie dzięki temu odchodzi największe zagrożenie związane z handlem automatycznym – ryzyko, że program „zwariuje” i zacznie otwierać szereg nieprzewidzianych pozycji, które mogą w krótkim okresie doprowadzić nawet do bankructwa.

Dobrym przykładem „czarnego rajdu robotów” jest historia firmy Knight Capital, której algorytm w trakcie 45 minut zawarł w wyniku błędu transakcje o wartości 7 mld dolarów, co ostatecznie kosztowało firmę 450 milionów liczonych w tej samej walucie. Nie wiem czy firma ta ostatecznie zbankrutowała ale na pewno właściciele nie spali potem przez jakiś czas spokojnie. Zapewne programista lub strateg też pożegnali się z pracą. W końcu to na nich prawdopodobnie zrzucono winę, a nie na algorytm. A właściwie dlaczego? Ano dlatego, że ostatecznie i tak algorytm programowany jest przez człowieka i to jego zadaniem jest utworzenie odpowiedniej (zamkniętej) konstrukcji. Programiści powtarzają, że nie ma programu bez dziur, są jedynie te niewykryte, aczkolwiek ja uważam, że powiedzenie to traktują, jako swoistą polisę ubezpieczeniową za którą nie płacą oni, tylko użytkownicy oprogramowania. W tym kontekście to programista zarabia akurat mało.

Ostatecznie to mój umysł jest finalnym filtrem. Działanie w sposób łączący właśnie siłę umysłu, pracę algorytmów oraz wolność, jaką daje dłuższy horyzont inwestycyjny jest dla mnie kluczem do osiągania zysków na rynku finansowym. Docelowo nawet jak algorytmy przejmą już większość pracy analityczno-transakcyjnej w naszej firmie, to czynnik ludzki nadal będzie odgrywał rolę kontrolną. Tak jak ma to miejsce w każdym przedsięwzięciu opartym o dziedzinę zarządzania.

Czas wracać do kodów atomowych… ups, chciałem powiedzieć – tradingowych! ;)