Walk-forward analysis — test odporności strategii w 2026

Ostatnio zweryfikowano: · Treść aktualna długoterminowo
Ostrzeżenie · YMYL Ten artykuł ma charakter wyłącznie edukacyjny i nie stanowi rekomendacji inwestycyjnej. Handel na rynku Forex wiąże się z wysokim ryzykiem utraty kapitału — według ESMA 74–89% rachunków detalicznych traci pieniądze.

Walk-forward analysis to test, który Robert Pardo sformalizował w wydanej w 2008 roku w Wiley książce The Evaluation and Optimization of Trading Strategies, a fundusze systematyczne od tamtej pory traktują go jako filtr przed wpuszczeniem strategii na rachunek. Pomysł jest prosty: dzielisz historię na powtarzane pary okien in-sample i out-of-sample, a strategia trafia na live dopiero wtedy, gdy zachowuje przewagę poza danymi, na których ją kalibrowałeś.

Skąd się bierze problem curve-fittingu

Zwykły backtest, w którym trader przepuszcza tysiąc kombinacji parametrów i wybiera najlepszą, niemal zawsze produkuje krzywą kapitału ładniejszą od jakiejkolwiek rzeczywistości. Optymalizator widzi szum w historii i traktuje go jak sygnał — średnia 14-okresowa zamiast 12-okresowej dawała lepszy wynik nie dlatego, że jest mądrzejsza, lecz dlatego, że akurat tak zagrała w tych konkretnych miesiącach. Sygnały ostrzegawcze tej choroby opisaliśmy razem ze sposobami ich wykrycia w artykule o poprawnym backteście strategii: zbyt gładka krzywa, skuteczność powyżej 75 procent na 200 transakcjach, profit factor większy niż 3,5 i nadwrażliwość na drobne zmiany parametrów. Walk-forward odbiera optymalizatorowi możliwość uczenia się danych, na których ostatecznie ma być oceniony.

Mechanika toczącego się okna — krok po kroku

Najpierw dzielisz historię — typowo dziesięcioletnią dla par głównych na M30 i wyżej — na sekwencję bloków. Pierwszy in-sample obejmuje na przykład lata 2018–2021, a out-of-sample tuż po nim rok 2022. Na in-sample przepuszczasz pełną optymalizację: niech tester sprawdzi setki kombinacji parametrów i zwróci tę z najlepszym profitem przy akceptowalnym drawdownie. Następnie zamrażasz zwycięski zestaw i uruchamiasz strategię z dokładnie tymi parametrami na out-of-sample 2022 — bez dotykania kodu, bez ponownej optymalizacji. Trzeci krok to przesunięcie okna o długość OOS: nowy in-sample 2019–2022, nowy out-of-sample 2023. Optymalizacja od nowa, zamrożenie, test, przesunięcie. Po pięciu–siedmiu takich iteracjach masz pięć–siedem niezależnych wyników OOS, których średnia jest najuczciwszym przybliżeniem tego, co da konto live. Mechanika praktyczna pod MT5 z opcją włączaną w Strategy Tester żyje w artykule o backtestingu w MT4 i MT5. Jeśli stoisz przed wyborem środowiska testów, porównanie Forex Tester i Strategy Tester w MT pomoże dopasować narzędzie do przepływu pracy.

Kroczący kontra zakotwiczony — dwa warianty

W wariancie kroczącym okno in-sample ma stałą długość i przesuwa się jak gąsienica: cztery lata zawsze, tylko z innym początkiem i końcem. Strategia naturalnie zapomina to, co działo się dawno, i koncentruje się na ostatnich latach — co w praktyce oznacza, że szybciej reaguje na zmianę reżimu. Po skoku zmienności w 2020 roku albo cyklu podwyżek z 2022 strategia kroczącego walk-forwardu po kolejnej iteracji już handluje parametrami dopasowanymi do nowego świata. Wariant zakotwiczony zachowuje stały punkt startu i pozwala oknu IS rosnąć: 2018–2021, potem 2018–2022, potem 2018–2023. Więcej danych zwykle oznacza stabilniejsze parametry między iteracjami, ale strategia adaptuje się wolniej. Praktyczna reguła wygląda tak: dla trend-followingu, breakoutów i strategii momentum wybieraj kroczący; dla stabilnych mean-reversion na głębokich poziomach wsparcia i oporu sprawdza się lepiej zakotwiczony.

