Automatyzować handel czy nie?

Sebastian Zadora z dyrektorem wydziału sprzedaży instrumentów finansowych w DM BOŚ rozmawia Piotr Zając

Publikacja: 10.06.2016 06:00

Automatyzować handel czy nie?

Foto: Archiwum

Jakim zainteresowaniem cieszą się usługi związane z automatyzacją handlu?

Jeśli mówimy o narzędziach wspomagających handel, jak różnego rodzaju wskaźniki i kalkulatory, to powiedziałbym, że to zainteresowanie jest bardzo duże. Zaryzykuję stwierdzenie, że większość klientów naszej platformy foreksowej miała kontakt z tego typu rozwiązaniami. Są one proste w obsłudze i bardzo ułatwiają przeprowadzanie transakcji lub analizę rynku.

Jeśli mówimy o zaawansowanych narzędziach, czyli robotach wykonujących cały proces decyzyjny według zaprogramowanego klucza, to zainteresowanie jest dużo mniejsze. Szacunkowo poniżej 10 proc. klientów o to pyta, a stosuje jeszcze mniej. Większość inwestorów nie ma do tego typu rozwiązań zaufania i czuje obawę przed oddaniem programowi pełnej kontroli nad rachunkiem.

Czy to wąskie grono zainteresowanych to jakaś specyficzna grupa inwestorów?

To są klienci poszukujący, którzy wciąż nie znaleźli swojego sposobu na rynek i próbują usystematyzować własne metody. Automatyzacja jest więc kolejnym etapem na ich inwestycyjnej ścieżce. Ale z pewnością istnieje także pokaźna grupa inwestorów, która potrafi samodzielnie programować na zaawansowanym poziomie, zna metody ilościowe i statystyczne i wykorzystuje je w strategiach. Tacy ludzie najczęściej się do nas nie zgłaszają po pomoc.

W ramach konta VIP klient może do pana przyjść, opisać swoją strategię, a pan zapisuje ją w języku MQL?

Tak. Staramy się ograniczać do wsparcia programistycznego, ale pomagamy też ustrukturyzować całą strategię. Często bowiem inwestorzy mają w swoich metodach pewne luki. Przychodzą do nas z pomysłem typu „wybicie z formacji cenowej", ale po konsultacjach okazuje się, że niektóre sytuacje rynkowe chcieliby zachować do manualnego rozegrania, uwzględnić jakieś dodatkowe elementy. Pozostawiają więc miejsce na trading intuicyjny i własne decyzje. Zdarza się też, że nie uwzględniają zasad zarządzania ryzykiem i kapitałem. Niestety, ale nie wszyscy uważają precyzyjne określenie tych spraw za niezbędne składowe strategii.

Często udaje wam się stworzyć algorytm, który pokonuje rynek?

Algorytm tak naprawdę tworzy klient, my go implementujemy. Niestety, nie mam statystyk pokazujących skutki późniejszego jego stosowania, tym bardziej że wiele zależy od tego, na jakim rynku został użyty. Z naszej strony trudno też sprawdzić, które transakcje klient zawierał sam, a które przy użyciu robota. Z moich obserwacji wynika, że bardzo rzadko zdarza się osiągnąć pełny sukces za pierwszym razem – duża część klientów po zakończeniu pierwszego wspólnego projektu albo szuka innej strategii do zautomatyzowania, albo porzuca zainteresowanie robotami. Automatyzacja handlu jest raczej narzędziem, a nie metodą rozwiązania problemu słabych wyników.

Jeśli algorytm będzie miał zapisane wszystkie wytyczne dotyczące zarządzania kapitałem i ryzykiem, czyli będzie opracowany książkowo, to jakie ma szanse na sukces?

Dzięki dokładnemu opracowywaniu algorytmu na pewno przybliżamy się do sukcesu. Moim zdaniem kluczem jest właśnie kompletność podejścia, czyli gotowość strategii na różne scenariusze. Praca inwestora polega na identyfikacji tych wszystkich elementów układanki – od metod otwierania pozycji po ewentualne zasady przesuwania zleceń stop loss. Opracowywanie algorytmu bardzo tę pracę ułatwia i systematyzuje. Wielu znanych z sukcesów traderów, w tym gość naszej ostatniej konferencji Peter Brandt, potwierdza, że najważniejsze jest doskonalenie całego procesu inwestycyjnego i konsekwencja w jego stosowaniu, a nie poszukiwanie skutecznych metod generujących sygnały transakcyjne.

Programiści mówią, że w pisaniu programów granicą jest wyobraźnia. Czy w przypadku algorytmów inwestycyjnych jest coś, czego zaprogramować się nie da?

