Testowanie historyczne (backtesting) polega na zastosowaniu określonych zasad do danych historycznych w ramach modelu realizacji zleceń. Pozwala oszacować, co taki model by wygenerował, a nie co z pewnością zarobiłoby prawdziwe konto.

1. Sformułuj zasady, które inna osoba może odtworzyć

Zdefiniuj instrument, źródło danych, sesję, czasowanie sygnału, zlecenia wejścia i wyjścia, metodę określania wielkości, koszty oraz warunki braku transakcji. Określ, czy sygnał wykorzystuje zamkniętą świecę. Przed uruchomieniem oceny nadaj zasadom wersję.

W przykładzie przecięcia średnich podaj typ średniej i okresy, świecę potwierdzającą przecięcie oraz najwcześniejszy czas złożenia kolejnego zlecenia. Sformułowanie „Kupuj na przecięciu” pozostawia nierozstrzygnięte ważne założenia dotyczące realizacji zleceń.

2. Sprawdź dane, które mogłeś znać

Sprawdź brakujące świece, zmiany stref czasowych, korekty z tytułu zdarzeń korporacyjnych oraz rolowanie kontraktów futures. Bieżąca lista spółek, które przetrwały, niekoniecznie odpowiada historycznemu uniwersum. Publikacje danych ekonomicznych i dane finansowe spółek mogły zostać zrewidowane po dacie testu.

Wartości z wyższych interwałów czasowych i potwierdzone punkty zwrotne mogą wprowadzać informacje z przyszłości, jeśli zostaną użyte zbyt wcześnie. Zachowaj wersję danych i ustawienia testu, aby wynik można było odtworzyć.

3. Modeluj zlecenia i koszty

Świeca obejmująca zarówno poziom docelowy, jak i poziom stop nie mówi, który z nich został osiągnięty jako pierwszy. Użyj dokładniejszych danych, gdy to właściwe, albo udokumentuj zachowawczą zasadę rozstrzygania niejednoznaczności. Dotknięcie ceny limitu nie gwarantuje dostępnej ilości ani realizacji zlecenia.

Uwzględnij rzeczywistą strukturę opłat oraz uzasadniony zakres założeń dotyczących niekorzystnej realizacji zleceń. Nie istnieje uniwersalny dopuszczalny poślizg wynoszący od jednego do dwóch ticków, właściwy dla każdego zlecenia, instrumentu i zdarzenia. Dokumentacja strategii TradingView wyjaśnia, jak jeden emulator brokera obsługuje zlecenia, oraz opisuje ograniczenia testowania; inne narzędzia mogą działać inaczej.

4. Przeanalizuj sekwencję, a nie tylko wynik łączny

Zapisuj znaczniki czasu wejścia i wyjścia, realizacje zleceń, wielkości, koszty, otwartą ekspozycję oraz przyczyny pominiętych lub odrzuconych zleceń. Sprawdź wartość oczekiwaną wyniku netto, spadek względem wartości odniesienia (drawdown) oraz zależność od kilku obserwacji odstających obok odsetka transakcji zyskownych i współczynnika zysku.

Odsetek transakcji zyskownych na poziomie 45%, przy średniej wartości zyskownych transakcji brutto dwukrotnie wyższej od średniej wartości strat, daje w tym modelu dodatnią oczekiwaną wartość brutto. Koszty lub inne zrealizowane wyniki transakcji mogą to odwrócić. Ustalony docelowy stosunek nie jest tym samym co zaobserwowana średnia zyskowna transakcja.

5. Oddziel ocenę od selekcji

Użyj jednej części danych do opracowania zasad, a osobnej części do ich oceny. Powtarzane dostrajanie do drugiej części zamienia ją w kolejny zbiór rozwojowy. Zapisz, ile wariantów wypróbowano, i uwzględnij niekorzystne okresy.

Żaden próg 100 transakcji sam w sobie nie tworzy istotności statystycznej. Znaczenie mają zależność między transakcjami, zmienność wyników transakcji oraz pokrycie rynku. Zobacz niepewność związaną z liczebnością próby.

Symulacja forward może następnie sprawdzić wybór momentu i proces obsługi zleceń na nowo napływających danych. Nadal pozostaje symulacją, a dobry wynik nie wymaga próby z użyciem prawdziwych pieniędzy. Natychmiast wstrzymaj się w przypadku problemu dotyczącego bezpieczeństwa lub implementacji, zamiast kontynuować wyłącznie po to, by osiągnąć określoną liczbę.

Zastrzeżenie dotyczące ryzyka: Handel wiąże się ze znacznym ryzykiem straty. Wyniki osiągnięte w przeszłości nie są wyznacznikiem przyszłych wyników. Zobacz nasze pełne zastrzeżenie dotyczące ryzyka.