Automatyczne tworzenie strategii handlowych
Kto po raz pierwszy słyszy, że strategie handlowe można generować automatycznie i że w ciągu godzin powstają przy tym tysiące kandydatów, ten staje się podejrzliwy. Na pierwszy rzut oka brzmi to jak generator losowy z ładnym interfejsem. Na początku takiego przebiegu rzeczywiście stoi przypadek, ale jest on tylko pierwszym z kilku kroków. Na końcu tego artykułu wiesz, jak taki przebieg w StrategyQuant X naprawdę wygląda, dlaczego z tysięcy strategii na końcu zostaje tylko garstka, i co mogą ci powiedzieć te pozostałe, a co nie.
Jak oprogramowanie w ogóle buduje nowe strategie
Builder w StrategyQuant X zna dwie drogi budowania nowych strategii: losowe generowanie i ewolucję genetyczną. Żadna z tych dróg nie jest z zasady lepsza, tryb wybierasz przed rozpoczęciem przebiegu.
Przy nowo wygenerowanej strategii builder składa wzorce kursowe, wskaźniki techniczne, typy zleceń i powiązane elementy składowe w reguły wejścia i wyjścia. Wynik jest najpierw tylko poprawnie złożoną strategią, nie od razu sensowną.
Jak duża jest przestrzeń możliwych kombinacji, pokazuje liczba z dokumentacji producenta: jeśli zsumuje się wszystkie reguły i kolejności, rachunkowo wychodzą biliony różnych możliwych strategii, a oprogramowanie może według danych producenta generować i testować tysiące nowych strategii na godzinę. To rząd wielkości, nie dokładne zliczenie dla konkretnego przebiegu, i nie mówi nic o tym, ile z nich na końcu jest użytecznych.

Dlaczego sama liczba nie mówi nic o jakości
Nie każda losowo wygenerowana strategia wypadła na plus w backteście, ale wśród tysięcy, które powstają w ciągu godziny, zgodnie z dokumentacją producenta jest wiele takich, które w teście wygrały więcej, niż przegrały. Ile ich faktycznie jest, zależy od wybranych elementów składowych i ustawień danego przebiegu, nie ma na to stałego wskaźnika. A nawet jeśli strategia wypadła dobrze w backteście, mówi to na razie tylko coś o przeszłości, nie o przyszłości. Przeszłość nic nie mówi o przyszłości.
Właśnie dlatego sama liczba nie jest cechą jakości. To, że oprogramowanie w ciągu godziny zwraca tysiące kandydatów, nie mówi nic o tym, ile z nich ostatecznie się do czegoś nadaje. Rząd wielkości z poprzedniej sekcji jest miarą różnorodności przestrzeni poszukiwań, a nie jakości tego, co ostatecznie z tego wychodzi.
Pierwszy filtr: automatyczne reguły odrzucania
Ponieważ losowe generowanie może tworzyć też bzdury, na przykład reguły, które się wzajemnie wykluczają albo nie mają sensu ekonomicznego, w builderze działają automatyczne reguły odrzucania. W zależności od ustawienia duża część, zgodnie z dokumentacją nawet większość, wygenerowanych strategii może zostać odsiana już na tym etapie, zanim w ogóle dojdzie do oceny według wskaźników z backtestu.
Te reguły to nie efekt uboczny, który najlepiej wyłączyć. To pierwszy z kilku filtrów, które z ogromnego, nieuporządkowanego zbioru robią coś, co da się ogarnąć.
Jak w praktyce przebiega przebieg strategii
Typowy przebieg, który dokumentacja opisuje jako wzorzec, wygląda tak: zaimportować lub pobrać dane kursowe, skonfigurować builder, uruchomić przebieg, przejrzeć wygenerowane strategie, a potem ponownie przetestować, zoptymalizować lub dalej poprawić pozostałych kandydatów. To szablon, nie sztywny przepis, poszczególne kroki można dopasować do własnego sposobu pracy.

