27 września 2026 · badania

Backtest przeszedł. Strategia paper tradingowa nie zrealizowała 37% zleceń.

Backtest przeszedł. Strategia paper tradingowa nie zrealizowała 37% zleceń.

Nasz backtest naliczył 91 realizacji spośród 100 złożonych zleceń. W paper tradingu ta sama strategia uzyskała 63. Mediana czasu od sygnału do potwierdzenia przyjęcia zlecenia wyniosła 84 milisekundy, a 12 z pominiętych realizacji paper tradingowych dotyczyło zleceń limit, które backtest uznawał za zrealizowane natychmiast po dotknięciu ceny.

Ta 28-punktowa różnica wyglądała na problem ze strategią, dopóki nie oddzieliliśmy decyzji o złożeniu zlecenia od decyzji o jego realizacji. W obu przebiegach strategia wybierała niemal tę samą stronę, wielkość i cenę. Różniła się ścieżka realizacji: część zleceń dotarła z opóźnieniem, część pozostała otwarta, a część trafiła na rynek, który zdążył już się zmienić.

Co oznacza zgodność zleceń między backtestem a paper tradingiem?

Zgodność oznacza, że backtest i system paper tradingowy podejmują porównywalne decyzje na podstawie tych samych dostępnych informacji, a różnice między modelami realizacji są jawnie uwzględnione. Nie oznacza to, że każda symulowana realizacja powinna odpowiadać realizacji w paper tradingu. Dane historyczne w interwałach nie pozwalają odtworzyć pozycji w kolejce, a platforma paper tradingowa może stosować inny model dopasowywania zleceń niż giełda na żywo.

Praktyczne pytanie jest węższe: czy dla każdego zlecenia, które strategia zamierzała złożyć, potrafisz wyjaśnić, co wydarzyło się potem? Liczba transakcji i końcowy zwrot ukrywają zbyt wiele. Prowadź połączony zapis każdej decyzji i przypisuj jej stały identyfikator, który towarzyszy zdarzeniom od sygnału, przez zlecenie, potwierdzenie i anulowanie, aż po realizację.

PorównanieCo wykrywaPrzykład
Czas decyzji i stronaRóżne dane wejściowe lub harmonogramSygnał w paper tradingu pojawia się o 1 świecę później
Żądana wielkość i cenaZaokrąglanie, reguły ryzyka lub giełdyBacktest składa zlecenie na 0.013 BTC; paper trading zaokrągla do 0.01
Zmiany stanu zleceniaLuki przy składaniu, odrzucaniu i anulowaniuBacktest traktuje żądanie anulowania jako zakończone
Wielkość i cena realizacjiZbyt optymistyczny model realizacji lub ruch rynkuCena dotyka limitu i backtest uznaje zlecenie za zrealizowane w całości, ale w paper tradingu nie dochodzi do realizacji

Dlaczego dotknięte limity odpowiadały za tak wiele pominiętych realizacji?

Nasz backtest korzystał ze świec 1-minutowych. Jeśli cena limitu mieściła się w zakresie maksimum i minimum świecy, zlecenie uznawano za zrealizowane. Ta reguła odpowiada na pytanie, czy w danej minucie rynek handlował po tej cenie. Nie mówi jednak, czy nasze zlecenie było wtedy aktywne, czy jako pierwsze czekało w kolejce ani czy po jego dotarciu zawarto wystarczający wolumen transakcji.

Logi z paper tradingu ujawniły problem z czasem. Strategia obliczyła sygnał o 12:03:00.000, ale zdarzenie z danymi rynkowymi dotarło do procesu obsługi zleceń 31 milisekund później. Kontrole ryzyka zajęły kolejne 22 milisekundy, a symulator giełdy potwierdził przyjęcie zlecenia po następnych 31 milisekundach. Przy gwałtownym ruchu historyczna świeca może sugerować, że cena była osiągalna, choć limit dotarł już po jej zmianie.

Pojawiła się też inna komplikacja: dwanaście zleceń paper tradingowych nadal było otwartych, gdy backtest przeszedł już dalej. Symulator przyjmował żądanie anulowania tak, jakby zlecenie natychmiast znikało. W systemie paper tradingowym potwierdzenie anulowania przychodziło później; w tym czasie zrealizowały się trzy zlecenia. To zmieniło pozycję widzianą przez kolejny sygnał.

