4 maja 2021 14:39

Testowanie wsteczne i testowanie w przód: znaczenie korelacji

Traderzy, którzy są chętni do wypróbowania pomysłu na handel na rynku na żywo, często popełniają błąd polegając wyłącznie na wynikach analizy historycznej w celu ustalenia, czy system będzie opłacalny. Chociaż backtesting może dostarczyć handlowcom cennych informacji, często wprowadza w błąd i stanowi tylko jedną część procesu oceny.

Testy poza próbką i testy wydajności z wyprzedzeniem zapewniają dalsze potwierdzenie skuteczności systemu i mogą pokazać prawdziwe kolory systemu, zanim prawdziwe pieniądze pojawią się na linii. Dobra korelacja między wynikami testów historycznych, testów wydajności poza próbką i forward jest kluczowa dla określenia żywotności systemu handlowego.

Podstawy testowania wstecznego

Backtesting odnosi się do zastosowania systemu transakcyjnego do danych historycznych w celu sprawdzenia, jak system działałby w określonym przedziale czasu. Wiele z dzisiejszych platform transakcyjnych obsługuje testowanie wsteczne. Handlowcy mogą testować pomysły za pomocą kilku naciśnięć klawiszy i uzyskać wgląd w skuteczność pomysłu bez ryzykowania środków na koncie handlowym. W testach historycznych można ocenić proste pomysły, takie jak sposób działania przecięcia średniej ruchomej na danych historycznych lub bardziej złożone systemy z różnymi danymi wejściowymi i wyzwalaczami.

Dopóki pomysł można określić ilościowo, można go przetestować wstecz. Niektórzy handlowcy i inwestorzy mogą szukać wiedzy wykwalifikowanego programisty, aby rozwinąć pomysł w możliwą do przetestowania formę. Zwykle wiąże się to z programistą, który koduje pomysł w zastrzeżonym języku obsługiwanym przez platformę handlową. Programista może włączyć zdefiniowane przez użytkownika zmienne wejściowe, które pozwalają traderowi na „dostrojenie” systemu.

Przykładem może być prosty system przecinania średniej ruchomej opisany powyżej: przedsiębiorca mógłby wprowadzić (lub zmienić) długości dwóch średnich ruchomych używanych w systemie. Inwestor może przeprowadzić analizę historyczną, aby określić, które długości średnich kroczących wypadłyby najlepiej na danych historycznych.

Badania optymalizacyjne

Wiele platform transakcyjnych umożliwia również badania optymalizacyjne. Pociąga to za sobą wprowadzenie zakresu dla określonych danych wejściowych i pozwolenie komputerowi na wykonanie obliczeń matematycznych w celu ustalenia, które dane wejściowe byłyby najlepsze. Optymalizacja wielu zmiennych może wykonać obliczenia matematyczne dla dwóch lub więcej zmiennych, aby określić, które kombinacje dałyby najlepszy wynik.

Na przykład handlowcy mogą powiedzieć programowi, które dane wejściowe chcieliby dodać do swojej strategii; zostaną one następnie zoptymalizowane do ich idealnych wag, biorąc pod uwagę testowane dane historyczne.

Testy historyczne mogą być ekscytujące, ponieważ nierentowny system często można magicznie przekształcić w maszynę do robienia pieniędzy z kilkoma optymalizacjami. Niestety, modyfikowanie systemu w celu osiągnięcia najwyższego poziomu wcześniejszej rentowności często prowadzi do systemu, który będzie działał słabo w rzeczywistym handlu. Ta nadmierna optymalizacja tworzy systemy, które dobrze wyglądają tylko na papierze.

Dopasowanie krzywej to wykorzystanie analizy optymalizacji w celu stworzenia największej liczby zwycięskich transakcji z największym zyskiem na danych historycznych wykorzystanych w okresie testowym. Chociaż wygląda imponująco w wynikach testów historycznych, dopasowanie krzywych prowadzi do zawodnych systemów, ponieważ wyniki są zasadniczo projektowane na zamówienie dla tych konkretnych danych i okresu.

Testowanie historyczne i optymalizacja zapewniają przedsiębiorcy wiele korzyści, ale to tylko część procesu oceny potencjalnego systemu handlowego. Następnym krokiem tradera jest zastosowanie systemu do danych historycznych, które nie zostały wykorzystane w początkowej fazie analizy historycznej.

Dane w próbce a dane poza próbką

Podczas testowania pomysłu na danych historycznych warto zarezerwować okres danych historycznych do celów testowych. Początkowe dane historyczne, na których pomysł jest testowany i optymalizowany, są nazywane danymi z próby. Zarezerwowany zestaw danych jest nazywany danymi poza próbką. Ta konfiguracja jest ważną częścią procesu oceny, ponieważ umożliwia przetestowanie pomysłu na danych, które nie były składnikiem modelu optymalizacji.

W rezultacie na pomysł nie wpłynęły w żaden sposób dane spoza próby, a inwestorzy będą mogli określić, jak dobrze system może działać na nowych danych, tj. W prawdziwym handlu.