Walk-forward efficiency i jak ją czytać

WFE to iloraz zwrotu rocznego z out-of-sample do zwrotu rocznego z in-sample, najczęściej wyrażany w procentach. Wartości bliskie jedności są podejrzane, bo prawie nigdy nie zdarzają się poza najprostszymi systemami trend-following — jeśli OOS równa się IS, najpewniej coś przecieka między oknami. Przedział od 0,5 do 0,75 to typowy obszar solidnych strategii i to on uzasadnia rozważenie wdrożenia. Wartości od 0,3 do 0,5 sygnalizują umiarkowane dopasowanie do szumu: strategia łapie coś realnego, ale logika ma za dużo stopni swobody. Poniżej 0,3 to wyraźny dowód curve-fittingu i metryka mówi to, czego ego nie chce usłyszeć — trzeba uprościć reguły, a nie szukać kolejnego testu, w którym wreszcie wyjdzie ładnie. Oddzielną przyczyną słabego WFE bywa wskaźnik, który przerysowuje historię (repaint) — taki sygnał w ogóle nie nadaje się do walk-forwardu, bo dane in-sample wyglądają lepiej niż kiedykolwiek będą w realu.

Przykład hipotetyczny — dwie strategie pod lupą

Załóżmy dwie strategie na EUR/USD testowane na M30 z lat 2018–2023 w wariancie kroczącym, z IS cztery lata i OOS rok. Strategia breakoutowa daje w pierwszej iteracji IS skuteczność 70 procent i 30 procent zwrotu rocznego; w OOS spada do 55 procent i 12 procent rocznie. WFE wynosi 12 dzielone przez 30, czyli 0,4. Po pięciu iteracjach średnia utrzymuje się w przedziale 0,38–0,45 — strategia łapie realny ruch, ale logika wejść jest nadmiernie wyspecyfikowana. Druga strategia, trend-following na średnich kroczących, daje w IS 60 procent skuteczności i 25 procent rocznego zwrotu, w OOS 58 procent i 20 procent. WFE 0,8, parametry między iteracjami zmieniają się o mniej niż 20 procent. To kandydat do dalszego forward testingu na demie. Wszystkie liczby są ilustracyjne — pokazują interpretację, nie obietnicę.

„The whole purpose of walk-forward analysis is to reveal the real-time, real-money performance of a trading strategy without actually trading it with real money in real time." — Robert Pardo, The Evaluation and Optimization of Trading Strategies, Wiley, 2008

Czego walk-forward nie potrafi

Nawet czysty walk-forward z WFE powyżej 0,5 nie obiecuje, że strategia zarobi na żywo. Test milcząco zakłada, że reżim z okien out-of-sample będzie wystarczająco podobny do reżimu live, w którym strategia ostatecznie pracuje. Jeśli historia obejmuje okres dwóch dużych szoków zmienności i dwóch cykli stóp, a strategia trafia w długi range z niską zmiennością i niewielką liczbą publikacji ruszających rynkiem, średnia OOS może nie odzwierciedlać tego, co dzieje się w realu. Dlatego rzemiosło polega na łączeniu trzech filtrów: walk-forward z WFE w bezpiecznym przedziale, forward testing na koncie demo przez trzy do sześciu miesięcy oraz symulacja Monte Carlo, która tasuje kolejność transakcji i pokazuje rozkład możliwych krzywych kapitału. Sam walk-forward to bardzo dobre sito, ale nie wyrocznia — żaden test historyczny nie jest. Tło o tym, jak w ogóle wypreparować przewagę, którą walk-forward sprawdza, omawiamy w artykule o odkrywaniu przewagi rynkowej; szerszy kontekst metodyki — w sekcji backtesting i forward testing na MyBank.pl.

