Jak naprawdę działają boty handlowe
Bot handlowy w wyobraźni początkującego to skrzynka, która sama zarabia: włączasz, wpływają pieniądze. W rzeczywistości bot to pętla, czyli proces, który w kółko powtarza ten sam cykl. Bierze dane, stosuje regułę albo model, ewentualnie składa zlecenie, zapisuje, co zrobił, i ocenia wynik. Potem zaczyna od początku. Automat nie wymyśla przewagi. Powtarza Twój proces szybciej i na większą skalę, więc jeśli proces jest dobry, skaluje zaletę, a jeśli zły, skaluje błąd z tą samą gorliwością.
Na pytanie „jak działają boty” uczciwa krótka odpowiedź brzmi: są dwie różne ligi. Handel wysokiej częstotliwości ściga się o mikrosekundy na infrastrukturze, do której pojedynczy człowiek nie ma dostępu, i to nie jest świat, w którym gramy. Bot detaliczny na zwykłym serwerze pracuje w sekundach i minutach, w zupełnie innej skali. W naszym warsztacie zaczynamy od czegoś innego niż naciskanie spustu: najpierw automatyzujemy zbieranie danych i ich ocenę. To rozróżnienie jest sednem całego tekstu: „bot dał sygnał” nie znaczy „bot kupił”. Sygnał to dopiero kandydat do rozważenia, a decyzja i wykonanie to osobne kroki, które na tym etapie zostają przy człowieku.
Co to jest bot handlowy: pętla, nie obietnica wyniku
Najprościej: bot to program, który wykonuje proces tradingowy za Ciebie, w całości albo w części. Słowo „w części” jest tu ważniejsze, niż się wydaje, i wrócimy do niego nieraz.
Każdy bot, od kilkulinijkowego skryptu po system za miliony, da się rozłożyć na ten sam szkielet. Obserwuje dane wejściowe. Przepuszcza je przez regułę albo model, które zamieniają surowe liczby w sygnał. Jeśli ma uprawnienia, składa zlecenie. Zapisuje, co się stało. Na końcu ocenia, czy to miało sens. I wraca na początek. Cała różnica między prymitywnym a wyrafinowanym botem leży w tym, jak dobre są poszczególne ogniwa, nie w tym, że któryś z nich ma inny szkielet.
Reguła i model to dwa różne sposoby wypełnienia drugiego ogniwa. Reguła jest jawna i prosta do sprawdzenia: na przykład gdy krótkoterminowa średnia ceny przebije długoterminową od dołu, zgłoś sygnał. Model jest wyuczony: pokazujesz mu tysiące przykładów i to on sam wyznacza granicę między sygnałem a szumem. Modele potrafią złapać zależności, których nie ujmiesz w prostym warunku, ale płacisz za to przejrzystością, bo trudniej powiedzieć, dlaczego zdecydował tak, a nie inaczej. Książki w rodzaju Machine Learning for Algorithmic Trading Stefana Jansena to w gruncie rzeczy katalog sposobów, jak zbudować to jedno ogniwo. Reszta pętli zostaje ta sama.
Najważniejsze nieporozumienie dotyczy słowa „sam”. Bot nie tworzy przewagi z niczego, tak jak kalkulator nie tworzy matematyki. Wykonuje proces, który mu zadałeś. Jeśli ten proces ma przewagę, automat pozwala ją powtarzać konsekwentnie i bez emocji. Jeśli nie ma, automat zamienia Twoją stratę w stratę regularną i powtarzalną.
Dwie skale automatyzacji: retail i HFT
Zanim rozbierzemy pętlę na części, warto ustawić skalę, bo słowo „bot” obejmuje dwa światy, które mają ze sobą mało wspólnego.
Handel wysokiej częstotliwości (ang. high-frequency trading) to wyścig o czas mierzony w mikrosekundach. Firmy ustawiają serwery fizycznie w tej samej serwerowni co giełda, płacą za najszybsze łącza, dopieszczają kod do poziomu pojedynczych instrukcji procesora. Opisaliśmy ten świat osobno, w tekście o tym, skąd wziął się rynek elektroniczny. Dla nas najważniejszy jest jeden wniosek: w wyścigu o najniższe opóźnienie przewagą jest infrastruktura, do której pojedynczy trader nie ma dostępu. Z firmą HFT nie wygrasz na jej własnym polu, więc nie próbujemy na nim konkurować.
Bot detaliczny gra inaczej. Działa na zwykłym serwerze, reaguje w sekundach albo minutach, a jego przewaga, jeśli istnieje, nie bierze się z szybkości, tylko z jakości procesu. To dobra wiadomość, bo proces da się budować spokojnie, mierzyć i poprawiać, bez ścigania się z infrastrukturą za miliony.
Pomaga uporządkować to w mapę poziomów automatyzacji, od najmniejszej do największej:
- Poziom 0: wszystko ręcznie. Patrzysz na ekran, sam podejmujesz decyzję, sam składasz zlecenie.
- Poziom 1: automatyczny zapis danych. Komputer zbiera i archiwizuje to, co widzisz, żebyś mógł to później analizować.
- Poziom 2: automatyczna ocena. System ocenia zapisane dane i podsuwa Ci uporządkowany materiał, ale decyzję i wykonanie zostawia człowiekowi.
- Poziom 3: automatyczna egzekucja. Program sam składa zlecenia według reguł.
- Poziom 4: HFT. Egzekucja plus wyścig o latencję na wydzielonej infrastrukturze.
Większość „botów”, które krzyczą z reklam, sugeruje, że jest na poziomie 3 albo 4. My świadomie zaczynamy od poziomu 1 i 2, i zaraz wyjaśnimy dlaczego.
Anatomia pętli: od danych do kontroli
Rozłóżmy pętlę na pięć ogniw. To szkielet wspólny dla każdego bota, niezależnie od tego, czy steruje nim prosta reguła, czy sieć neuronowa.
Dane. Punkt wejścia. Cena, wolumen, wskaźniki, czasem dane z innych rynków. Bot jest tak dobry, jak dane, które dostaje. Śmieci na wejściu dają śmieci na wyjściu, niezależnie od tego, jak sprytny jest środek.
Reguła albo model. Ogniwo, które zamienia dane w sygnał, czyli w stwierdzenie „tu coś się dzieje, warto się przyjrzeć”. I tu pojawia się pierwsze rozróżnienie, które gubi większość początkujących: sygnał to nie zlecenie. Sygnał mówi „spójrz”. Zlecenie to akt złożony na rynku. Między jednym a drugim mieści się decyzja, czy w ogóle działać, i osobno wykonanie, czyli jak działać. W prymitywnym bocie te trzy rzeczy zlewają się w jeden ruch. W dojrzałym procesie są celowo rozdzielone, bo każda z nich może zawieść inaczej.
Zlecenie i wykonanie. Jeśli decyzja zapadła, sygnał zamienia się w zlecenie kupna lub sprzedaży, które trafia na rynek. Tu mieszka cała mechanika kosztów: poślizg, prowizje, różnica między ceną, której oczekiwałeś, a tą, którą realnie dostałeś. To ogniwo wygląda w opisie najprościej, a w praktyce potrafi po cichu zjeść przewagę, którą reszta pętli z trudem wypracowała.
Log. Najbardziej niedoceniane ogniwo. Bot, który nie zapisuje skrupulatnie każdego kroku, jest ślepy na własne błędy. Log to pamięć całego procesu: co bot widział, co zdecydował, co wykonał, co z tego wyszło. Bez niego nie odróżnisz pecha od błędu w regule, a to dwie zupełnie różne rzeczy, które naprawia się inaczej. Jeśli mamy dostać baty, chcemy przynajmniej wiedzieć dokładnie za co, żeby poprawić proces, a nie zgadywać.
Ocena. Domknięcie pętli. Po fakcie sprawdzamy, czy sygnał miał wartość: dotarł do założonego celu, czy do założonej straty, ile czasu to zajęło. Dopiero ta etykieta, dopisana po wszystkim, mówi, czy proces działa. Bez niej masz aktywność, nie wiedzę.
Te pięć ogniw to cała anatomia. Reszta, czyli wybór wskaźników, rodzaj modelu, sposób składania zleceń, to warianty wypełnienia tego samego szkieletu.
Nasz przykład: Etap 0 automatyzuje capture i ocenę
Tak wygląda teoria. Pokażemy ją teraz na własnym podwórku, bo budujemy taki system od podstaw, a najuczciwiej tłumaczy się na tym, co się realnie robi. Ważne zastrzeżenie z góry: opisujemy mechanikę procesu badawczego, nie gotowy sygnał do skopiowania.
Nazwa „Etap 0” w tytule oznacza pierwszą fazę naszego projektu badawczego i nie jest tym samym co „poziom 0” z mapy automatyzacji powyżej, choć jedno z drugim się splata. Naszą pętlę celowo pocięliśmy na te poziomy i zaczęliśmy od najniższych. Pierwsza część to czysty zapis danych. Platforma wykresowa wysyła powiadomienie, gdy spełni się zdefiniowany wcześniej warunek techniczny. Powiadomienie trafia przez webhook, czyli automatyczne wywołanie przez internet, do narzędzia, które porządkuje przepływ pracy. Tam dane przechodzą walidację, czyli sprawdzenie, czy są kompletne i sensowne, i lądują w bazie danych. To wszystko. Na tym etapie nie zapada żadna decyzja tradingowa. Automatyzujemy wyłącznie zbieranie, bo ręczne przepisywanie danych jest żmudne, podatne na pomyłki i ogranicza wielkość próby.
Druga część to ocena. Zapisany wcześniej obraz rynku trafia do modelu, który ocenia go według ustalonych kryteriów badawczych i wystawia liczbową punktację. Punktacja nie jest poleceniem. Porządkuje przypadki, tak żeby człowiek mógł je analizować od najciekawszych, i nic poza tym. Wynik wraca jako krótkie powiadomienie z numerem rekordu w bazie. Człowiek je czyta i to człowiek decyduje, co dalej. Egzekucji na tym etapie nie ma w ogóle.
Pętla domyka się później. Po upływie wyznaczonego okna czasowego dopisujemy do każdego rekordu etykietę wyniku, ustaloną po fakcie, nie w momencie sygnału. Dopiero zbiór takich etykiet pozwala sprawdzić, czy wyższa punktacja faktycznie wiązała się z lepszym rezultatem, czy model tylko ładnie wygląda.
Gdzie w tym wszystkim jest słynny orderflow, czyli podgląd napływu zleceń i reakcji rynku, oraz ciągły strumień danych? To kolejny, głębszy kanał, na razie zaprojektowany jako zapowiedź, nie jako działająca część pętli. Profesjonalna platforma wykonawcza służy nam dziś jako głębsze oko dla człowieka, a stały strumień z niej zostaje na następne etapy. Świadomie nie budujemy wszystkiego naraz, bo każdy dołożony automat to kolejne miejsce, które może zawieść cicho.
Gdzie boty się wykładają
Skoro automat powiela proces szybciej niż człowiek, powiela też błąd szybciej, niż człowiek zdąży zareagować. To nie jest teoria.
Najbardziej znany przykład to Knight Capital. W 2012 roku wystarczył jeden stary, przypadkowo uruchomiony fragment kodu, by w kilkadziesiąt minut automat zalał rynek lawiną błędnych zleceń, kosztując tę dużą firmę maklerską setki milionów dolarów i samodzielność. Jedna maszyna, jeden martwy kawałek kodu.
Pełną historię tej i wcześniejszych awarii, od handlu programowego w Czarny Poniedziałek 1987 roku, opisaliśmy w osobnym tekście. Wniosek za każdym razem jest ten sam i jest niewygodny: automat bez bezpieczników nie jest bezpieczniejszy od człowieka, jest groźniejszy, bo działa z prędkością, przy której zdążysz tylko patrzeć. Dlatego log, nadzór i twarde reguły zatrzymania nie są dodatkiem do bota. Są jego częścią, tak samo ważną jak ogniwo, które generuje sygnał.
Co automatyzować najpierw
Stąd bierze się kolejność, która wielu wydaje się odwrotna do intuicji. Pokusa jest prosta: zacznijmy od automatu, który składa zlecenia, bo to przecież on „robi pieniądze”. To droga na skróty, która kończy się automatyzacją procesu, o którym nie wiesz nawet, czy ma sens.
My ustawiamy to inaczej. Najpierw ustalamy, co dokładnie zbieramy i jak liczymy wynik, żeby wszystkie późniejsze pomiary mówiły tym samym językiem. Potem automatyzujemy zapis, czyli capture, bo bez dużej i czystej próby każda ocena jest zgadywaniem. Następnie dokładamy ocenę, ciągle z człowiekiem przy decyzji. I dopiero gdy mamy zmierzony dowód, że w danych siedzi przewaga, ma sens techniczna rozmowa o automatycznej egzekucji.
Bezpiecznikiem tej kolejności są kryteria zatrzymania, ustalone z góry, zanim popłyną pierwsze wyniki. Jeśli oczekiwana wartość po kosztach spada poniżej ustalonego progu po określonej liczbie sygnałów, przerywamy i wracamy do projektu, zamiast brnąć dalej. Bez takich progów bot przestaje być narzędziem badawczym, a staje się ruletką z ładnym interfejsem. Mierzeniem tej oczekiwanej wartości, czyli oczekiwanego wyniku po kosztach, i tym, jak nie oszukać się we własnym teście, zajmujemy się osobno, w nocie o walidacji backtestu.
Pierwszą rzeczą, którą warto zautomatyzować, jest więc pomiar, nie naciskanie spustu.
Czego bot nie zrobi za tradera
Na koniec uczciwe podsumowanie tego, czego automat nie załatwia, bo tu kryje się większość rozczarowań.
Bot nie stworzy przewagi, której nie ma. Jeśli Twój proces traci, automat będzie tracił szybciej i równiej. Maszyna skaluje to, co jej dasz, w obie strony.
Bot nie zwalnia z nadzoru. Knight Capital nie upadł dlatego, że nie miał dobrych inżynierów, tylko dlatego, że w krytycznej chwili nikt nie trzymał ręki na wyłączniku. Automat wymaga człowieka, który rozumie, co maszyna robi, i wie, kiedy ją zatrzymać.
Bot nie chroni przed oszukiwaniem samego siebie. Model dopasowany zbyt dokładnie do przeszłości, czyli przeuczony, świetnie wygląda na danych historycznych i zawodzi na żywym rynku. A gdy dowolną miarę awansujesz na cel sam w sobie, przestaje być dobrą miarą, co znane jest jako prawo Goodharta. Maszyna nie ostrzeże Cię przed tymi pułapkami, bo sama w nie wpada równie chętnie jak człowiek, tylko szybciej.
Zostaje pytanie, które warto zadać sobie, zanim padnie to popularne „czy bot zarabia”. Brzmi ono: czy mam zmierzoną, powtarzalną przewagę, którą w ogóle warto automatyzować? Jeśli tak, automat jest dobrym narzędziem, żeby ją skalować w ramach kontrolowanego procesu, spokojnie i bez emocji. Jeśli nie, bot tylko przyspieszy drogę, którą i tak byś przeszedł, do tego samego miejsca. Cała trudność, i cała robota, jest po stronie tego, co automatyzujesz, nie samego faktu automatyzacji.
Ten tekst opisuje mechanikę botów i metodę badawczą, nie stanowi rekomendacji inwestycyjnej ani porady. Budujemy warsztat badawczy i dzielimy się procesem; decyzje i ryzyko pozostają po Twojej stronie. Opisana architektura jest stanem prac na czerwiec 2026 i będzie się zmieniać.