Testuje odporność strategii na zmieniające się sekwencje reżimów rynkowych przy użyciu randomizacji blokowej. Pokazuje, czy przewaga Twojej strategii jest niezależna od reżimu, czy też wynika z historycznej sekwencji w Twoim backteście.
W rzeczywistym handlu warunki rynkowe nie układają się w przewidywalną sekwencję. Trendy wzrostowe, rynki spadkowe, okresy podwyższonej zmienności i fazy konsolidacji mogą występować w zupełnie innej kolejności w różnych przedziałach czasowych lub na różnych instrumentach. Strategia, która radzi sobie świetnie w określonej sekwencji reżimów rynkowych, może zawieść, jeśli te same reżimy pojawią się w innej kolejności. Ta symulacja Monte Carlo została zaprojektowana specjalnie po to, aby sprawdzić odporność Twojej strategii na zmiany w sekwencji reżimów rynkowych, bez naruszania wewnętrznych cech charakteryzujących każdy z tych okresów.
Test randomizacji blokowej MACHR (Market Condition Historical Randomization) odpowiada na fundamentalne pytanie: „Co by było, gdyby te same warunki rynkowe wystąpiły, ale w innej kolejności?”
Gdy stosujemy ten test Monte Carlo, symulacja wprowadza zaawansowaną formę losowości, która operuje na blokach kolejnych transakcji, a nie na pojedynczych transakcjach:
Tworzenie bloków: Pierwotna sekwencja transakcji jest dzielona na bloki kolejnych zleceń (domyślnie 5 transakcji na blok, z możliwością konfiguracji w zakresie 2–50). Każdy blok reprezentuje spójny okres zachowania rynku, zachowując wewnętrzne relacje między transakcjami zawartymi w podobnych warunkach rynkowych.
Próbkowanie blokowe metodą bootstrap: Zamiast zwykłego tasowania pojedynczych transakcji, symulacja wykorzystuje próbkowanie bootstrap do losowego wybierania bloków ze zwracaniem. Oznacza to, że niektóre okresy reżimów rynkowych (bloki) mogą pojawić się w symulacji wielokrotnie, podczas gdy inne mogą nie pojawić się wcale – naśladując to, jak określone warunki rynkowe mogą dominować w niektórych okresach, będąc całkowicie nieobecnymi w innych.
Zachowanie struktury reżimu: Wewnątrz każdego wybranego bloku zachowana zostaje pierwotna sekwencja transakcji oraz relacje czasowe. Pozwala to zachować autentyczną mikrostrukturę rynku, relacje wejścia/wyjścia oraz wzorce zachowań specyficzne dla danego reżimu, które definiują, jak Twoja strategia rzeczywiście radziła sobie w tych warunkach.
Rekonstrukcja znaczników czasu: Po randomizacji bloków symulacja może opcjonalnie zrekonstruować chronologiczne znaczniki czasu, aby utrzymać prawidłowe obliczenia krzywej kapitału i wskaźników wydajności, zapewniając, że zrandomizowana sekwencja wygląda jak wiarygodna, alternatywna historia rynku.
Wyobraź sobie na przykład, że Twój pierwotny backtest zawierał następujące bloki transakcji:
Blok 1: 5 transakcji podczas trendu wzrostowego (rynek byka)
Blok 2: 5 transakcji podczas konsolidacji o wysokiej zmienności
Blok 3: 5 transakcji podczas spadków na rynku niedźwiedzia
Blok 4: 5 transakcji podczas ożywienia o niskiej zmienności
Jedna symulacja może w wyniku bootstrapu przyjąć postać: Blok 2 → Blok 1 → Blok 2 → Blok 4, tworząc scenariusz, w którym dominują okresy zmienności, fazy trendu są zredukowane, a rynki niedźwiedzia w ogóle nie występują. Inna symulacja może wygenerować: Blok 3 → Blok 3 → Blok 1 → Blok 4, tworząc scenariusz z dominacją rynku niedźwiedzia, po którym następuje ożywienie.
Test ten różni się zasadniczo od randomizacji pojedynczych transakcji czy testów fluktuacji parametrów (parameter jitter). Zamiast badać wrażliwość na zmienność egzekucji czy niestabilność parametrów, MACHR Block Randomization ocenia w szczególności zależność od sekwencji reżimów. Odpowiada na pytanie, czy sukces Twojej strategii wynikał ze sprzyjającej sekwencji warunków rynkowych, czy też zachowałaby ona odporność w różnych prawdopodobnych układach tych samych reżimów rynkowych.
Uruchamiając ponad 500 symulacji, generujesz rozkład wyników wydajności, który odzwierciedla to, jak Twoja strategia mogłaby się zachować w różnych możliwych „historiach rynku” – z których każda zawiera te same typy warunków rynkowych, lecz w przetasowanych sekwencjach. Daje to kluczowy wgląd w to, czy przewaga Twojej strategii jest rzeczywiście niezależna od reżimów, czy też opiera się na specyficznych sekwencjach warunków rynkowych, które mogą się już nie powtórzyć w przyszłości.
Strategia wykazująca spójne wyniki we wszystkich symulacjach MACHR dowodzi prawdziwej odporności na reżimy rynkowe. I odwrotnie, duża wariancja wyników symulacji sugeruje, że strategia może być nadmiernie zależna od konkretnej historycznej sekwencji reżimów rynkowych w danych z Twojego backtestu.
Znacie mnie jako clonex. Nazywam się Ivan Hudec — stworzyłem bezpłatne bloki, z których tutaj korzystasz, a o badaniach stojących za nimi piszę na algotrading.space. Potrzebujesz dedykowanego rozwiązania? Nawiąż ze mną współpracę.