Trzy koszty, które backtest ukrywa: funding, slippage i prowizje na jednej strategii perp
To studium przypadku pokazuje, jak ledwo rentowny backtest futures crypto zamienia się w strategię przynoszącą straty po uwzględnieniu fundingu, slippage'u i prowizji. Symulacje Monte Carlo ujawniają 57% prawdopodobieństwo straty po włączeniu realistycznych kosztów.
Ta sama strategia, te same zasady, ten sam okres. Górna krzywa to backtest bez kosztów. Dolna krzywa to ta sama strategia z włączonym fundingiem, slippage'em i prowizjami.
Tak najczęściej profitowy backtest zmienia się w stratne konto. Poniżej ten sam test krok po kroku, z liczbami na każdym etapie.
Strategia
Proste wejście na EMA + ADX z trailing stopem, złożone w pięć minut. Nigdy nie miało to być rozwiązanie produkcyjne. Chodziło tylko o dodatnie statystyki, żeby łatwo zobaczyć efekt kosztów.
Para: ETHUSDT perpetual
Depozyt: $10 000
Ryzyko na transakcję: 2% (wyższe niż zwykle, celowo)
Maksymalna liczba transakcji dziennie: brak
Dźwignia: bez limitu
Tryb: 24/7
Zanim przejdziemy do liczb, jedna uwaga. To nie twierdzenie, że każda strategia padnie po włączeniu kosztów. Strategia z dużym zapasem nad kosztami przetrwa, choć zarobi mniej niż wskazywał czysty backtest. To strategie na granicy rentowności najczęściej się łamią. Test pokazuje, jak duża może być różnica między backtestem bez kosztów a wynikiem możliwym do handlu, w przypadku strategii, gdzie ta różnica ma największe znaczenie.
Wynik bez kosztów
Pełna automatyzacja, bez ingerencji ręcznej.
Profit factor 1.20
CAGR 23%
Sharpe 0.83
Max drawdown 29%
Profit factor na poziomie 1.20 to wynik graniczny. Ani wyraźnie profitowy, ani wyraźnie stratny. 23% rocznie wygląda atrakcyjnie, ale Sharpe 0.83 i 29% drawdown mówią, że to ryzykowny wynik siedzący blisko szumu.
Gdzie strategia zarabia
Zanim uwzględnimy koszty, warto sprawdzić, w jakich warunkach strategia właściwie zarabia. Analiza klastrów transakcji według reżimu zmienności i sesji handlowej daje klarowny obraz.
Strategia zarabia w reżimach wysokiej i ekstremalnej zmienności oraz w sesjach EU i US. Sesja azjatycka i reżim niskiej zmienności regularnie generują straty i rozwadniają wynik.
To strategia działająca w specyficznych warunkach. Właściwy typ strategii do tego testu.
Monte Carlo przed kosztami
Test permutacji 5000 razy miesza kolejność transakcji. Nie mówi, czy reguła działa. Pokazuje, jaki zakres drawdownów i serii strat mógłby wygenerować ten sam zestaw transakcji w innej kolejności.
Już tutaj widać sygnały ostrzegawcze:
Maksymalna seria strat: 18. Nawet bez kosztów, do 18 stratnych transakcji z rzędu. To granica wytrzymałości psychicznej dla większości traderów.
Najgorszy scenariusz: -36%. Jeden pechny układ permutacji zabiera trzecią część depozytu.
Max drawdown 56% w najgorszej permutacji, wobec „gładkich" 29% w backteście bazowym.
Wystarczający powód do ostrożności. Ale celem testu są koszty, więc kontynuujemy.
Trzy koszty, włączane po kolei
Funding, slippage i prowizje dotyczą każdej strategii, ale ich koszt zależy od czasu trzymania pozycji, liczby transakcji, typów zleceń, płynności i wielkości pozycji. Strategia pisana w 5 minut i system produkcyjny płacą ten sam rate fundingu na tej samej parze. Różnica polega na tym, jak często i jak długo go płacą. Jeśli strategia nie przetrwa tych trzech kosztów, jej ulepszona wersja prawie na pewno też nie przetrwa, chyba że logika zostanie przerobiona od podstaw.
W backteście bazowym wszystkie trzy były wyłączone celowo. Włączamy je po kolei.
Krok 1. Funding
Funding rozliczany jest co 8 godzin na perpetualu. Może działać na Twoją korzyść lub przeciwko Tobie, w zależności od kierunku pozycji i tego, co w danym momencie robi rynek. W tym backteście funding pochodzi z rzeczywistej historii płatności na parze, więc każda płatność co 8 godzin to ta, która rzeczywiście miała miejsce.
Zmiana jest niewielka, ale już na naszą niekorzyść. Mała na pojedynczej transakcji, sumuje się w czasie trzymania pozycji. W strategii trzymającej pozycje przez dni sytuacja wyglądałaby inaczej, ta zamyka transakcje szybko.
Krok 2. Slippage
Model slippage'u jest tutaj agresywny, dostrojony do rzeczywistych realizacji na ETHUSDT przy średnich wielkościach wejść.
Slippage zabrał 41% zysku. To nie błąd modelu, to realny koszt, który większość backtestów pomija. W handlu na żywo ta część zysku nigdy by nie powstała.
Modelujemy realizacje konserwatywnie celowo. Zbyt pesymistyczny backtest nic nie kosztuje. Zbyt optymistyczny kosztuje prawdziwe pieniądze.
Krok 3. Prowizje giełdy
Giełda pobiera opłaty przy wejściu i wyjściu. Tutaj użyto standardowej prowizji taker na futures Binance 0.05% (VIP 1) w obu przypadkach.
To tutaj strategia umiera. Profit factor spada poniżej 1.0, max drawdown rośnie do prawie 47%, CAGR staje się ujemny.
Dlaczego seria strat wzrosła z 9 do 19
Dlaczego seria strat wzrosła z 9 do 19
Strategia korzysta z trailing stopa. Bez kosztów, niewielki ruch w dobrą stronę wystarczał, aby przesunąć stop na zero lub na plus.
Dodaj slippage i prowizje, a minimalny ruch potrzebny tylko na pokrycie kosztów rośnie. Transakcje, które kiedyś zamykały się na +0.1R lub +0.2R, teraz zamykają się na zero lub na minusie. Serie ledwo dodatnich transakcji zamieniają się w serie strat, a drawdown rośnie wraz z nimi.
Monte Carlo po kosztach
Ten sam test permutacji, teraz z włączonym fundingiem, slippage'em i prowizjami.
Prawdopodobieństwo straty: 57%. W ponad połowie permutowanych ścieżek konto kończy poniżej punktu startowego. To liczba wewnątrz modelu permutacji, nie prognoza wyników live, ale zupełnie inna niż sugerował czysty backtest.
Najgorszy scenariusz: -133%. Depozyt nie tylko znika, konto wchodzi na minus, co przy dźwigni oznacza margin call.
Mediana końcowego balansu $8 608 przy starcie z $10 000. Typowa ścieżka traci 14%.
Max drawdown 97.95% w najgorszej permutacji, prawie cały depozyt.
Przed kosztami wyglądało to na „ryzykowne, ale dochodowe". Po kosztach to system z ujemnym oczekiwaniem.
Co mówi ten test
Start: wynik graniczny, profit factor 1.20. Funding zabrał trochę. Slippage zabrał 41%. Prowizje zepchnęły resztę poniżej zera. Prawdopodobieństwo straty w teście permutacji: 13% przed kosztami, 57% po.
Dwa dodatkowe koszty nawet nie zostały włączone, ponieważ strategia była już na minusie:
Impact rynkowy. Na cienkiej parze własne zlecenie rusza ceną przeciwko Tobie.
Modelowanie zleceń Stop i Limit. Rzeczywiste realizacje na Stop mogą być gorsze niż cena w backteście, a zlecenie Limit może nie zostać zrealizowane.
Analiza klastrów pokazała, że strategia zarabia przy wysokiej zmienności i w sesjach EU i US. Filtrując inne reżimy, może przetrwa koszty. A może nie. To osobny test.
Trzy wnioski z tego testu:
Włącz koszty, zanim spojrzysz na krzywą kapitału. Backtest bez fundingu, slippage'u i prowizji to inna strategia niż ta, w której będziesz handlować.
Sprawdź, który koszt boli najbardziej. W tej strategii był to slippage i prowizje, ponieważ zawiera wiele krótkich transakcji. W strategii trzymającej pozycje przez dni, funding wysuwa się na pierwszy plan.
Uruchom to samo Monte Carlo po kosztach, nie tylko przed. Permutacja przed kosztami już pokazała 18-transakcyjną serię strat. Po kosztach ten sam test wskazuje 57% szans na stratę.
Wypróbuj to na swojej strategii
Weź strategię, którą już masz i uruchom ją dwukrotnie: raz z wyłączonymi kosztami, raz z włączonym fundingiem, slippage'em i prowizjami. Porównaj profit factor, maksymalny drawdown i najdłuższą serię strat. Jeśli drugi wynik to inna strategia, pierwszy nigdy nie był prawdziwy.
Ten backtest porównuje trzy strategie wyjścia przy identycznych zasadach wejścia, pokazując wpływ zarządzania pozycją na drawdown i zysk. Dowiedz się, dlaczego przewaga często leży po stronie wyjścia, a nie sygnału wejścia.
Zyskowny trading zależy bardziej od zarządzania pozycją niż sygnałów wejścia. Veskald pozwala budować pełne cykle transakcji jako edytowalne zasady zamiast kodu, umożliwiając szybkie testowanie wyjść, stopów i korekt ryzyka.
Veskald to platforma no-code do budowania, testowania i uruchamiania strategii na krypto futures. Budowa strategii, backtest, walidacja i analityka w jednym interfejsie, a wykonanie — jak wolisz: sygnały do handlu ręcznego, bot na twojej maszynie albo własny executor pomiędzy.