Backtesting to sprawdzenie reguły transakcyjnej na historycznych danych cenowych instrumentu, aby zobaczyć, jak zachowałaby się ona w przeszłości. Testuje wewnętrzną logikę reguły i jakość danych, a nie przyszłość. Każdy wynik takiego testu jest hipotetyczny, ponieważ żadne zlecenie nie trafiło na rynek, a warunki wykonania zostały założone, nie zmierzone.
Terminu używa się także poza rynkami — w informatyce oznacza testy regresyjne, a w bankowości walidację modeli ryzyka na danych historycznych. Ten wpis dotyczy wyłącznie reguł transakcyjnych na instrumentach finansowych.
Co musi być spełnione, zanim wynik cokolwiek znaczy
Większość testów przewraca się na danych wejściowych, a nie na logice.
- Koszty wewnątrz testu. Spread, prowizja i finansowanie overnight obciążają każdą pozycję na rynku, więc należą do arytmetyki testu. Reguła policzona na cenach mid to reguła policzona na cenach, po których nikt nie zawiera transakcji.
- Rozdzielczość danych. Świeca zapisuje cztery ceny i nic nie mówi o drodze między nimi. Jeśli reguła może w jednej świecy dotknąć i poziomu obronnego, i docelowego, dane świecowe nie rozstrzygną, co nastąpiło pierwsze; dane tickowe rozstrzygną, ale tylko tam, gdzie historia tickowa sięga.
- Długość okna. Okno musi zawierać więcej niż jeden stan rynku — trend i konsolidację, spokój i zmienność, co najmniej jeden cykl polityki pieniężnej.
- Dane odłożone. Parametry dobrane na jednym okresie sprawdza się na okresie, który nie służył do ich doboru. Bez tego rozdziału nie da się odróżnić dopasowania od znalezienia.
Rachunek kosztów: ta sama reguła, dwa wyniki
Reguła generuje 200 transakcji otwarcia w oknie testu, wielkość pozycji 0,10 lota EUR/USD, spread 1,2 pipsa. Jeden pips na 0,10 lota to 1,00 USD, więc sam spread kosztuje 1,20 USD na transakcję i 240,00 USD w całym oknie. Do tego dochodzą punkty swapowe za każdą dobę utrzymania pozycji.
Test policzony na cenach mid nie zawiera żadnej z tych pozycji. Dodatni wynik brutto mniejszy niż 240,00 USD po dodaniu samego spreadu zmienia znak na ujemny; wynik ujemny powiększa się dokładnie o tę samą kwotę. Koszt działa w jedną stronę niezależnie od kierunku pozycji, dlatego należy do rachunku, a nie do komentarza pod nim.
Cztery standardowe błędy
Nadmierne dopasowanie (curve fitting). Parametry dobiera się, aż wykres wyników wygląda najlepiej. Każdy dodatkowy parametr to kolejny sposób opisania przeszłości — opis zaczyna należeć do próbki i do niczego więcej.
Zaglądanie w przyszłość (look-ahead bias). Test korzysta z informacji niedostępnej w chwili decyzji: ceny zamknięcia użytej wewnątrz świecy, zrewidowanego odczytu makro zamiast pierwszej publikacji, dzisiejszego składu indeksu.
Błąd przetrwania. Lista instrumentów zawiera tylko to, co nadal istnieje. Wycofane akcje, zakończone kontrakty i porzucone parytety walutowe wypadają z próbki.
Pominięte wykonanie. Zakłada się realizację po cenie żądanej. Zlecenia rynkowe i stop realizują się po najbliższej dostępnej cenie, a luki przeskakują poziomy w całości.
Dlaczego wynik historyczny nie przenosi się dalej
Zgodnie z art. 44 ust. 5 rozporządzenia delegowanego (UE) 2017/565 backtest jest symulowanym wynikiem historycznym, a art. 44 ust. 6 lit. a zakazuje opierania informacji o wynikach przyszłych na wynikach symulowanych. Dlatego w tym wpisie nie podajemy żadnych liczb dotyczących wyników.
Istota rzeczy nie jest jednak regulacyjna. Test mierzy jedną regułę na jednym zapisanym ciągu cen, przy jednym zestawie kosztów i jednym założeniu wykonania. Reżimy zmienności, spready i stawki swapowe zmieniają się. Czysty test mówi, że reguła została poprawnie zaimplementowana i przetrwała szeroką próbkę — nie przenosi wyniku tej próbki na okres, którego rynek jeszcze nie wytworzył.
Kalkulator: przelicz założoną wielkość pozycji na wymagany depozyt i wartość pipsa kalkulatorem wielkości pozycji.
Otwórz rachunek w ABF Trade, aby sprawdzić rzeczywiste spready i stawki swapowe na wybranych instrumentach.