Co zrobić jutro

  1. Otwórz historię cen dla pary, którą faktycznie handlujesz, i wytnij ostatnie pięć lat danych M30 lub M15; podziel je na pięć par okien — cztery lata in-sample plus rok out-of-sample — z punktem startu przesuwanym o rok między iteracjami, żebyś mógł porównać wyniki OOS z różnych reżimów i mieć przynajmniej pięć niezależnych obserwacji.
  2. Uruchom pełną optymalizację parametrów strategii wyłącznie na pierwszym oknie in-sample 2018–2021, zapisz najlepszy zestaw, zamroź go całkowicie i odpal jeden backtest na out-of-sample 2022 — bez kolejnej optymalizacji; powtórz cykl dla wszystkich pięciu par okien i zapisz roczne zwroty oraz drawdowny z każdego OOS w arkuszu kalkulacyjnym.
  3. Policz WFE dla każdej iteracji jako iloraz zwrotu OOS i zwrotu IS, wyciągnij średnią i medianę; jeśli mediana spada poniżej 0,5 lub parametry skaczą o więcej niż 50 procent między iteracjami, strategia jest dopasowana do szumu i trzeba uprościć logikę wejść, a nie próbować lepszej optymalizacji.
  4. Dla strategii, która przeszła walk-forward z WFE powyżej 0,5, dorzuć dwa dodatkowe filtry przed wdrożeniem na rachunek live: trzy do sześciu miesięcy forward testingu na koncie demo z parametrami zamrożonymi po ostatniej iteracji oraz test Monte Carlo z losową permutacją kolejności transakcji, którego 95. percentyl drawdownu powinien zmieścić się w twoim limicie ryzyka.
Jarosław Wasiński
O autorze

Jarosław Wasiński

Redaktor naczelny MyBank.pl · Analityk finansowy i rynkowy

Niezależny analityk i praktyk z ponad 20-letnim doświadczeniem w sektorze finansowym. Twórca i redaktor naczelny portalu MyBank.pl, działającego od 2004 roku. Analiza fundamentalna rynków walutowych i makroekonomicznych od 2007 roku.

Źródła i bibliografia

  1. MetaQuotes MetaTrader 5 Strategy Tester — Forward Testing · opis trybu forward testing wbudowanego w Strategy Tester i jego roli w walce z over-optimisation www.metatrader5.com ↗
  2. MetaQuotes MetaTrader 5 Help — Strategy Optimization · oficjalna dokumentacja MT5 o optymalizacji parametrów i forward testing przeciw overfittingowi www.metatrader5.com ↗
  3. QuantStart Successful Backtesting of Algorithmic Trading Strategies — Part I · omówienie czterech klasycznych biasów backtestu: optimisation, look-ahead, survivorship, psychological tolerance www.quantstart.com ↗
  4. MQL5 Community Articles on Strategy Testing in MQL5 · kuratorska kolekcja artykułów wspólnoty MQL5 o backtestingu i walk-forward www.mql5.com ↗

Najczęstsze pytania

Czym walk-forward różni się od zwykłego podziału in-sample / out-of-sample?

Klasyczny podział hold-out wycina jedno okno na koniec historii i tam testuje strategię z parametrami dobranymi na reszcie danych. To pojedynczy test odpornościowy — daje jedną liczbę i kończy temat. Walk-forward robi to samo, tylko wielokrotnie. Pierwsze okno OOS to rok 2022, drugie 2023, trzecie 2024 i tak dalej, a parametry przed każdym OOS są ponownie optymalizowane na przesuniętym IS. Dzięki temu trader nie polega na jednym przypadkowym roku — agreguje pięć–dziesięć takich testów, co radykalnie zmniejsza wpływ szczęścia. Drugą zaletą jest to, że walk-forward symuluje pracę z rzeczywistym wdrożeniem: optymalizujesz, zamrażasz, handlujesz rok, optymalizujesz ponownie. Dokładnie tak działa większość systematycznych funduszy. Klasyczny hold-out tej cykliczności nie odwzorowuje.