Automat z zasady zarabia pieniądze na powtarzalnych sytuacjach rynkowych, które zidentyfikował i zdefiniował jego twórca. Jest w związku z tym tworzony zawsze na określony, specyficzny rynek. Niestety, rzeczywistość rynkowa, zwłaszcza w ostatnich kilku latach, obfituje w spektakularne, zupełnie nieoczekiwane zdarzenia natury fundamentalnej, które wywołują ogromną zmienność. Z pewnością trudno byłoby przygotować robota nastawionego na handel właśnie w takich sytuacjach, który wykorzystywałby np. emocje czy paniczne ruchy innych inwestorów.

Programowanie to bardzo trudne zajęcie?

Ta trudność to mit. Większość inwestorów nie zajmuje się automatyzacją handlu, ponieważ utożsamia ją z właśnie z programowaniem – które niejako z definicji musi być skomplikowane. Tymczasem 90 proc. czasu pracy nad automatem to praca nad samymi założeniami, w tym badania i analiza rynku. Tym samym zajmują się przecież wszyscy inwestorzy. Samo zapisanie tych założeń w języku MQL zajmuje zaledwie pozostałe 10 proc. Nie jest to kluczowy element całego procesu – możemy programowanie zlecić firmie, która się tym zajmuje. Są także dostępne kreatory kodu, które umożliwiają jego tworzenie za pomocą wygodnego interfejsu graficznego.

Jakie elementy należy uwzględnić w strategii, zanim zaczniemy ją programować?

Obszary, które musimy przemyśleć w trakcie budowy kompletnego automatu, to: zasady otwierania pozycji, metody określania ryzyka początkowego (ograniczanie maksymalnej ekspozycji na ryzyko), zasady dotyczące prowadzenia pozycji (co robić z pozycją, gdy jest ona już otwarta i ma określony wynik – może to być stop podążający, zlecenie breakeven itp.) i zasady zarządzania kapitałem (jak dużą wielkość pozycji dobieramy w konkretnej transakcji). Myślę, że najważniejsze dla długofalowego sukcesu rynkowego są kwestie związane z ryzykiem i zarządzaniem kapitałem.

Jakie są największe wady algorytmicznego podejścia do inwestowania?

Dla wielu inwestorów największą wadą, która zniechęca ich do zajmowania się automatami, jest czas, który trzeba poświęcić na określenie wszystkich założeń strategii. Tymczasem jest to moim zdaniem lekcja, którą i tak każdy zyskowny inwestor prędzej czy później ma do odrobienia. Wszystko, co robimy na rynku w trakcie pracy nad automatem, musimy usystematyzować i zobiektywizować, tak by dało się to zapisać w postaci kodu programistycznego.

Druga wada czy też ograniczenie automatów to trudność budowania strategii czysto fundamentalnych, które oparte są na nieoczekiwanych zdarzeniach lub takich, które trudno skwantyfikować. Trudno na przykład zbudować narzędzie, które będzie skutecznie wczytywać się w myśli Janet Yellen, prezes Fedu, zawarte pomiędzy oficjalnymi zdaniami ogłoszonego komunikatu. Jest to przykład bardzo często przecież rozgrywanego przez inwestorów tematu, dla którego zastosowanie automatów na razie wydaje mi się ograniczone.

A co z argumentem, że automat nie zareaguje na nagłą sytuację tak jak człowiek?

Każdego robota możemy wyposażyć w odpowiednie bezpieczniki. Na przykład taki, który każe zamknąć wszystkie pozycje, jeśli gwałtownie wzrośnie rynkowa zmienność. Jak wspominałem wcześniej – automaty są pisane na konkretne warunki panujące na danym rynku i raczej standardem powinno być uruchomienie tego typu bezpiecznika, jeśli te warunki drastycznie się zmienią.

A jakie są największe zalety automatyzacji handlu?

Na pewno szybkość – maszyna zawsze reaguje szybciej niż człowiek. Ponadto możliwość ciągłej pracy. Robot nie śpi, cały czas monitoruje rynek i może wykorzystać każdą zdefiniowaną przez nas okazję do zawarcia transakcji. Bardzo istotne jest też to, że algorytm jest konsekwentny w działaniu, czyli realizuje dokładnie te założenia, które zostały w nim zakodowane. Człowiek ma tendencję do odchodzenia od swojego planu, co często kończy się źle.

Natomiast zaletą samego zajmowania się automatyzacją handlu jest dążenie do udoskonalania i usystematyzowania procesu podejmowania własnych decyzji. Wierzę, że to procentuje, nawet jeśli docelowo będziemy zawierać transakcje samodzielnie.

Czy wśród automatów da się wyróżnić klasy metod, które dają większą szansę na zysk?