Jak zmierzyć tę różnicę, nie oszukując samego siebie?

Zacznij od prostego raportu uzgodnieniowego, pogrupowanego według zamiaru złożenia zlecenia. Pokazuj mianownik. „Wskaźnik realizacji” może oznaczać liczbę zrealizowanych zleceń podzieloną przez liczbę złożonych zleceń, zrealizowaną ilość podzieloną przez żądaną ilość albo liczbę zleceń zrealizowanych w całości podzieloną przez liczbę zleceń, które dotarły do giełdy. Każda z tych miar odpowiada na inne pytanie.

  1. Łącz zdarzenia za pomocą identyfikatora decyzji lub zlecenia klienta, a nie znacznika czasu odgadniętego po fakcie.
  2. Najpierw porównaj decyzje: czas sygnału, stronę, żądaną ilość, typ zlecenia i cenę limitu.
  3. Dla zgodnych decyzji porównaj opóźnienie potwierdzenia, odrzucenia, czas otwarcia, czas anulowania, zrealizowaną ilość i cenę realizacji ważoną wolumenem.
  4. Podawaj wskaźniki według typu zlecenia i warunków rynkowych. Łączny wskaźnik realizacji na poziomie 63% może ukrywać 90% dla zleceń market i 35% dla pasywnych zleceń limit.

Rozróżniaj kategorie. Odrzucone zlecenie to nie to samo co niezrealizowane; częściowa realizacja nie jest pełną realizacją; a zlecenie anulowane po częściowej realizacji i tak zmieniło pozycję. Zliczaj zarówno zlecenia, jak i żądaną ilość, żeby skupisko małych zleceń nie sprawiało, że wynik wygląda lepiej, niż jest w rzeczywistości.

91%wskaźnik realizacji zleceń w backteście
63%wskaźnik realizacji zleceń w paper tradingu
28 ppróżnica do zbadania

Co należy zmienić w backteście?

Stosuj regułę realizacji dopasowaną do rozdzielczości danych i zamierzonego sposobu składania zleceń. W przypadku świec dotknięcie ceny limitu świadczy o możliwej realizacji, ale jej nie potwierdza. Możesz konserwatywnie modelować częściowe realizacje, wymagać przebicia ceny albo pomijać zlecenia pasywne, dla których nie da się oszacować pozycji w kolejce. Każdy wybór odpowiada na inne pytanie; opisz go i porównaj wyniki przy użyciu więcej niż jednej wiarygodnej reguły.

Modeluj także stan zlecenia. Zlecenie pozostaje aktywne, dopóki system nie otrzyma zdarzenia końcowego, a żądanie anulowania nie usuwa ekspozycji. Jeśli strategia może złożyć drugie zlecenie, gdy pierwsze nadal oczekuje, jej backtest musi uwzględniać ten wyścig albo zapobiegać mu przez odpowiednią konstrukcję.

Model realizacji to twierdzenie o tym, co mogłoby się stać z twoim zleceniem. Przyjmij regułę, którą potrafisz wyjaśnić, a potem sprawdź ją w logach paper tradingowych.

W przypadku naszej 28-punktowej różnicy zaskoczyło nas nie to, że backtest oparty na świecach 1-minutowych zawyżał liczbę pasywnych realizacji. Strategia rozminęła się z pozycją, zanim podjęła kolejną decyzję, bo pominęliśmy czas anulowania. Gdy poprawiliśmy model stanu zleceń i przestaliśmy traktować każde dotknięcie limitu jako realizację, porównanie z paper tradingiem wypadło mniej korzystnie, ale stało się bardziej użyteczne.

W praktyce zgodność oznacza, że każda istotna różnica między zachowaniem symulowanym a paper tradingowym ma udokumentowaną przyczynę, a backtest nie deklaruje pewności tam, gdzie nie pozwalają na nią dostępne dane.

paper tradingzarządzanie zleceniamibacktestingrealizacja zleceńsystemy transakcyjne
← Wszystkie wpisy