Trading algorytmiczny to proces, w którym program automatycznie wyznacza parametry zlecenia na podstawie wcześniej zapisanych reguł. Nie musi oznaczać handlu wysokiej częstotliwości, sztucznej inteligencji ani całkowitego wyłączenia człowieka. Może obejmować jeden etap — na przykład obliczenie wielkości pozycji — albo cały łańcuch od danych i sygnału po wysłanie zlecenia, monitoring oraz zamknięcie pozycji.
Najważniejsze pytanie nie brzmi więc: „czy algorytm potrafi handlować?”. Brzmi: „które decyzje są wystarczająco jednoznaczne, mierzalne i kontrolowalne, aby bezpiecznie powierzyć je oprogramowaniu?”. Kod wykonuje instrukcje szybciej i bardziej konsekwentnie niż człowiek, ale równie konsekwentnie skaluje błędne założenie, nieaktualne dane lub źle ustawiony limit.
Strategia, algorytm i automatyzacja to trzy różne rzeczy
Strategia opisuje, dlaczego i kiedy ma powstać ekspozycja. Algorytm zamienia tę logikę w dokładną sekwencję obliczeń. Automatyzacja uruchamia sekwencję bez ręcznego wykonywania każdego kroku. Można mieć dobrą strategię realizowaną ręcznie, wadliwy algorytm opisujący sensowną hipotezę albo perfekcyjnie zautomatyzowany proces bez przewagi.
To rozróżnienie porządkuje odpowiedzialność. Backtest ocenia przede wszystkim hipotezę i reguły modelu. Testy oprogramowania sprawdzają, czy kod robi dokładnie to, co opisano. Testy integracyjne weryfikują przepływ danych i zleceń. Monitoring produkcyjny odpowiada na inne pytanie: czy działający system zachowuje się zgodnie z założeniami w aktualnym środowisku?
Automatyzować warto decyzje dobrze zdefiniowane. Niepewności, której nie potrafimy opisać, kod nie usuwa — jedynie ukrywa ją za interfejsem.
Sześć warstw systemu transakcyjnego
Wiarygodny system nie jest pojedynczym skryptem generującym komendę „kup” lub „sprzedaj”. To kilka warstw, z których każda może zawieść niezależnie:
- Dane. System musi znać źródło, częstotliwość, strefę czasową i moment dostępności informacji. Powinien wykrywać braki, duplikaty, opóźnienia, błędne ceny oraz zmiany symboli lub specyfikacji instrumentu.
- Sygnał. Reguła powinna jednoznacznie określać dane wejściowe, moment obliczenia, parametry i warunek zmiany pozycji. Ta sama obserwacja powinna prowadzić do tego samego wyniku.
- Portfel i ryzyko. Sygnał kierunkowy nie mówi jeszcze, ile kupić. Potrzebne są zasady wielkości pozycji, limitów koncentracji, dźwigni, zmienności, płynności i łącznej ekspozycji.
- Egzekucja. Warstwa zleceń tłumaczy pozycję docelową na konkretne instrukcje dla brokera. Rozstrzyga typ zlecenia, ważność, dopuszczalny poślizg, częściowe wykonania, anulowanie i ponowienie.
- Stan i uzgodnienie. System musi porównywać własny zapis z rzeczywistymi pozycjami, gotówką i aktywnymi zleceniami u brokera. Po restarcie nie może zgadywać, co wydarzyło się wcześniej.
- Monitoring i audyt. Każda decyzja powinna pozostawić ślad: dane wejściowe, wersję modelu, wyliczoną pozycję, wysłane zlecenie, odpowiedź brokera i ewentualny błąd.
Co automatyzować najpierw?
Najbezpieczniejsza droga prowadzi etapami. Na początku system może tylko liczyć sygnały i zapisywać hipotetyczne transakcje w trybie shadow. Kolejny krok to paper trading, czyli przesyłanie zleceń do środowiska symulacyjnego brokera. Dopiero później pojawia się ograniczony kapitał rzeczywisty, niskie limity i stopniowe zwiększanie zakresu działania.
W każdej fazie należy porównywać trzy wartości: pozycję oczekiwaną przez model, pozycję zapisaną przez aplikację oraz pozycję faktycznie widoczną u brokera. Różnica między nimi jest zdarzeniem wymagającym wyjaśnienia, a nie drobną niedogodnością. Ten prosty mechanizm ujawnia problemy z częściowym wykonaniem, zerwanym połączeniem, powtórzonym zleceniem i błędnym mapowaniem symbolu.
Człowiek może pozostać w pętli zatwierdzania do czasu, aż zachowanie systemu stanie się powtarzalne. Autonomia nie powinna być przełącznikiem „wszystko albo nic”. Osobno można automatyzować pobranie danych, sygnał, sizing, przygotowanie zlecenia, jego wysłanie i reakcję na wyjątki.
Kontrole przed wysłaniem zlecenia
Najważniejsze zabezpieczenia działają zanim zlecenie opuści system. Powinny zatrzymać instrukcję, gdy choć jeden parametr wykracza poza dopuszczalny zakres. Praktyczny zestaw obejmuje:
- maksymalną wartość pojedynczego zlecenia i pozycji,
- limit łącznej ekspozycji, dźwigni i dziennego obrotu,
- kontrolę ceny względem ostatnich wiarygodnych notowań,
- sprawdzenie godzin handlu, płynności i minimalnego kroku ceny,
- blokadę duplikatu oraz unikalny identyfikator każdej intencji,
- walidację instrumentu, waluty, mnożnika i miesiąca kontraktu,
- limit częstotliwości zleceń i liczby ponowień,
- zakaz działania przy nieświeżych danych lub utracie synchronizacji,
- globalny kill switch zatrzymujący nowe zlecenia bez ukrywania otwartych pozycji.
Takie zabezpieczenia nie dowodzą jakości strategii. Ograniczają natomiast skutki błędu technicznego lub nieoczekiwanej interakcji modułów. FINRA wskazuje testowanie przed wdrożeniem, kontrolę zmian i bieżący przegląd aktywności jako podstawowe elementy nadzoru nad strategiami algorytmicznymi. W Unii Europejskiej art. 17 MiFID II wymaga od firm inwestycyjnych prowadzących handel algorytmiczny skutecznych systemów, limitów i procedur zapewniających odporność oraz zapobiegających wysyłaniu błędnych zleceń. Wymogi regulacyjne zależą od statusu i działalności podmiotu, lecz sama architektura kontroli jest użytecznym wzorcem projektowym.
Najgroźniejsze błędy pojawiają się między modułami
Model może działać poprawnie, a transakcja nadal być błędna. Przykład: sygnał wskazuje 10% portfela, ale warstwa egzekucji interpretuje liczbę jako dziesięć kontraktów. Inny przypadek to zlecenie, które broker przyjął, lecz aplikacja nie odebrała potwierdzenia i wysłała je ponownie. Problemy powstają także przy zmianie dnia, strefy czasowej, rolloverze kontraktu, korekcie danych lub restarcie procesu.
Dlatego testy jednostkowe nie wystarczają. Potrzebne są scenariusze awaryjne: brak notowań, skok ceny, częściowe wykonanie, odrzucenie zlecenia, zerwane połączenie, ponowne uruchomienie, ręczna transakcja wykonana poza systemem oraz pozycja u brokera, której aplikacja nie zna. System powinien reagować stanem bezpiecznym i komunikatem możliwym do odtworzenia, a nie próbować za wszelką cenę kontynuować handel.
Jak mierzyć jakość po wdrożeniu?
Wynik finansowy jest zbyt późnym i zbyt niejednoznacznym alarmem. Monitoring powinien wcześniej obserwować jakość danych, opóźnienie obliczeń, różnicę między ceną decyzyjną a wykonaniem, liczbę odrzuconych i anulowanych zleceń, rozbieżności pozycji oraz odchylenie realnego ryzyka od celu.
Osobno warto prowadzić monitoring modelu. Jeżeli rozkład sygnałów, obrót, zmienność lub udział stratnych transakcji znacząco odbiegają od zakresu widzianego w testach, nie oznacza to automatycznie, że strategia przestała działać. Oznacza natomiast, że pojawiło się pytanie badawcze. Dobrze zaprojektowany alert nie podejmuje za człowieka decyzji o porzuceniu modelu, lecz wskazuje, które założenie wymaga ponownej oceny.
Czy sztuczna inteligencja powinna składać zlecenia?
AI może pomagać w porządkowaniu informacji, wykrywaniu anomalii, streszczaniu zdarzeń i proponowaniu hipotez. Jeżeli jej wynik bezpośrednio wpływa na pozycję, potrzebuje jednak tych samych granic co każdy inny model: określonych danych wejściowych, mierzalnego wyjścia, limitów, wersjonowania, testów i pełnego rejestru decyzji.
Model językowy generujący swobodny tekst nie powinien samodzielnie tworzyć dowolnego zlecenia. Bezpieczniejszy wzorzec to zamknięty katalog dozwolonych działań, walidacja parametrów w niezależnej warstwie ryzyka i możliwość odtworzenia, dlaczego decyzja została przyjęta lub odrzucona. AI może być uczestnikiem procesu, ale nie może omijać jego kontroli.
Najważniejsze wnioski
Trading algorytmiczny ma sens wtedy, gdy zwiększa powtarzalność, mierzalność i kontrolę procesu. Samo przyspieszenie składania zleceń nie jest przewagą. Najpierw potrzebna jest hipoteza, później wiarygodne dane i test, a dopiero następnie automatyzacja z limitami oraz monitoringiem.
Dojrzały system potrafi odpowiedzieć na pięć pytań: z jakich danych skorzystał, dlaczego wygenerował sygnał, jak wyznaczył wielkość pozycji, co faktycznie wykonał broker i co stanie się po błędzie. Jeżeli któregoś elementu nie da się odtworzyć, automatyzacja zwiększa ryzyko operacyjne zamiast je ograniczać.
Źródła
- FINRA, Algorithmic Trading — supervision and control practices.
- FINRA, Market Access — pre-trade risk controls.
- Unia Europejska, Dyrektywa 2014/65/UE (MiFID II), w szczególności art. 17, wersja skonsolidowana z 17 stycznia 2025 r.