Pomysłów na automaty jest bardzo dużo i jeśli już miałbym wysnuć jakiś ogólny wniosek, to powiedziałbym, że o sukcesie nie decyduje metoda podejmowania decyzji, ale raczej zasady dotyczące ograniczania ryzyka. Dobrze określone nie stanowią co prawda gwarancji zysków, ale jeśli porównamy systemy nieposiadające restrykcyjnych zasad dotyczących ryzyka z tymi, które je posiadają, to te drugie mają zdecydowanie większe szanse na długookresowy sukces.

Jak testuje się algorytm, zanim zostanie on zastosowany w praktyce?

Mamy dziś dostęp do wielu narzędzi realizujących proces tzw. backtestingu. Wszystkie one dają nam odpowiedź na pytanie – co by się stało, gdybym w przeszłości na określonym rynku zastosował dany algorytm. To są świetne narzędzia, ale trzeba je umiejętnie stosować. Nie wystarczy przeprowadzenie jednego testu nawet w bardzo długim okresie, aby stwierdzić, czy system nadaje się do wykorzystania, czy też nie rokuje żadnych nadziei. Ja zazwyczaj rekomenduję procedurę testowania za pomocą ruchomego okna czasowego. Polega to na wykonywaniu sekwencji testów prowadzonych w wielu krótszych okresach. Jeśli przykładowo robot działa na interwałach H1 lub H4 i zawiera w miesiącu kilka czy kilkanaście transakcji, to sensownym okresem bazowym takiego testu wydaje mi się co najmniej kwartał. W takiej sytuacji warto wykonać serię testów na okresach długości kwartału, czyli np. od stycznia do marca, następnie od lutego do kwietnia i tak dalej. Następnie należy porównać wyniki pod kątem stabilności i powtarzalności. To, że dany test w określonym czasie pokaże zysk, nie oznacza, że system da zarobić w przyszłości. Ważne jest też to, w jaki sposób ten zysk został osiągnięty. Czy nie jest to efekt jednej, nietypowej transakcji? Czy po drodze nie było dużych obsunięć kapitału? Analiza wyników takiego backtestu musi być bardziej wnikliwa niż ocena w kategoriach zysku czy straty.

Jak długo może trwać proces testowania algorytmu? Czy nie pojawia się tu ryzyko dopasowywania go do danych i nadmiernej optymalizacji?

Dzięki metodzie przesuwającego się okna czasowego ryzyko przeoptymalizowania, czy też dopasowania algorytmu do danych historycznych, jest w znacznej mierze wyeliminowane. Nie oceniamy bowiem wyników automatu i nie dobieramy jego parametrów z myślą o tylko jednym okresie. Nadmiar kryteriów w procesie decyzyjnym to moim zdaniem trudniejszy problem. Z jednej strony chcemy, aby automat przygotowany był na bardzo różnorodne scenariusze rynkowe. Z drugiej trzeba uważać, aby nie wprowadzić ich tylu, że stracimy ogólną kontrolę nad strategią, co objawia się na przykład tym, że nie będziemy w stanie wyjaśnić, dlaczego zmiana jakiegoś parametru spowodowała znaczną zmianę wyników. Musimy zawsze wiedzieć, co nasz automat robi i dlaczego – tylko wtedy możemy go poprawiać i optymalizować. Generalnie powiedziałbym, że jeśli nie jesteśmy w stanie w prostych słowach opowiedzieć laikowi, jak działa nasz algorytm, to znaczy, że staje się on zbyt skomplikowany.

Sebastian Zadora

Z wykształcenia magister inżynier elektronik, absolwent Politechniki Warszawskiej. Od 2005 r. związany z rynkiem walutowym. Pracował jako menedżer produktów skarbu w Banku Handlowym w Warszawie (Citigroup), w Banku BPH i w biurach maklerskich zajmujących się rynkiem pozagiełdowym (OTC). Od 2009 r. dyrektor w DM BOŚ, gdzie odpowiedzialny jest m.in. za promocję platformy BossaFX. Dodatkowo wspiera działalność edukacyjną DM BOŚ w zakresie inwestowania na rynku instrumentów pochodnych oraz tworzenia automatów transakcyjnych.

Inwestycje
Trzy warstwy regulacji
https://track.adform.net/adfserve/?bn=77855207;1x1inv=1;srctype=3;gdpr=${gdpr};gdpr_consent=${gdpr_consent_50};ord=[timestamp]
Inwestycje
Jak przeprowadzić spółkę przez spór korporacyjny?
Inwestycje
Porozumienia akcjonariuszy w spółkach publicznych
Materiał Promocyjny
Cyfrowe narzędzia to podstawa działań przedsiębiorstwa, które chce być konkurencyjne
Inwestycje
Unikanie sporów potransakcyjnych