Arbitraż trójkątny krok po kroku: jak policzyć wynik netto

Praktyczny przykład cyklu z trzema parami: od kursów i prowizji po poślizg, minimalny próg rentowności oraz decyzję, czy bot powinien wykonać transakcję.

Schemat trzech par walutowych tworzących cykl arbitrażu trójkątnego

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:

  1. kupujemy BTC za USDT,
  2. kupujemy ETH za BTC,
  3. 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.

Najczęstsze pytania

Co to jest arbitraż trójkątny?

To cykl trzech wymian na powiązanych parach, który wraca do waluty początkowej.

Ile prowizji obejmuje cykl?

Zwykle trzy, ponieważ każda konwersja jest osobnym zleceniem.

Jak policzyć wynik netto?

Od końcowej wartości po rzeczywistych cenach należy odjąć kapitał początkowy i wszystkie dodatkowe koszty.

Co grozi przy częściowym wykonaniu?

System może pozostać z nieplanowanym aktywem, dlatego potrzebuje reguły zakończenia lub redukcji ekspozycji.