Arbitraż trójkątny wykorzystuje chwilową niespójność kursów trzech par na tej samej giełdzie. Kapitał przechodzi przez trzy aktywa i wraca do waluty początkowej, na przykład USDT → BTC → ETH → USDT. Brak transferu między giełdami skraca cykl, ale nie usuwa prowizji, poślizgu ani ryzyka częściowego wykonania.
Ten materiał rozwija podstawy opisane w artykule Arbitraż kryptowalutowy bez mitów. Tutaj skupiamy się na samym obliczeniu i warunkach wykonania.
Jak powstaje cykl trzech par
Załóżmy, że giełda obsługuje pary BTC/USDT, ETH/BTC oraz ETH/USDT. Zaczynamy z 10 000 USDT i wykonujemy trzy operacje:
- kupujemy BTC za USDT,
- kupujemy ETH za BTC,
- sprzedajemy ETH za USDT.
Każdy krok musi korzystać z właściwej strony arkusza zleceń. Przy zakupie interesuje nas cena sprzedaży dostępna w arkuszu, a przy sprzedaży cena kupna. Użycie ceny ostatniej transakcji może pokazać wynik, którego nie da się faktycznie osiągnąć.
Przykład obliczenia brutto
Przyjmijmy uproszczone kursy:
- BTC/USDT: 100 000 USDT za 1 BTC,
- ETH/BTC: 0,049 BTC za 1 ETH,
- ETH/USDT: 5 020 USDT za 1 ETH.
Pierwszy krok daje 0,1 BTC. W drugim kroku 0,1 BTC / 0,049 daje około 2,0408 ETH. Sprzedaż tej ilości po 5 020 USDT daje około 10 244,90 USDT. Wynik brutto wynosi więc 244,90 USDT, czyli około 2,45%.
To nadal nie jest wynik strategii. Jest to jedynie wynik teoretyczny przed kosztami.
Prowizja działa trzy razy
Jeżeli prowizja każdej transakcji wynosi 0,1%, trzeba zastosować ją po każdym kroku, a nie odjąć raz na końcu. Uproszczony mnożnik dla trzech operacji wynosi:
(1 - 0,001) × (1 - 0,001) × (1 - 0,001)
Po prowizjach z 10 244,90 USDT pozostaje około 10 214,20 USDT. Wynik spada do około 214,20 USDT. Rzeczywista stawka może zależeć od poziomu konta, rodzaju zlecenia i sposobu pobierania opłaty, dlatego bot powinien używać konfiguracji konkretnego użytkownika.
Slippage i głębokość arkusza
Najlepsza oferta często obejmuje tylko niewielką ilość aktywa. Jeśli zlecenie wykorzysta kilka poziomów arkusza, średnia cena będzie gorsza. To właśnie poślizg cenowy.
System powinien przed wykonaniem zasymulować przejście całej kwoty przez arkusz każdej pary. Jeżeli szacowany slippage całego cyklu wynosi 0,35%, wynik po kosztach spada z około 2,14% do około 1,79%. Dodatkowy bufor jest potrzebny, ponieważ arkusz może zmienić się pomiędzy obliczeniem a realizacją.
Wzór na wynik netto
Praktyczna wersja obliczenia wygląda następująco:
wynik netto = kapitał końcowy - kapitał początkowy - koszty dodatkowe
Kapitał końcowy musi już uwzględniać ceny wykonania, prowizję każdego zlecenia i przewidywany slippage. Wynik procentowy to:
wynik netto / kapitał początkowy × 100%
W cyklu na jednej giełdzie zwykle nie ma opłaty blockchain za transfer, ale mogą pojawić się inne koszty: konwersja prowizji, finansowanie pozycji albo różnice wynikające z minimalnego kroku ilości.
Minimalny próg wykonania
Bot nie powinien realizować każdego dodatniego wyniku. Strategia potrzebuje progu wyższego niż zero, obejmującego margines błędu. Przykładowa reguła może wymagać:
- wyniku netto po kosztach powyżej 0,40%,
- odpowiedniej płynności na wszystkich trzech parach,
- aktualnych danych z każdej książki zleceń,
- możliwości wykonania ilości zgodnej z krokami giełdy,
- braku aktywnego limitu dziennej straty lub awarii API.
Próg nie gwarantuje zysku. Ogranicza jedynie sytuacje, w których oczekiwana przewaga jest zbyt mała w stosunku do niepewności wykonania.
Co jeśli jedno zlecenie wykona się częściowo
Największe ryzyko pojawia się wtedy, gdy pierwszy krok zostanie wykonany, a następny tylko częściowo albo wcale. System zostaje wtedy z nieplanowanym aktywem. Bot powinien potwierdzać faktyczny fill przed kolejnym krokiem, mieć limit czasu oraz regułę zakończenia lub odwrócenia ekspozycji.
Więcej mechanizmów kontroli opisujemy w materiale Automatyzacja tradingu: co powinien kontrolować dobry bot.
Checklista przed uruchomieniem cyklu
Przed wysłaniem zleceń należy odpowiedzieć na pięć pytań: czy kursy pochodzą z aktualnego arkusza, czy pełna kwota mieści się w dostępnej płynności, czy uwzględniono wszystkie trzy prowizje, czy wynik przekracza próg bezpieczeństwa oraz czy istnieje procedura na częściowe wykonanie.
Arbitraż trójkątny nie polega na samym znalezieniu dodatniego iloczynu kursów. Przewaga pojawia się dopiero wtedy, gdy cały cykl można wykonać w odpowiedniej ilości, po rzeczywistych cenach i z kontrolą scenariusza awaryjnego.