Przykład z dokumentacji pokazuje to na EURUSD, bez podanych reguł handlowych: najpierw wybierasz tryb Build, potem ustawiasz dane cenowe i podział na In-Sample i Out-of-Sample, następnie wybierasz elementy składowe, z którymi builder może pracować, i uruchamiasz generowanie. Najlepsze wyniki trafiają automatycznie do bazy danych danego przebiegu. Przykład dotyczy dokładnie tej konfiguracji, inne rynki lub ramy czasowe nie muszą wymagać tych samych ustawień.
Drugi filtr: solidna weryfikacja i trzeźwiący typowy przypadek
Kto przeszedł reguły odrzucania, ten jeszcze długo nie jest na końcu. Dokumentacja producenta podaje przykład, który wielu zaskakuje: bez problemu może się zdarzyć, że z 1.000 strategii, które w pierwszym backteście wypadły na plus, tylko jedna przejdzie surowsze testy solidności i tym samym w ogóle kwalifikuje się jako kandydat do handlu na żywo. To przykład rzędu wielkości, a nie stały odsetek obowiązujący dla każdego przebiegu, i nie mówi nic o tym, czy ta jedna strategia rzeczywiście nadaje się do handlu na żywo.
Dla większości osób, które po raz pierwszy pracują z automatycznym generowaniem, wygląda to jak rozczarowanie. To jednak typowy przypadek, a nie znak, że coś poszło nie tak. Właśnie do tego istnieje drugi filtr.

Czego nie obiecuje zielony backtest
Backtest, który wygląda dobrze, jest stwierdzeniem o przeszłości, nie o przyszłości. Strategie, które zostały zoptymalizowane pod konkretne otoczenie rynkowe, wypadają zwykle gorzej, gdy tylko warunki się zmienią. To wyjaśnia, dlaczego strategia, która długo działała dobrze, nagle zaczyna tracić pieniądze, choć w samym kodzie nic się nie zmieniło. Tego zachowania nie da się w pełni przewidzieć ani mu zapobiec, to należy do natury reżimów rynkowych.
Drugi punkt dotyczy analizy what-if: usprawnienia, które tam widzisz dla jednego scenariusza, mogą wynikać z przypadku albo w prawdziwym handlu wypaść inaczej, bo transakcje wpływają na siebie nawzajem. Dlatego producent zaleca, aby po każdej zmianie ponownie przetestować strategię z przyjętymi ustawieniami, zanim na niej polegasz.
Dlaczego w QANTERIS uczymy właśnie tego procesu
Jeden z powodów, dla których wielu początkujących ponosi porażkę ze strategiami zbudowanymi samodzielnie, jest taki, że nie znają różnicy między surowym generowaniem a sprawdzonym kandydatem. Materiały do StrategyQuant X, które zajmują się właśnie tym tematem, opisują, dlaczego większość strategii zbudowanych przez początkujących ponosi porażkę, jak można automatycznie generować i testować tysiące pomysłów na handel oraz jak zbudować z tego bardziej odporne strategie. To jest powód, dla którego w QANTERIS pokazujemy ten przebieg krok po kroku, zamiast tłumaczyć tylko interfejs.
Co ta metoda pokazuje, a czego nie pokazuje
Automatyczne generowanie i jego filtry pokazują ci, jak strategia zachowywała się na danych historycznych użytych do testu. Nie pokazują ci, czy zadziała tak samo w przyszłych, nieznanych warunkach rynkowych. To nie słabość oprogramowania, to granica każdej metody opartej na przeszłych danych kursowych, czy to generowanej automatycznie, czy pisanej ręcznie.
Co zostaje na koniec: proces, który z ogromnej liczby możliwych strategii wyodrębnia w kilku krokach niewielką liczbę kandydatów, każdy krok z własnym zadaniem, ale bez tego, żeby mówiło to coś o przyszłych wynikach.
Ten artykuł ma charakter edukacyjny i nie stanowi porady inwestycyjnej. Wyniki historyczne, także z backtestów, nie gwarantują przyszłych wyników. Handel instrumentami finansowymi wiąże się z ryzykiem i możesz stracić pieniądze.
Ten artykuł ma charakter edukacyjny i nie jest doradztwem inwestycyjnym. Wyniki osiągnięte w przeszłości nie gwarantują przyszłych wyników.
A jak ty to robisz? Opowiedz w społeczności. Za darmo, w twoim języku.
Zarejestruj się za darmo