Backtest to sposób na sprawdzenie skuteczności strategii w przeszłości. Czy to narzędzie naprawdę działa?
Kiedy zaczynasz w świecie handlu, jedną z pierwszych rzeczy, których się uczysz, jest koncepcja weryfikacji historycznej. Oznacza to, że przed użyciem strategii wskazane jest, jeśli nie konieczne, sprawdzenie wyników niektórych reguł w poprzednich okresach. Nazywamy te zasady systemem transakcyjnym lub po prostu systemem. Sama koncepcja, a przynajmniej pomysł, jest bardzo dobry. Choć teraz wydaje nam się to oczywiste, nie zawsze tak było. Co więcej, nawet dzisiaj istnieją handlowcy lub inwestorzy, którzy przez pomyłkę lub zaniechanie wolą powierzyć swój kapitał przyszłości przeznaczenia.
Oczywiście, każdy spekuluje swoim kapitałem według własnego uznania. Oczywiście, mając środki co najmniej o jedno kliknięcie, aby przynajmniej spróbować zweryfikować i stosunkowo łatwo, zwroty, które strategia przyniosła w przeszłości, wydaje się co najmniej absurdalne, aby tego nie robić.
Uwaga: pomijamy te części analizy, które nie są kwantyfikowalne. Coś, co dzieje się we wszystkich rodzajach analizy. Zawsze jest coś, za czym tęsknimy.
Wcześniejsze zwroty nie gwarantują przyszłych zwrotów
Niektórzy z tych, którzy niechętnie oceniają swoje strategie, mogą twierdzić – i bardzo dobrze argumentować – że przeszłe zwroty nie gwarantują przyszłych zwrotów. Ale pamiętając, że mają rację, zawsze dochodzę do następującego wniosku: jeśli nie możesz zapewnić, że to, co zadziałało, będzie nadal działać, to co sprawia, że myślisz, że to, co nie działało, zadziała teraz. To może działać? Tak, ale wydaje się to bardziej aktem wiary niż cokolwiek innego.
Nadzieja jest ostatnią rzeczą do stracenia, ponieważ oczywiście zanim ją stracisz, na pewno stracisz swój kapitał.
Backtest też nie działa
Mając na uwadze ideę, że test historyczny jest lepszy niż poleganie na astrologii, musimy nadal udoskonalać, aby nie popełniać tych samych błędów, które wielu traderów popełniło, robi i niestety nadal będzie popełniać.
W tym momencie musimy nałożyć olej na płótno, aby potwierdzić, że test historyczny jest lepszy niż poleganie na losowości miejsca docelowego, ale jest dalece niewystarczający.
Dlaczego to nie wystarczy?
Test historyczny wystarczy, aby sprawdzić, czy korzystając w przeszłości z określonego systemu transakcyjnego, osiągnęlibyśmy określone wyniki. Ale na tym narzędzie się kończy. Samo słowo to mówi: „Wstecz” (przeszłość) i „test” (Dowód). Ekstrapolując, bez dalszej analizy, niektóre wyniki są wciąż – choć w mniejszym stopniu – kolejnym aktem wiary. Ponieważ przypadkiem może nadal działać i znalazłem system, który działa, nie wiedząc, dlaczego lub że działa, a ty nie wiesz do kiedy. Ten sposób postępowania niektórych analityków ilościowych kontrastuje z ich nieustanną krytyką analizy technicznej. Oznacza to, że krytykują coś, co sami nieświadomie stosują codziennie.
Co tu analizować?
Zakładając, że system ma stałe parametry, konieczne jest sprawdzenie jego poprawności w różnych środowiskach rynkowych. Nawet w środowiskach, które nie istnieją. Sprawdź, jak system działałby w warunkach wysokiej zmienności, niskiej zmienności, przed i po zmianach strukturalnych, na rynkach byczych, niedźwiedzich i bocznych. I tak mogliśmy jechać prawie w nieskończoność.
Jeśli system ma zmienne parametry, co zwykle ma miejsce w większości przypadków, zrobimy ten sam proces, ale pamiętając, że system jest modyfikowalny, a więc optymalizowany. A sam fakt możliwości optymalizacji sprawia, że jest on podatny na nadmierną optymalizację. Ten punkt ma kluczowe znaczenie, aby w przyszłości dążyć do uzyskania stabilnych zwrotów.
Typowym krokiem po znalezieniu strategii, która działała dobrze w przeszłości, jest próba optymalizacji modelu. Wielki błąd. Najpierw trzeba by to było napiąć, lub to, co nazywam stresowaniem systemu. Uruchom go w najgorszym możliwym środowisku znanym z takich systemów. Tak więc, na przykład, jeśli mamy system trendów, konieczne będzie uruchomienie go w dłuższych okresach bocznych, aby zobaczyć, jak się zachowuje, gdy nie ma korzystnego scenariusza generowania zwrotów z systemu. Powodem tego jest to, że nie wiemy, co wydarzy się w przyszłości, więc postawienie się w najgorszym możliwym scenariuszu oddala nas jak najdalej od nieuniknionej (i pożądanej) przypadkowości.
Co zrobić poza podkreśleniem tego?
Koncepcje, które zmieniają wszystko, to testowanie w przód i testowanie z próbki. Ale jeśli nie znamy przyszłości, jak mamy przetestować coś, czego nie znamy? Mamy dwie opcje, które wkrótce zobaczymy. Z drugiej strony mamy koncepcję braku próbki. Wybór tej próbki – którą zalecam, aby było ich kilka (a nie tylko jedną) iz rozkładami prawdopodobieństwa, które prezentują różne cechy – jest niezbędny do uzyskania działającego systemu. Chodzi o to, aby backtest i optymalizacja były przeprowadzane w różnych okresach. W ten sposób pozostaną bezpłatne próbki. Chociaż to zależy od gustu analityka. Można to zrobić w inny sposób, ale możemy popaść w błędy statystyczne, które nie są celem tego artykułu.
- Pierwszym sposobem przeprowadzenia tego procesu jest to, co nazwiemy tradycyjnym: tworzymy system, optymalizujemy go i po przyjrzeniu się niektórym metrykom uruchamiamy go z fikcyjnymi pieniędzmi lub z niewielką ilością prawdziwych pieniędzy. Jeśli wszystko pójdzie dobrze, włożymy to w życie.
- Drugim sposobem przeprowadzenia procesu jest to, co nazwiemy „nowym”, choć w rzeczywistości ma on niewiele nowego: Przeprowadzamy system, optymalizujemy go, sprawdzamy stabilność parametrów w czasie, realizujemy przykładowe testy, sztuczne testy do przodu i umieściliśmy go do pracy z prawdziwym testem do przodu. Jeśli wszystko pójdzie dobrze, włożymy to w życie.
Drugi sposób postępowania, w porównaniu z pierwszym, opiera się na dwóch koncepcjach: stabilności parametrów w czasie oraz sztucznych testach wyprzedzających. Sztuczne testy do przodu nie są rodzajem testów poza próbą, które próbują symulować prawdziwy test do przodu. Pomyślmy o następujących kwestiach:
Zrobiliśmy proces dla systemu przez ostatni rok. Wprowadzenie go do pracy od tego miesiąca (lipiec) do końca roku (grudzień) jest praktycznie tym samym, co przejście do przodu o wszystkie 6 miesięcy i symulowanie testu do przodu od stycznia do lipca. To nie to samo, bo realne warunki zawsze oferują nam sytuacje trudne do wymyślenia, ale idziemy dalej i osiągamy lepsze wyniki. A po tych „wynalazkach”, ponieważ w rzeczywistości są to wynalazki, przeprowadziliśmy test do przodu w czasie rzeczywistym. To właśnie mam na myśli przez sztuczne testy do przodu. Niektórym może się to nie podobać, ale myślenie inaczej jest stronnicze. Gdybyś odkrył tę strategię 6 miesięcy wcześniej, zrobiłbyś to samo.
Z drugiej strony mamy stabilność parametrów systemu w czasie. Dla mnie jest to najważniejszy wskaźnik, który mówi nam, czy system jest nadmiernie zoptymalizowany. Jeśli parametry pozostają stabilne w czasie po optymalizacji co X okresów, oznacza to, że jest mniej prawdopodobne, że parametry zostały nadmiernie zoptymalizowane niż inne, które różnią się bardziej. Jeśli dodamy do tego, że dla każdej optymalizacji przeprowadzamy sztuczny test wyprzedzający, a wyniki również są stabilne, mamy do czynienia z systemem, który może być naprawdę opłacalny.
Wszystko to może stać się znacznie bardziej zawiłe. Choć wydaje się to skomplikowane, tak nie jest. Jest ciężki, ale prostszy niż mechanizm dzbanka. Jak zawsze, każdy ma swój własny sposób robienia rzeczy, nie jest to jedyny sposób, ale chciałem wyjaśnić, że test wsteczny bez towarzyszy podróży jest bezużyteczny i bezużyteczny. Przynajmniej oczywiście w świecie tradingu.