Narzędzia
Teraz czytasz
Backtesting to zdecydowanie za mało – sprawdź swój automat
0

Backtesting to zdecydowanie za mało – sprawdź swój automat

utworzył Paweł Mosionek4 stycznia 2018

Decydując się na trading za pomocą automatycznych strategii, musimy mieć świadomość, że samo zaprojektowanie i zakodowanie warunków strategii to dopiero początek drogi. Kolejnym krokiem jest tzw. backtesting, czyli sprawdzenie poprawności działania na danych historycznych. Ale jeśli myślisz, że to ostatecznie da Ci realny obraz możliwości strategii, to jesteś w błędzie…

Jak działa backtesting

Sam backtesting to inaczej symulacja działania EA na danych historycznych. Pokazuje nam jak nasz automat zachowałby się przy danych parametrach na wybranym odcinku czasowym. O szczegółach będzie decydować środowisko na którym bazujemy, czyli tester strategii wbudowany w platformę lub zewnętrzne, osobne oprogramowanie. Bez wątpienia, najpopularniejszym jest Tester dostępny na platformie MetaTrader 4.

Jednym z kluczowych czynników przy backtestingu jest jakość danych wykorzystanych do przeprowadzenia symulacji. O tym jak wydłużyć historię kwotowań oraz skąd ją pobrać pisaliśmy w podlinkowanym artykule. Ale trzeba pamiętać, że nawet bardzo (względnie) wiarygodny test historyczny, który zakończył się pokaźnym zyskiem, to dla nas tylko komunikat mówiący o tym jak zachowałaby się strategia w przeszłości przy z góry wiadomych warunkach. Nie mówi nam jak automat będzie się spisywał w przyszłości w warunkach, które nie są znane. Zatem pytanie brzmi – co dalej?

Testowanie strategii

Warto wprowadzić sobie pewne kryteria i wymogi zwiększające wiarygodność wyników testu, które mogą mieć odzwierciedlenie w przyszłości. Wybranie jak najdłuższego przedziału czasowego z którego posiadamy kwotowania oraz wprowadzenie naszych “najlepszych” parametrów to niekoniecznie najlepsze rozwiązanie, choć na pewno dobry punkt wyjściowy.

Przeczytaj koniecznie: Jak poprawnie testować automaty

Testy z użyciem różnych parametrów strategii, które rzeczywiście możemy modyfikować w przyszłości używając EA, to coś obowiązkowego. Do tego celu możemy wykorzystać funkcję optymalizacji, czyli wykonanie testu dla różnych kombinacji ustawień.

Jednak przestrzegam przed nadmierną optymalizacją, czyli doskonałym dopasowaniem parametrów strategii do danych historycznych. To da nam bardzo optymistyczny wykres krzywej kapitału z backtestu, ale z całą pewnością nie powtórzy się to w realnym handlu.

Przykładowy wynik backtestingu

Zakres parametrów i ich przedziały wykorzystane do optymalizacji muszą mieć logiczne uzasadnienie wynikające z konstrukcji naszej strategii. Przykładowo, jeśli nasze EA bazuje na podążaniu za trendem długoterminowym i wyjściowo przy jego projektowaniu korzystaliśmy z MA o okresach 50, 70, 120, to wystrzegajmy się testów z MA z okresowością 1-20.

Mieszaj przedziały czasowe

Jak wspomniałem wcześniej, zaznaczenie największego przedziału i wykonanie testu to dobry wstęp. Ale warto wykonać kilka krótszych testów na przedziałach, które będą się na siebie nakładać, np.:

  • Test 1 – styczeń – marzec
  • Test 2 – luty – kwiecień
  • Test 3 – 14 lutego – 30 czerwca
  • Test 4 – czerwiec – lipiec
  • Test 4 – styczeń – czerwiec

W ten sposób dowiadujemy się jak zachowałaby się nasza strategia, gdybyśmy np. mieli przerwę w handlu lub gdybyśmy wystartowali z nią o innej porze niż styczeń. Dzięki temu, w przypadku gdy nasza strategia np. zanotowała pokaźny zysk na początku roku na skutek “ostatniego tchu” panującego w styczniu trendu, wiemy co stałoby się, gdybyśmy zaczęli handel po nim.

Możemy także poeksperymentować z wykonywaniem testów przy użyciu różnych wartości spreadów lub sprawdzając jak zachowałby się grając tylko pozycje długie lub krótkie.

Im więcej sprawdzeń wykonamy z wykorzystaniem różnych, potencjalnie realnych warunków, tym większa szansa, że otrzymany wynik będzie bliski prawdy.

Analizuj zagrania

Po wykonaniu backtestera przeanalizuj dokładnie otrzymane dane. Sprawdź na wykresie czy pozycje były otwierane faktycznie zgodnie z założeniami EA. Zobacz w jakich miejscach były zawierane transakcje (co wtedy działo się z rynkiem) i postaraj się określić jaki wpływ na wynik mogłyby mieć ew. poślizgi cenowe oraz rozszerzenia spreadów przy ich realizacji.

Test wykonywany jest w neutralnych warunkach, gdzie nie mamy do czynienia ze zmiennymi spreadami, ograniczoną płynnością, a także nie uwzględniamy czasu realizacji zlecenia. Przy niektórych strategiach nie będzie miało to większego znaczenia (zazwyczaj trading długoterminowy), ale przy day-tradingu, news tradingu czy scalpingu właśnie te detale często okazują się decydujące.

Prawdę powie Ci…

Wszystkie powyższe wskazówki mogą jedynie przeważyć szalę na Twoją korzyść i pokazać Ci wstępnie czego możesz się spodziewać stosując swój algorytm. To także minimalizacja ryzyka przed wejściem z automatem na prawdziwy rynek i zaliczenie szybkiej, dotkliwej straty.

I tutaj zawsze ostatnim, najbardziej pewnym weryfikatorem jest wykonanie tzw. forward testingu, czyli sprawdzenia EA na realnych warunkach. Mały depozyt i minimalny wolumen (mikro-, a nawet nano-loty) to coś, co da Ci ostateczny podgląd na potencjał automatu. Niestety, i to rozwiązanie ma poważną wadę – wymaga dużej cierpliwości…

Co o tym sądzisz?
Lubię
100%
Interesujące
0%
Heh...
0%
Co?
0%
Nie lubię
0%
Tragedia
0%
O Autorze
Paweł Mosionek
Aktywny trader na rynku Forex od 2006 roku. Redaktor portalu Forex Nawigator oraz redaktor naczelny i współtwórca serwisu ForexClub.pl. Prelegent konferencji "Focus on Forex" na SGH w Warszawie, "NetVision" na Politechnice Gdańskiej oraz "Inteligencja finansowa" na Uniwersytecie Gdańskim. Dwukrotny zwycięzca "Junior Trader" - gry inwestycyjnej dla studentów organizowanego przez DM XTB. Uzależniony od podróży, motocykli i skoków spadochronowych.