METODOLOGIA
Tworzenie strategii inwestycyjnej to złożony i wieloetapowy proces wymagający odpowiedniego podejścia. Osobiście korzystam z ośmioetapowej metodyki, podzielonej na dwa odrębne „bloki”. Pierwszy blok koncentruje się na opracowaniu i testowaniu strategii, natomiast drugi na jej praktycznym zastosowaniu.
Model ten został opracowany na podstawie doświadczeń wielu praktyków rynkowych, a także mojego własnego doświadczenia w tworzeniu i testowaniu strategii inwestycyjnych. Choć nie istnieje jedno uniwersalne rozwiązanie, poniższe kroki są powszechnie stosowane w różnym stopniu przez specjalistów z branży.
Blok 1: Tworzenie strategii inwestycyjnej
Pierwszy blok obejmuje pięć kluczowych etapów:
-
Sformułowanie strategii inwestycyjnej – określenie podstawowych założeń i celów strategii.
-
Określenie zasad inwestycyjnych – opracowanie ostatecznych, obiektywnych i testowalnych komputerowo reguł inwestycyjnych.
-
Przeprowadzenie wstępnego testu strategii inwestycyjnej – wstępna ocena skuteczności strategii inwestycyjnej na danych historycznych.
-
Optymalizacja i ocena stabilności strategii inwestycyjnej – optymalizowanie zakresu parametrów strategii w celu maksymalizacji funkcji celu (zwrotu skorygowanego o ryzyko) i stabilizacji wyników.
-
Walk-Forward Analysis – ocena zdolności strategii do generowania zysków w czasie rzeczywistym.
Jeśli strategia pomyślnie przejdzie wszystkie pięć etapów, a wyniki testów wskazują na jej potencjalną skuteczność w realnym tradingu, następuje przejście do drugiego bloku.
Blok 2: Wykorzystanie strategii w praktyce
Drugi blok obejmuje trzy kolejne kroki:
-
Wykorzystanie strategii w czasie rzeczywistym – wdrożenie strategii do portfela strategii inwestycyjnych.
-
Monitorowanie wyników – porównanie wyników rzeczywistych z wynikami symulacji historycznej i ich analiza.
-
Udoskonalanie strategii inwestycyjnej – ciągłe dostosowywanie i ulepszanie strategii na podstawie uzyskanych wyników.
Każdy z tych ośmiu etapów jest ściśle powiązany z sukcesem poprzedniego kroku, a cały proces opiera się na ciągłym sprzężeniu zwrotnym. Informacje uzyskane na późniejszych etapach są wykorzystywane do udoskonalania wcześniejszych kroków, co czyni ten model wyjątkowo elastycznym i efektywnym.
Dzięki takiemu podejściu strategia ewoluuje w sposób ciągły, prowadząc do jej doskonalenia i ulepszania. Może to także skutkować opracowaniem zupełnie nowych strategii, wynikających z obserwacji i analizy działania pierwotnego modelu.
Poniżej omówiono po krótce każdy z kroków.
Krok 1: Sformułowanie strategii inwestycyjnej
Każda strategia inwestycyjna zaczyna się od pomysłu. Kluczowe zasady, na których opiera się strategia, muszą być jasno i precyzyjnie zdefiniowane. Opis strategii powinien zawierać również uzasadnienie, dlaczego uważamy, że będzie ona miała dodatnią wartość oczekiwaną (tzw. edge) i będzie skuteczna w praktyce. Dzięki temu zbudujemy w sobie przekonanie o zasadności strategii, co jest niezwykle istotne w obliczu trudniejszych momentów rynkowych.
Przykładowo, w przypadku strategii typu trend-following, uzasadnienie może brzmieć: „Uważam, że metoda trend-following jest skuteczna w długim terminie, ponieważ rynki mają naturalną tendencję do poruszania się w trendach, a inwestorzy często zamykają zyskowne pozycje zbyt wcześnie, co pozwala na przedłużenie ruchów trendowych”. Im silniej przemawiają do nas te argumenty, tym większe będzie nasze przekonanie o słuszności podejścia inwestycyjnego.
Strategia inwestycyjna może być zarówno prosta, jak i bardziej złożona, jednak powinna dążyć do minimalizacji liczby parametrów wymagających optymalizacji (więcej o ryzyku over-fittingu, związanego z optymalizacją znajduje się w dokumencie „Over-fitting i optymalizacja”). Najlepiej, jeśli liczba takich parametrów nie przekracza pięciu. Dodatkowo strategia powinna być łatwa do zrozumienia i komunikacji.
Ostatecznie strategia inwestycyjna musi zostać sprowadzona do zestawu precyzyjnych zasad i formuł. Taka struktura pozwala na jednoznaczną implementację strategii oraz jej obiektywną weryfikację.
Krok 2: Określenie zasad inwestycyjnych
Aby strategia mogła zostać przetestowana, konieczne jest jej przekształcenie w format zrozumiały dla wybranej platformy testowej. W naszym przypadku jest to platforma Trading Blox Builder II, która wykorzystuje język programowania zorientowany obiektowo. Niedokładne odwzorowanie pomysłu inwestycyjnego w formie skryptu prowadzi do nieprecyzyjnych symulacji historycznych, co w efekcie może zniekształcić ocenę wydajności strategii. Bez poprawnie napisanej skryptowej wersji strategii inwestycyjnej zarówno symulacja historyczna, jak i analiza wyników stają się niemożliwe.
Dobrym rozwiązaniem na tym etapie jest stworzenie tzw. pseudokodu – czyli opisanie krok po kroku działań, jakie ma wykonywać kod strategii. Pseudokod pomaga zachować klarowność założeń oraz ułatwia ich implementację.
Przykład pseudokodu dla strategii z dwiema średnimi kroczącymi:
-
Oblicz wartość szybkiej średniej kroczącej;
-
Oblicz wartość wolnej średniej kroczącej;
-
Zajmij długą pozycję kolejnego dnia na otwarcie, jeśli wczoraj szybka średnia krocząca znajdowała się poniżej wolnej średniej kroczącej, a dzisiaj znajduje się powyżej;
-
Pozostań w długiej pozycji, dopóki nie pojawi się sygnał sprzedaży;
-
Zajmij krótką pozycję kolejnego dnia na otwarcie, jeśli wczoraj szybka średnia krocząca znajdowała się powyżej wolnej średniej kroczącej, a dzisiaj znajduje się poniżej;
-
Pozostań w krótkiej pozycji, dopóki nie pojawi się sygnał kupna.
Dzięki zastosowaniu pseudokodu proces implementacji strategii w wybranej platformie jest znacznie bardziej efektywny, a ryzyko popełnienia błędów interpretacyjnych zostaje zminimalizowane.
Krok 3: Przeprowadzenie wstępnego testu strategii inwestycyjnej
Po ukończeniu kroku 2, czyli zdefiniowaniu zasad inwestycyjnych i zapisaniu ich w formie skryptów, kolejnym etapem jest ich weryfikacja. W praktyce oznacza to potwierdzenie, że kod działa poprawnie, zgodnie z zamierzeniami, i jest spójny z założeniami strategii inwestycyjnej.
Na tym etapie należy osiągnąć trzy kluczowe cele:
-
Weryfikacja poprawności wszystkich formuł i reguł w skrypcie.
-
Ustalenie, czy formuły, reguły i ich kombinacje zachowują się zgodnie z oczekiwaniami.
-
Potwierdzenie, że strategia inwestycyjna spełnia teoretyczne oczekiwania.
Aby odpowiedzieć na dwa pierwsze pytania, należy wygenerować zestaw historycznych transakcji i przeanalizować je, odpowiadając na cztery podstawowe pytania:
-
Czy formuły są prawidłowe? Weryfikujemy, czy wskaźniki, które wymagały ręcznego stworzenia, są obliczane poprawnie. W przypadku wskaźników dostarczanych wraz z platformą testową, możemy pominąć ten krok, pod warunkiem, że rozumiemy, jak są one kalkulowane.
-
Czy zasady transakcyjne są prawidłowe? Sprawdzamy, czy reguły transakcyjne działają zgodnie z oczekiwaniami (np. przecięcie średnich kroczących generuje sygnały kupna/sprzedaży).
-
Czy transakcje są prawidłowe? Oceniamy, czy system otwiera transakcje we właściwym kierunku, po odpowiedniej cenie i w odpowiednim momencie.
-
Czy transakcje są zgodne z teoretycznymi założeniami strategii? Analizujemy, czy generowane transakcje odzwierciedlają oczekiwane zachowanie strategii. Na przykład w przypadku strategii trend-following oczekujemy, że transakcje będą dokonywane zgodnie z kierunkiem długoterminowego trendu.
Do oceny powyższych aspektów pomocne są graficzne prezentacje wykresów instrumentów finansowych, z zaznaczonymi miejscami otwarcia i zamknięcia pozycji oraz wartościami odpowiednich wskaźników. Przegląd kilku transakcji pozwoli odpowiedzieć na postawione pytania.
Aby odpowiedzieć na trzecie pytanie, tj. „czy strategia inwestycyjna spełnia teoretyczne oczekiwania?”, wykonujemy pierwszy test strategii na danych in-sample. Mimo że może się wydawać nietypowe testowanie strategii przed optymalizacją parametrów, już na wstępie powinniśmy mieć orientacyjne parametry strategii, które naszym zdaniem powinny generować dodatnie wyniki.
Na tym etapie przede wszystkim odrzucamy strategie, które generują systematyczne straty. Jeśli strategia liniowo traci kapitał, jest to wyraźny sygnał, że dalsza optymalizacja parametrów jest nieuzasadniona. Oczekujemy, że strategia będzie generować dodatnie wyniki, choćby na niskim poziomie. Jeśli tak się dzieje, można uznać, że strategia działa zgodnie z założeniami teoretycznymi.
Jeżeli uznamy, że system działa prawidłowo, możemy przejść do kolejnego etapu. W przeciwnym razie, jeśli wyniki są niezadowalające lub strategia radykalnie odbiega od teoretycznych założeń, może być konieczne powtórne sformułowanie strategii inwestycyjnej (krok 1) oraz zasad inwestycyjnych (krok 2).
Na tym etapie, gdy przeprowadzamy już pierwsze testy strategii, konieczne jest określenie wielu elementów testów, które, choć nie są bezpośrednio związane ze strategiami, mają znaczący wpływ na wyniki końcowe. Do takich elementów należą między innymi: zakres instrumentów finansowych, okresy czasu dla testów in-sample oraz out-of-sample, źródło historycznych danych cenowych czy koszty transakcyjne.
Wszystkie te elementy zostały szczegółowo opisane w dokumencie „Specyfikacja Testów”, który stanowi kluczowy punkt odniesienia w procesie testowania strategii.
Krok 4: Optymalizacja i ocena stabilność strategii inwestycyjnej
Ten etap procesu tworzenia strategii inwestycyjnej jest jednym z najbardziej czasochłonnych, ponieważ obejmuje dwa kluczowe elementy: optymalizację zakresu parametrów (na danych in-sample) oraz testowanie tej optymalizacji (na danych out-of-sample). Optymalizacja ma na celu odpowiedź na pytanie, dla jakiego zakresu parametrów uzyskujemy najwyższą wartość funkcji celu oraz czy zakres ten jest stabilny (robust – omówiony poniżej). Testowanie natomiast pozwala ocenić, czy zoptymalizowane zakresy parametrów generują satysfakcjonującą funkcję celu na danych out-of-sample.
W dalszej części kroku 4 skupimy się na dwóch kluczowych aspektach testowania strategii: metodach optymalizacji oraz stabilności (robustness). Oba te elementy odgrywają fundamentalną rolę, niezależnie od tego, czy pracujemy z gotowym pomysłem inwestycyjnym, czy tworzymy strategię od podstaw. Co istotne, analizujemy je równocześnie, ponieważ naszym celem jest zarówno:
-
znalezienie zestawu parametrów, który zapewnia najwyższą stopę zwrotu skorygowaną o ryzyko,
-
jak i wybór rozwiązań najbardziej stabilnych, czyli odpornych na zmienność warunków rynkowych i podatność na overfitting.
Optymalizacja strategii inwestycyjnej
Optymalizacja strategii polega na znalezieniu takiego zakresu parametrów, który zapewni trwałą (robust) i możliwie najwyższą stopę zwrotu skorygowaną o ryzyko. Oznacza to, że zależy nam nie tylko na optymalnych wartościach parametrów, ale głównie na tym, aby niewielkie zmiany w tych parametrach nie prowadziły do istotnych zmian w wynikach strategii.
W naszym procesie optymalizacji wykorzystujemy dwie główne metody:
-
The Prioritized Step Search – Ta metoda polega na optymalizacji parametrów jednej zmiennej (lub dwóch powiązanych zmiennych), przy założeniu stałych wartości pozostałych zmiennych. Następnie przechodzimy do kolejnej zmiennej w celu jej optymalizacji. Metoda ta jest szczególnie użyteczna, gdy w procesie testowania i optymalizacji dodajemy nowe elementy do strategii.
-
The Grid Search – Metoda polega na pełnej optymalizacji wszystkich wskazanych parametrów poprzez stworzenie szerokiego zakresu możliwych ich kombinacji. Jest szczególnie skuteczna w przypadku prostych strategii, gdzie od początku znamy wszystkie jej elementy (np. korzystając z pomysłów innych osób) i szukamy jedynie optymalnych wartości parametrów dla wybranych warunków rynkowych.
Niezależnie od wybranej metody, nadrzędnym celem optymalizacji strategii jest znalezienie stabilnego zakresu parametrów. Oznacza to, że wartość funkcji celu strategii (w naszym przypadku: MAR) powinna pozostawać względnie stabilna przy niewielkich zmianach parametrów w zoptymalizowanym zakresie. Stabilność strategii jest kluczowym czynnikiem, który zapewnia jej odporność na zmienne warunki rynkowe oraz minimalizuje ryzyko nadmiernego dopasowania do danych historycznych (overfittingu).
Poniżej przedstawiono przykład niestabilnej optymalizacji (tzw. Spiky Space) dla strategii wykorzystującej dwie średnie kroczące. W procesie optymalizacji staramy się znaleźć takie długości obu średnich kroczących, które maksymalizują wartość wskaźnika MAR (CAGR%/Max Drawdown), będącego funkcją celu.
W przypadku strategii niestabilnych zauważalne są pojedyncze „szczyty” – obszary z wysokimi wartościami MAR otoczone znacznie niższymi wynikami (często ujemnymi). Tego rodzaju układ wskazuje na niestabilność strategii, ponieważ nawet niewielkie zmiany w długościach średnich kroczących mogą prowadzić do istotnych różnic w wynikach. Strategia o takiej charakterystyce jest trudniejsza do utrzymania w zmieniających się warunkach rynkowych, co podważa jej przydatność w praktyce.


