19 października 2026 · egzekucja

Rebalans wyglądał tanio, dopóki nie uwzględniliśmy spreadu

Rebalans wyglądał tanio, dopóki nie uwzględniliśmy spreadu

O 09:00 UTC nasza strategia kontraktów futures na kryptowaluty, oparta na analizie przekrojowej, chciała przenieść 200 000 USD między dziesięć kontraktów perpetual. Backtest wykazał 4 punkty bazowe kosztów transakcyjnych. Symulacja paper tradingu, wykorzystująca ten sam sygnał i ten sam poziom opłat na giełdzie, oszacowała koszt na nieco ponad 20.

Z cennikiem opłat wszystko było w porządku. Uwzględniliśmy opłatę i uznaliśmy ją za koszt egzekucji. Ten błąd przetrwał, bo strategia handlowała płynnymi rynkami, składała umiarkowane zlecenia i zmieniała pozycje tylko raz dziennie. Każde z tych stwierdzeń brzmiało uspokajająco, dopóki nie zapytaliśmy, po jakiej cenie zlecenia mogłyby zostać faktycznie zrealizowane.

To rebalansowanie warto było dokładniej przeanalizować. Pokazało, jak backtest z niskimi opłatami może zaniżać koszty, zakładając, że cena rynkowa jest dostępna w nieograniczonej ilości.

Zaczęliśmy od listy zleceń. Strategia zajmowała długie pozycje w pięciu najsilniejszych kontraktach i krótkie w pięciu najsłabszych, z jednakową wagą kwotową. Większość pozycji wymagała korekty o około 20 000 USD. W przypadku jednego kontraktu wystarczyło 3 400 USD, a w przypadku innego potrzebne było 31 000 USD. Backtest wyceniał każdą transakcję po cenie zamknięcia świecy, a następnie naliczał giełdową opłatę taker w wysokości 2 punktów bazowych po każdej stronie.

Składnik kosztuZałożenie backtestuSzacunek z paper tradingu
Opłata giełdowa, po każdej stronie2 bp2 bp
Spread, po każdej stronie0 bpOkoło 4 bp
Wpływ na rynek i opóźnienie, po każdej stronie0 bpOkoło 4 bp
Szacowany koszt transakcji w obie strony4 bpOkoło 20 bp

Szacunek z paper tradingu nie gwarantował realizacji. Był modelem kosztu: uwzględniał zaobserwowany spread w chwili podejmowania decyzji, szacowany wpływ na rynek na podstawie wielkości zlecenia i niedawnego wolumenu obrotu oraz niewielki narzut za czas potrzebny na złożenie i realizację zlecenia. Ten ostatni narzut był celowo przybliżony. Model, który usuwa niepewność, daje więcej poczucia komfortu niż pożytku.

Najpierw sprawdziliśmy spread. Sygnał obliczano na podstawie zamkniętej świecy 1-minutowej, więc strategia mogła złożyć zlecenie dopiero po jej zamknięciu. Dla każdego kontraktu sprawdziliśmy najlepszą dostępną ofertę kupna i sprzedaży w chwili, gdy zlecenie dotarłoby na giełdę. Cena środkowa była punktem odniesienia, a nie ceną, po której można było zrealizować zlecenie. Kupno zaczyna się od ceny ask, a sprzedaż od ceny bid.

Sama ta różnica wyjaśniała około 8 punktów bazowych kosztu transakcji w obie strony dla przeciętnego kontraktu. Wartość różniła się zależnie od kontraktu i minuty. Dla najbardziej płynnego kontraktu spread wynosił około 2 bp po każdej stronie. W przypadku mniej płynnego rozszerzał się do 9. Przypisanie wszystkim zleceniom jednej wartości spreadu ukryłoby różnice, które właśnie chcieliśmy zobaczyć.

Potem przyszła kolej na wielkość zleceń. Zlecenie kupna po cenie rynkowej o wartości 20 000 USD często może przejść przez najlepszą ofertę sprzedaży, nie zużywając dużej części dostępnego wolumenu, ale to, czy tak będzie, zależy od aktualnego stanu arkusza zleceń. Oszacowaliśmy wpływ na rynek, przechodząc po widocznych poziomach w migawce arkusza: sprawdziliśmy wartość kwotową przy każdej cenie i wyliczyliśmy średnią cenę ważoną wolumenem po pobraniu wystarczającej liczby poziomów do realizacji zlecenia. Dla korekty o wartości 31 000 USD migawka wskazywała około 6 bp dodatkowego kosztu względem ceny środkowej. Zlecenie na 3 400 USD niemal nie zmieniło szacunku.

Sama migawka też była niedoskonała. Pokazywała widoczny wolumen, ale nie ukrytą płynność ani to, ile wolumenu pozostanie, gdy dotrze nasze zlecenie. Arkusze zleceń na rynku kryptowalut mogą się zmienić między obserwacją a złożeniem zlecenia; backtest oparty na rzadkich migawkach nie odtworzy dokładnie kolejki. Wykorzystaliśmy arkusz do wyznaczenia wiarygodnego przedziału kosztów, a następnie porównaliśmy go z realizacjami z paper tradingu, by sprawdzić, czy szacunek systematycznie nie jest zbyt optymistyczny.

Przy zleceniu rynkowym cena środkowa jest miarą porównawczą. To nie po tej cenie kupiliśmy ani sprzedaliśmy.

Przeprowadziliśmy rebalansowanie przy trzech różnych założeniach. Uwzględnienie spreadu, ale pominięcie dostępnego wolumenu, dało szacowany koszt transakcji w obie strony równy 12 bp. Uwzględnienie widocznego arkusza podniosło go do 18 bp. Po doliczeniu opłat giełdowych i narzutu 2 bp po każdej stronie za opóźnienie szacunek wyniósł około 22 bp. Dokładna wartość zależała od listy zleceń i migawki arkusza, ale kierunek zmiany był jasny.

Nie był to powód, by porzucić strategię. Był to powód, by ponownie uruchomić backtest z kosztami zależnymi od proponowanych transakcji. Dodaliśmy szacunki spreadu i wpływu na rynek dla każdego zlecenia, osobno wykazywaliśmy opłaty, a przy każdej symulowanej realizacji zapisywaliśmy punkt odniesienia, znacznik czasu i założoną metodę egzekucji.

W kolejnej symulacji paper tradingu zlecenie na jeden kontrakt podzieliliśmy na mniejsze części, ponieważ pierwsza część zużyła więcej dostępnego wolumenu, niż się spodziewaliśmy. Sygnał strategii się nie zmienił. Zmieniła się egzekucja, a to wystarczyło, by zmienić przypisanie kosztów.

Jeśli Twój backtest twierdzi, że rebalansowanie kosztuje tylko tyle, co opłata, poproś go o pokazanie ceny, wielkości zlecenia i dostępnej płynności dla każdej realizacji. Przekonująca odpowiedź zaczyna się od tych szczegółów, a nie od jednej liczby opisanej jako „poślizg cenowy”.

wpływ na rynekspread bid-askbacktestingrebalansowanie portfelakontrakty futures na kryptowaluty
← Wszystkie wpisy