Jak interpretować WFE i jakie progi traktować poważnie?

Walk-forward efficiency liczy się jako zwrot roczny z OOS podzielony przez zwrot roczny z IS — pokazuje, jaką część obietnicy in-sample strategia dowiozła w realiach. WFE bliskie 1,0 jest podejrzane, bo oznacza idealne odwzorowanie i prawie nigdy się nie zdarza poza prostymi systemami trend-following. Wartości 0,5 do 0,75 są typowe dla solidnych strategii i to ten przedział wskazuje, że można rozważyć wdrożenie. Przedział 0,3 do 0,5 sygnalizuje umiarkowane dopasowanie do szumu — strategia coś łapie, ale logika ma za dużo parametrów. Poniżej 0,3 to wyraźny curve-fit i metryka mówi traderowi to, co ego nie chce usłyszeć: trzeba uprościć reguły, a nie szukać następnego testu. Próg nigdy nie jest jedynym kryterium — trzeba też zerknąć na stabilność parametrów między iteracjami (skoki większe niż 50 procent oznaczają nadwrażliwość) i na rozkład drawdownów w OOS, a nie tylko na średnią.

Kiedy lepiej użyć wariantu kroczącego, a kiedy zakotwiczonego?

Wariant kroczący ma okno IS o stałej długości — np. cztery lata — które przesuwa się o długość OOS przed każdą nową iteracją. Zaletą jest reagowanie na zmianę reżimu: niska zmienność lat 2017–2019 i wysoka 2020–2023 to dwa różne światy, a strategia trend-following uczy się świata, w którym ma handlować dalej. Wariant zakotwiczony zaczyna IS od stałego początku i pozwala mu rosnąć — najpierw 2018–2021, potem 2018–2022, później 2018–2023. Więcej danych daje stabilniejsze parametry, ale strategia wolniej dostosowuje się do nowego reżimu. W praktyce: dla trend-following i breakoutów wybierz kroczące, dla stabilnych mean-reversion na głębokich poziomach wsparcia oporu wybierz zakotwiczone. Przy krótkiej historii (poniżej pięciu lat) zakotwiczone wygrywa, bo wyciska maksimum z dostępnych danych; przy długiej historii (ponad dziesięć lat) kroczące staje się standardem.

Czy zaliczony walk-forward gwarantuje, że strategia zarobi na żywo?

Nie. Walk-forward jest najmocniejszym testem statystycznej odporności, jaki retail ma w zasięgu ręki, ale milcząco zakłada jedno: reżim rynku w okresie OOS będzie wystarczająco podobny do reżimu live, żeby zachowane parametry nadal miały sens. Jeśli strategia nauczyła się rynku 2018–2023 — okresu z dwoma dużymi szokami zmienności i dwoma cyklami stóp — a żyje od stycznia 2024 w środowisku innym (długi range, niska zmienność, mniej publikacji makro powodujących ruch) — wynik OOS może nie odzwierciedlać tego, co dzieje się na żywo. Dlatego dyscyplina warsztatu polega nie na poleganiu wyłącznie na walk-forward, lecz na łączeniu go z forward testingiem na koncie demo przez trzy do sześciu miesięcy oraz z testem Monte Carlo (losowe permutacje kolejności transakcji), który pokazuje rozkład możliwych krzywych kapitału. Dopiero trzy zielone światła — walk-forward z WFE powyżej 0,5, forward test na demo bliski oczekiwań i Monte Carlo z drawdownem do 25 procent w 95. percentylu — uzasadniają deployment na konto live.

Pogłębij temat · pełny przewodnik