Poniżej przedstawiono przykład strategii wybicia z kanału Donchiana, którą optymalizujemy pod kątem liczby dni wybicia dla otwarcia i zamknięcia pozycji. Funkcją celu, podobnie jak wcześniej, jest wskaźnik MAR (CAGR%/Max Drawdown).
W przypadku tej strategii wartości MAR pozostają stabilne w szerokim zakresie kombinacji parametrów, co oznacza brak tzw. Spiky Space. Taka charakterystyka wskazuje na większą stabilność strategii. Zaznaczone obszary, odpowiadające globalnym maksimum funkcji celu, wyznaczają najbardziej stabilne i potencjalnie najskuteczniejsze kombinacje parametrów.
Strategia o takiej stabilności jest bardziej odpowiednia do zastosowania w realnym tradingu, ponieważ niewielkie zmiany warunków rynkowych nie powinny istotnie wpłynąć na jej wyniki ani zachowanie.


Stabilność strategii inwestycyjnej
Jak już wcześniej wspomniano, stabilność strategii (robustness) jest kluczowym elementem w procesie jej tworzenia. Termin „robustness” oznacza „zdolność do wytrzymywania i pokonywania niekorzystnych warunków”, co doskonale odnosi się do strategii inwestycyjnej. Stabilna strategia to taka, która z dużym prawdopodobieństwem będzie generować zyski, nawet w zmiennych i trudnych warunkach rynkowych, co zapewnia jej trwałość i długowieczność.
Pięć głównych rodzajów stabilności strategii inwestycyjnej:
-
Stabilność w szerokim zakresie optymalizowanych parametrów – strategia powinna generować stabilne wyniki dla różnych wartości parametrów, a nie tylko dla jednego, idealnie dopasowanego zestawu.
-
Symulacja Monte Carlo – analiza wpływu losowych zmian w kolejności transakcji oraz w zmienności rynku na wyniki strategii, pozwalająca ocenić jej odporność na losowe zdarzenia.
-
Stabilność na ruchomym oknie czasowym – strategia powinna działać efektywnie w różnych okresach historycznych, a nie tylko w wybranym przedziale czasowym.
-
Stabilność long/short – strategia powinna generować zbliżoną ilość transakcji zarówno dla pozycji długich (long), jak i krótkich (short), o ile jest przeznaczona do obu typów transakcji.
-
Stabilność na portfelu instrumentów finansowych – strategia powinna działać efektywnie na szerokim koszyku instrumentów, a nie tylko na wąskiej grupie.
Naszym celem jest stworzenie strategii maksymalnie stabilnej, a nie wyłącznie maksymalnie zyskownej – te dwa elementy nie zawsze idą w parze. Stabilna strategia to nasza najlepsza gwarancja osiągnięcia pozytywnych wyników w nieprzewidywalnym świecie tradingu. Jak zauważył Larry Hite: „Nie szukamy optymalnej strategii; szukamy najodporniejszej strategii”.
Poniżej krótko przedstawiono każdy z testów stabilności wraz z kryteriami sukcesu, które muszą zostać spełnione, aby dany test został uznany za zaliczony.
-
Stabilność w szerokim zakresie optymalizowanych parametrów
Testowanie stabilności parametrów odbywa się zarówno na danych in-sample, jak również na danych out-of-sample. Naszym celem jest posiadanie stabilnej strategii niezależnie od tego, które dane zostaną wykorzystane.
W pierwszym kroku testujemy stabilność parametrów na danych in-sample. Stosując metodę "The Grid Search" (ewentualnie "The Prioritized Step Search", gdy tworzymy strategię od podstaw) wyznaczamy zakresy wartości dla wszystkich optymalizowanych parametrów. Zakresy powinny być odpowiednio szerokie, aby można było wiarygodnie zweryfikować stabilność strategii.
W jaki sposób wyznaczyć taki obszar? Osobiście zaczynam od heatmapy i wyznaczam zakresy, gdzie funkcja celu MAR jest najbardziej stabilna i ma najwyższe wartości. Zakresy ustalam w ten sposób, aby iloraz najwyższej i najniższej wartości zakresu wynosił co najmniej 150%. To znaczy, jeżeli wyznaczam górny zakres wartości dla średniej kroczącej na poziomie 150 dni, to dolny zakres tej średniej kroczącej ustalam na poziomie 100 dni, aby ich iloraz wyniósł 150%. Zatem będę testował stabilność tej średniej na zakresie 100-150 dni. Analogicznie robię dla wszystkich parametrów, otrzymując finalnie szerokie zakresy wartości dla wszystkich optymalizowanych parametrów.
Mając określone wszystkie zakresy parametrów, dokonuję na danych in-sample pełnej analizy wszystkich możliwych kombinacji parametrów. Kluczowym kryterium oceny jest, aby wszystkie wyniki testów wykazywały dodatnią wartość wskaźnika MAR, a maksymalny drawdown nie przekraczał 250% wartości drawdown dla wyniku z najwyższym MAR. Jeśli którykolwiek test generuje ujemną wartość MAR lub jeśli drawdown przekracza 250% wartości drawdown dla wyniku z najwyższym MAR, strategia (bądź testowany element, w przypadku stosowania metody "The Prioritized Step Search") zostaje odrzucona. Taki wynik wskazuje na brak stabilności parametrów, co świadczy o niskiej odporności strategii i jej niewystarczającej przydatności w zmieniających się warunkach rynkowych.
Gdy strategia zaliczy test stabilności na danych in-sample, przechodzimy do testowania tych zakresów na danych out-of-sample. Ponownie kluczowym kryterium oceny jest, aby wszystkie wyniki testów wykazywały dodatnią wartość wskaźnika MAR. Ponadto, pomimo iż wyniki na danych out-of-sample są często słabsze niż na danych in-sample, kluczowe jest ustalenie wyraźnej granicy, przy której strategia powinna zostać odrzucona z powodu istotnego pogorszenia się wartości funkcji celu. W naszym przypadku taką granicą jest spadek wartości MAR o więcej niż 50% względem wyników testów in-sample (porównujemy najwyższe MAR osiągnięte na danych in-sample oraz out-of-sample). Ponadto oczekujemy, że maksymalny drawdown dla danych out-of-sample nie przekraczał 150% wartości maksymalnego drawdown dla danych in-sample. Jeśli strategia wykazuje tak znaczną degradację wyników na danych out-of-sample, oznacza to, że nie jest wystarczająco stabilna (robust) i nie nadaje się do realnego zastosowania.
Tak dokonana wstępna ocena stabilności parametrów pozwala nam przejść do kolejnego kroku, gdzie strategia zostanie poddana kolejnej serii testów stabilności, z testem Walk-Forward Analysis będącym finalnym sprawdzianem dla strategii. Ostatecznym celem jest stworzenie nie tylko strategii, która osiąga wysokie wyniki historyczne, lecz przede wszystkim takiej, która posiada realną przewagę rynkową i może skutecznie funkcjonować w przyszłości w zmiennych warunkach.
-
Symulacja Monte Carlo
Symulacja Monte Carlo polega na przeprowadzeniu wielu symulacji w celu zbadania, jak strategia może funkcjonować w różnych scenariuszach rynkowych. Kluczowym celem tej metody jest ocena potencjalnego drawdownu zoptymalizowanej strategii.
Symulacja Monte Carlo lepiej odzwierciedla możliwe wahania krzywej kapitału i głębokość potencjalnego drawdownu, co pozwala na bardziej realistyczną ocenę ryzyka. Jest to również idealna okazja, aby porównać drawdown uzyskany w testach na zoptymalizowanych zakresach parametrów z wynikami symulacji Monte Carlo, wykorzystując 99% przedział ufności.
Strategia uznawana za stabilną (robust) powinna w symulacji Monte Carlo osiągać drawdown, który nie przekracza 250% wielkości drawdownu z łącznych testów in-sample oraz out-of-sample (dla parametrów zoptymalizowanych na danych in-sample). Ponadto wskaźnik MAR powinien pozostać dodatni w wybranym przedziale ufności.
Zatem warunki uznania strategii za stabilną są zbliżone do tych omówionych powyżej (stabilność w szerokim zakresie optymalizowanych parametrów), z tą różnicą, że w tym przypadku korzystamy z symulowanego zachowania rynku.
-
Stabilność na ruchomym oknie czasowym
Testowanie stabilności na ruchomym oknie polega na ocenie rocznej i trzyletniej stopy zwrotu w oknach czasowych przesuwanych o jeden rok (dla danych in-sample i out-of-sample łącznie). Proces ten obejmuje zastosowanie zoptymalizowanych na danych in-sample parametrów strategii, ustawienie rocznego lub trzyletniego okna transakcji oraz przesuwanie go o jeden rok.
Następnie analizujemy, jaka część tych rocznych i trzyletnich okresów wykazała dodatnie stopy zwrotu. Strategia uznawana za stabilną (robust) powinna osiągać zyskowne wyniki w co najmniej 70% rocznych i trzyletnich okresów.
-
Stabilność long/short
W przypadku wielu instrumentów rynki mają naturalną tendencję do poruszania się w kierunku wzrostowym (tzw. Long Bias), co sprawia, że inwestowanie w scenariusze wzrostowe jest często łatwiejsze niż granie na spadki. Optymalizowanie strategii pod scenariusz wzrostowy, wynikający zwykle z danych używanych do optymalizacji, może prowadzić do problemów w sytuacji, gdy rynki wejdą w długoterminowe trendy spadkowe. W takich warunkach strategia może generować znaczne straty.
Aby sprawdzić, czy strategia nie wykazuje skłonności do Long Bias lub, rzadziej, Short Bias, należy zweryfikować rozkład historycznych transakcji na kupno i sprzedaż. W idealnych warunkach rozkład ten powinien wynosić około 50%/50%. Jeśli jednak jedna strona jest znacząco preferowana (np. 70%/30%), strategia może być niestabilna w realnym środowisku rynkowym.
Strategia uznawana za stabilną (robust) powinna wykazywać maksymalnie 60% skłonności (bias) w jednym kierunku.
-
Stabilność na portfelu instrumentów finansowych
W tym kroku chcemy zbadać, jak generowane wyniki strategii rozkładają się pomiędzy różne instrumenty w portfelu. Naszym celem jest uniknięcie sytuacji, w której dodatnie wyniki strategii pochodzą jedynie z niewielkiej grupy wyjątkowo dobrze performujących instrumentów.
Aby to sprawdzić, dla danych in-sample i out-of-sample łącznie, analizujemy, jaki procent instrumentów osiągnął wartość profit factor powyżej 1 (co oznacza pozytywną kontrybucję do wyniku strategii).
Oczekujemy, że:
-
Dla portfela z najwyższym MAR (uzyskanym na danych in-sample) odsetek instrumentów z profit factor > 1 wyniesie co najmniej 80%.
-
Dla portfela z najniższym MAR (uzyskanym na danych in-sample) odsetek instrumentów z profit factor > 1 wyniesie co najmniej 70%.
Jeżeli powyższe warunki zostaną spełnione, możemy uznać, że strategia jest stabilna na szerokim koszyku instrumentów finansowych.
Krok 5: Walk-Forward Analysis
Walk-Forward Analysis (WFA) jest uważana za najbardziej wiarygodną metodą do oceny stabilności strategii, ponieważ najlepiej odzwierciedla zmieniające się warunki rynkowe i możliwość strategii dostosowania się do tych zmian.
Dodatkowo pozwala odpowiedzieć na kluczowe pytania:
-
Jakiej stopy zwrotu można oczekiwać od strategii? Wynik optymalizacji często przedstawia zawyżoną stopę zwrotu, co prowadzi do nierealistycznych oczekiwań. WFA dostarcza bardziej wiarygodnych miar zwrotu.
-
Jaki zestaw parametrów zastosować w kolejnym okresie? Dzięki WFA możliwe jest dostosowanie parametrów strategii do ostatnich zmian na rynku.
Walk-Forward Analysis polega na testowaniu strategii inwestycyjnej na wielu okresach czasowych, co pozwala zminimalizować ryzyko overfittingu (nadmiernego dopasowania strategii do danych historycznych). Proces WFA składa się z dwóch powtarzanych kroków:
-
Optymalizacja: Strategia jest optymalizowana na okresie treningowym (in-sample), w którym parametry dostosowuje się w celu uzyskania najlepszych wyników.
-
Testowanie: Strategia, z parametrami zoptymalizowanymi w poprzednim kroku, jest testowana na okresie testowym (out-of-sample), który nie był wykorzystany w trakcie optymalizacji.
Kluczowym elementem WFA jest miara Walk-Forward Efficiency (WFE), która pozwala ocenić, czy strategia może być skuteczna w rzeczywistych warunkach rynkowych. WFE porównuje stopę zwrotu osiągniętą w oknie in-sample (gdzie parametry były optymalizowane) ze stopą zwrotu w oknie out-of-sample. Analogicznie dla wartości drawdown. Strategia uznawana za stabilną (robust) powinna charakteryzować się WFE na poziomie co najmniej 50% dla stopy zwrotu oraz maksymalnie 150% dla drawdown.
WFA przeprowadzamy na zakresie parametrów zoptymalizowanych w kroku "Stabilność w szerokim zakresie optymalizowanych parametrów". Tym samym, WFA stanowi kolejny etap weryfikacji stabilności wybranych przez nas zakresów parametrów.
WFA pełni również praktyczną funkcję – umożliwia określenie, jaki zestaw parametrów zastosować w kolejnym okresie w realnych transakcjach. W pierwszym kroku należy określić długości okien in-sample i out-of-sample, na których chcemy bazować. W tym celu:
-
Analizujemy wartości WFE (Walk-Forward Efficiency) dla różnych kombinacji okien in-sample i out-of-sample,
-
Wybieramy tę kombinację, która daje najwyższe WFE dla stopy zwrotu i drawdownu.
-
Jeżeli wyniki WFE są zbliżone, warto posiłkować się krzywą kapitału i wybrać to okno, które daje bardziej stabilne rezultaty, czyli najbardziej regularny profil drawdownów.
Po wyborze długości okien in-sample i out-of-sample, sprawdzamy jaki zestaw parametrów został zwrócony przez WFA w ostatnim okresie optymalizacji. To właśnie ten zestaw może być wykorzystany w kolejnym okresie w realnych transakcjach.
Zestawy parametrów uzyskane w ten sposób są również prezentowane w raportach strategii, pod warunkiem, że zaliczyły test WFA oraz wcześniejsze testy stabilności.
Krok 6: Wykorzystanie strategii w czasie rzeczywistym
Po przeprowadzeniu wyczerpujących testów wdrożenie strategii inwestycyjnej w czasie rzeczywistym staje się stosunkowo proste. Sygnały kupna/sprzedaży oraz zlecenia stop-loss są generowane automatycznie przez komputer na podstawie wcześniej ustalonych formuł i zasad. Kluczowe jednak jest konsekwentne egzekwowanie wszystkich sygnałów bez wyjątków, co w praktyce może być trudniejsze, niż się wydaje. Jak zauważył Larry Williams: „Trading strategies work. Traders do not”.
Przed podjęciem ostatecznej decyzji o dodaniu strategii do portfela strategii inwestycyjnych, należy zweryfikować, czy wnosi ona rzeczywistą wartość dodaną do wyników całego portfela. Nie ma sensu wprowadzać strategii, która generuje podobne sygnały lub charakteryzuje się zbliżonym przebiegiem krzywej kapitału. Dlatego oceny dokonuje się na podstawie kilku kluczowych kryteriów:
-
Korelacja dziennych stóp zwrotu – im niższa korelacja z innymi strategiami, tym lepiej. Najlepsze wyniki uzyskuje się przy korelacji bliskiej zeru lub ujemnej.
-
Zmniejszenie maksymalnego drawdown – jeżeli dodanie strategii do portfela skutkuje obniżeniem maksymalnego drawdown, jest to bardzo dobry sygnał.
-
Poprawa funkcji celu – w tym przypadku miarą jest wskaźnik MAR. Poprawa MAR po dodaniu nowej strategii świadczy o jej wartości dodanej do portfela.
-
Lepsze wyniki w symulacji Monte Carlo – symulacja Monte Carlo, jak wspomniano wcześniej, służy do określenia potencjalnego maksymalnego drawdown. Jeżeli wyniki symulacji poprawiają się po dodaniu nowej strategii, jest to silny pozytywny sygnał.
Powyższe elementy często wzajemnie się zazębiają – zazwyczaj wszystkie są spełnione lub żaden.
Po decyzji o włączeniu strategii do portfela może pojawić się pytanie: kiedy rozpocząć jej wykorzystanie? Czy należy to zrobić od razu, czy może lepiej poczekać? Niektóre opracowania sugerują wprowadzenie okresu „inkubacji” trwającego 3-6 miesięcy. W tym czasie strategia jest monitorowana bez podejmowania realnych transakcji. Obserwuje się generowane sygnały, pozycje i wyniki w celu wychwycenia potencjalnych nieprawidłowości w jej działaniu.
W naszym przypadku okres inkubacji trwa od momentu uruchomienia strategii w środowisku live do wystąpienia drawdown wynoszącego około połowy maksymalnego drawdown zaobserwowanego na danych historycznych. Dopiero po osiągnięciu tego progu strategia zaczyna być stosowana z wykorzystaniem realnych środków. W ten sposób czekamy z inwestowaniem rzeczywistych pieniędzy, aż do wystąpienia pierwszego drawdown, który wynosi około połowy maksymalnego drawdown z danych historycznych.
Krok 7: Monitorowanie wyników
Inwestor powinien stale monitorować efektywność strategii w czasie rzeczywistym. Kluczowe jest porównywanie historycznych wskaźników i miar strategii, takich jak: procent zyskownych transakcji, średni zysk i strata pozycji, profit factor, MAR, Sharpe, R3 oraz inne wskaźniki wykorzystywane podczas optymalizacji strategii, z wynikami generowanymi na bieżąco. Dodatkowo należy analizować wskaźniki opisujące profil transakcyjny strategii – m.in. „Trading Performance” i „Win/Loss Statistics”.
Prawidłowo zaprojektowana i przetestowana strategia powinna zachowywać się w rzeczywistych warunkach podobnie jak podczas testów. Jeśli jednak pojawiają się odchylenia, konieczne jest zrozumienie ich przyczyn. Ważnym ograniczeniem jest czas – przed wyciągnięciem jakichkolwiek wniosków należy odczekać kilka miesięcy, aby zgromadzić wystarczająco dużą próbę danych do analizy.
Niektórzy praktycy rynku sugerują, aby wprowadzać mechanizmy stop loss dla strategii, podobnie jak dla pojedynczych pozycji. Po osiągnięciu takiego progu strategia przestaje być stosowana. Przykładowymi stop loss mogą być:
-
określona wartość drawdown (np. wynikająca z symulacji Monte Carlo na poziomie 99%),
-
liczba stratnych transakcji z rzędu.
Obecnie nie stosujemy mechanizmów wyłączających strategię po osiągnięciu określonych progów, jednak jest to na tyle interesujący temat, że może zostać rozważony w przyszłości.
Krok 8: Udoskonalanie strategii inwestycyjnej
Ciągłe monitorowanie wyników strategii inwestycyjnej dostarcza cennych informacji na temat jej mocnych i słabych stron. Taka analiza, w połączeniu z obserwacjami zmieniających się warunków rynkowych, może być źródłem pomysłów na ulepszenie strategii. Każda wprowadzana poprawka powinna jednak zostać starannie przetestowana przed wdrożeniem w realnych transakcjach, aby uniknąć ryzyka nieprzewidzianych skutków.
Dodatkowo regularne przeprowadzanie analizy Walk-Forward (WFA) pozwala na dostosowanie parametrów strategii do zmian w zachowaniu rynku, co zwiększa jej skuteczność w dynamicznie zmieniającym się środowisku rynkowym.