Przed rozpoczęciem jakiejkolwiek analizy historycznej lub optymalizacji, inwestorzy mogą zarezerwować pewien procent danych historycznych na potrzeby testowania poza próbą. Jedną z metod jest podzielenie danych historycznych na trzecie i oddzielenie jednej trzeciej do wykorzystania w testowaniu poza próbą. Do wstępnego testowania i optymalizacji należy używać wyłącznie danych z próby.

Poniższy rysunek przedstawia oś czasu, w której jedna trzecia danych historycznych jest zarezerwowana do testowania poza próbą, a dwie trzecie do testowania w próbce. Chociaż poniższy rysunek przedstawia dane poza próbką na początku testu, typowe procedury miałyby część poza próbką bezpośrednio poprzedzającą działanie w przód.

Korelacja odnosi się do podobieństw między wynikami a ogólnymi trendami obu zestawów danych. Miary korelacji mogą być używane do oceny raportów wydajności strategii utworzonych w okresie testowym (funkcja, którą zapewnia większość platform transakcyjnych). Im silniejsza korelacja między nimi, tym większe prawdopodobieństwo, że system będzie dobrze działał w przyszłych testach wydajności i handlu na żywo.

Poniższy rysunek przedstawia dwa różne systemy, które zostały przetestowane i zoptymalizowane na podstawie danych z próbki, a następnie zastosowane do danych spoza próbki. Wykres po lewej stronie pokazuje system, który był wyraźnie dopasowany do krzywej, aby dobrze działał na danych z próbki i całkowicie zawiódł w przypadku danych spoza próby. Wykres po prawej stronie przedstawia system, który działał dobrze zarówno w przypadku danych z próby, jak i poza nią.

Gdy system transakcyjny zostanie opracowany przy użyciu danych z próby, można go zastosować do danych spoza próby. Handlowcy mogą oceniać i porównywać wyniki wydajności między danymi w próbce i poza próbką.

Jeśli istnieje niewielka korelacja między testowaniem w próbie i poza próbą, tak jak na lewym wykresie na powyższym rysunku, prawdopodobnie system został nadmiernie zoptymalizowany i nie będzie działał dobrze w handlu na żywo. Jeśli istnieje silna korelacja w wydajności, jak widać na prawym wykresie, kolejna faza oceny obejmuje dodatkowy typ testowania poza próbą, znany jako forward performance testing.

Podstawy testowania wydajności w przód

Forward Performance Testing, znany również jako paper trading, dostarcza handlowcom kolejny zestaw niepróbkowych danych, na podstawie których mogą ocenić system. Forward Performance testing jest symulacją rzeczywistego handlu i polega na podążaniu za logiką systemu na rynku na żywo. Nazywa się to również handlem papierowym, ponieważ wszystkie transakcje są wykonywane tylko na papierze; oznacza to, że zapisy i wyjścia transakcji są dokumentowane wraz z jakimkolwiek zyskiem lub stratą dla systemu, ale żadne rzeczywiste transakcje nie są realizowane.

Ważnym aspektem przyszłych testów wydajności jest dokładne przestrzeganie logiki systemu; w przeciwnym razie dokładna ocena tego etapu procesu staje się trudna, jeśli nie niemożliwa. Handlowcy powinni uczciwie podchodzić do wszelkich wejść i wyjść z transakcji i unikać zachowań, takich jak wybieranie transakcji typu cherry-picking lub nieuwzględnianie transakcji na papierze, uzasadniając, że „nigdy bym tego nie wziął”. Jeśli handel miałby miejsce zgodnie z logiką systemu, powinien zostać udokumentowany i oceniony.

Wielu brokerów oferuje symulowane konto handlowe, na którym można składać transakcje i obliczać odpowiadające im zyski i straty. Korzystanie z symulowanego konta handlowego może stworzyć półrealistyczną atmosferę, w której można ćwiczyć handel i dalej oceniać system.

Powyższy rysunek przedstawia również wyniki przyszłych testów wydajności na dwóch systemach. Ponownie, system przedstawiony na lewym wykresie nie radzi sobie dobrze poza początkowymi testami na danych z próbki. Jednak system przedstawiony na prawym wykresie nadal działa dobrze we wszystkich fazach, w tym w przyszłych testach wydajności. System, który wykazuje pozytywne wyniki z dobrą korelacją między testami wydajności w próbce, poza próbką i do przodu, jest gotowy do wdrożenia na rynku rzeczywistym.

Podsumowanie

Backtesting to cenne narzędzie dostępne na większości platform handlowych. Dzielenie danych historycznych na wiele zestawów w celu umożliwienia testowania w próbce i poza próbą może zapewnić handlowcom praktyczny i skuteczny sposób oceny pomysłu i systemu handlowego. Ponieważ większość traderów stosuje techniki optymalizacji w testach historycznych, ważne jest, aby następnie ocenić system na podstawie czystych danych, aby określić jego żywotność.

Kontynuacja testowania poza próbą za pomocą przyszłych testów wydajności zapewnia kolejny poziom bezpieczeństwa przed wprowadzeniem systemu na rynek, ryzykując realną gotówką. Pozytywne wyniki i dobra korelacja między testami historycznymi w próbce i poza próbką oraz testami wydajności w przód zwiększają prawdopodobieństwo, że system będzie dobrze funkcjonował w rzeczywistym handlu.