TL;DR
Backtesting może być ważnym krokiem w optymalizacji sposobu, w jaki działasz na rynkach finansowych. Pomaga Ci dowiedzieć się, czy Twoje pomysły i strategie handlowe mają sens i czy mogą potencjalnie przynieść zysk.
Wprowadzenie
Backtesting to narzędzie, z którego możesz (jako trader lub inwestor) korzystać podczas eksploracji nowych rynków i strategii. Może ono dostarczyć cennych informacji w oparciu o dane i dać wgląd w to, czy Twój pierwotny pomysł był dobry.
Niezależnie od klasy aktywów, którymi handlujesz, backtesting nie wymaga ryzykowania jakichkolwiek ciężko zarobionych środków. Korzystając z oprogramowania do analizy historycznej w symulowanym środowisku, można zbudować i zoptymalizować określone podejście do rynku. Sprawdźmy to.
Czym jest backtesting?
W finansach, analiza historyczna sprawdza rentowność strategii handlowej, testując, jak poradziłaby sobie na podstawie danych historycznych. Innymi słowy, wykorzystuje dane z przeszłości, aby zobaczyć, jak wypadłaby dana strategia. Jeśli backtesting wykaże dobre wyniki, traderzy lub inwestorzy mogą pójść o krok dalej i zastosować strategię w realnym środowisku.
Co w tym przypadku oznaczają dobre wyniki? Cóż, celem narzędzia do backtestingu jest analiza ryzyka i potencjalnej rentowności określonej strategii. Strategię inwestycyjną można zoptymalizować i ulepszyć na podstawie statystycznych informacji zwrotnych, aby zmaksymalizować potencjalne wyniki. Dobrze przeprowadzona analiza historyczna potrafi również zapewnić, że strategia jest co najmniej wykonalna, gdy zostanie wdrożona w rzeczywistym środowisku handlowym.
Na bardziej profesjonalnym poziomie backtesting strategii handlowych jest absolutnie niezbędny, szczególnie jeśli chodzi o algorytmiczne strategie handlowe (tj. handel automatyczny).
Jak działa backtesting?
Analiza historyczna ze źle dopasowanym zestawem danych może prowadzić do rezultatów, które są dalekie od bycia perfekcyjnymi. Dlatego ważne jest, aby znaleźć dobrą próbkę na okres backtesting'u, odzwierciedlającą obecne środowisko rynkowe. Może to być bardzo trudne, ponieważ rynek podlega ciągłym zmianom.
Zanim zdecydujesz się przetestować strategię, warto określić, czego dokładnie chcesz się dowiedzieć. Co sprawiłoby, że strategia byłaby opłacalna? I odwrotnie, co mogłoby obalić Twoje założenia? Jeśli będziesz wiedział to wszystko wcześniej, trudniej będzie Cię zaskoczyć.
Backtesting powinien również obejmować opłaty transakcyjne, wypłaty oraz wszelkie inne koszty, które możesz ponieść podczas realizacji strategii. Warto również zauważyć, że oprogramowanie do backtesting'u może być dość drogie, podobnie jak dostęp do wysokiej jakości danych rynkowych.
Przykład backtesting'u
Oto nasz system handlowy:
- Kupujemy Bitcoina na pierwszym tygodniowym zamknięciu powyżej 20-tygodniowej średniej kroczącej.
- Sprzedajemy Bitcoina na pierwszym tygodniowym zamknięciu poniżej 20-tygodniowej średniej kroczącej.
Ta strategia generuje tylko kilka sygnałów rocznie. Spójrzmy na okres rozpoczynający się od 2019 roku.
Tygodniowy wykres Bitcoina od 2019.
Strategia wygenerowała pięć sygnałów w wymienionym okresie:
- Kup @ ~$4,000
- Sprzedaj @ ~$8,000
- Kup @ ~$8,500
- Sprzedaj @ ~$8,000
- Kup @ ~$9,000
Tak więc nasze wyniki backtesting'u pokazują, że strategia byłaby opłacalna. Czy to oznacza, że mamy gwarancję, że będzie nadal działać? Nie. Oznacza to po prostu, że patrząc na ten konkretny zestaw danych, strategia przyniosłaby zysk. Możesz potraktować ten wynik jako punkt odniesienia.
Bierz pod uwagę, że przyjrzeliśmy się tylko danym z mniej niż dwóch lat. Jeśli chcielibyśmy przekształcić tę strategię w realną strategię, warto byłoby cofnąć się w czasie i przetestować ją na większej liczbie danych historycznych.
Backtesting vs. handel na papierze
Posiadamy teraz ogólne wyobrażenie o tym, jak może wyglądać analiza historyczna i przyjrzeliśmy się bardzo prostej strategii inwestycyjnej. Wiemy również, że dotychczasowe wyniki nie obiecują przyszłych pozytywnych rezultatów.
Handel na papierze to symulacja strategii w prawdziwym środowisku handlowym. Nazywa się on handlem na papierze, ponieważ chociaż transakcje są dokumentowane i rejestrowane, żadne prawdziwe fundusze nie są używane. Zapewnia to dodatkowy krok, w którym możesz ulepszyć strategię i zorientować się, jak działa.
Coś, na co należy uważać, to "cherry picking". Odnosi się to do wyboru podzbioru danych, który potwierdzi stronniczy punkt widzenia. Celem forward testing'u jest przetestowanie strategii tak, jak gdyby miała być używana w czasie rzeczywistym. Jeśli system każe Ci coś zrobić, zrób to. Jeśli wybierzesz tylko te transakcje, które "dobrze wyglądają" w oparciu o Twoje osobiste nastawienie, test systematycznej strategii nie będzie miał sensu.
Manualny vs. automatyczny backtesting
Manualny backtesting obejmuje analizę wykresów i danych historycznych oraz ręczne umieszczanie transakcji zgodnie ze strategią. Zautomatyzowany backtesting robi zasadniczo to samo, ale proces jest zautomatyzowany przez kod komputerowy (przy użyciu języków programowania, takich jak Python lub specjalistycznego oprogramowania do analizy historycznej).
Maksymalny spadek oznacza moment, w którym Twoja strategia handlowa osiągnęła najgorsze wyniki w porównaniu z ostatnim szczytem (tj. największy procentowy spadek, jaki odnotował Twój portfel w analizowanym okresie).
Przemyślenia końcowe
Wielu systematycznych traderów i inwestorów w dużym stopniu polega na backtesting'u swoich strategii. Jest to jeden z podstawowych instrumentów w zestawie narzędzi każdego tradera algorytmicznego.
Jednocześnie, interpretacja wyników analizy historycznej może być trudna. Łatwo jest nanieść własne uprzedzenia na metodę backtesting'u. Sama analiza historyczna prawdopodobnie nie stworzy realnych strategii handlowych, ale pomoże Ci przetestować niektóre pomysły i trzymać rękę na pulsie rynku.