Przejdź do treści
Moduł 1 z 2
  1. Trading plan: jak napisać i egzekwować
  2. Definicja setupu: jak zapisać reguły
  3. Backtest i forward test: jak testować
  4. Przejście z demo na live

Backtest i forward test: jak testować

Backtest i forward test bez oszukiwania siebie: higiena testu, koszty w R, podział historii na okna i kryteria zaliczenia okresu próbnego.

Ilustracja do lekcji: Backtest i forward test: jak testować
3 / 7
Autor
Zordon Intelligence Sp. z o.o.
Aktualizacja
Czas czytania
11 min
Źródła
3

Czym różni się backtest od forward testu

Ta lekcja wyjaśnia, jak przetestować setup tak, żeby wynik dało się obronić — przed sobą i przed własnym dziennikiem. Kierujemy ją do osób, które mają już zapisaną definicję setupu i chcą sprawdzić jej reguły na danych, zamiast oceniać je po wrażeniu z ostatnich sesji.

Backtest odpowiada na pytanie, czy reguły miały sens historycznie. Forward test odpowiada na pytanie, czy Ty wytrzymujesz je w czasie rzeczywistym, bez zmieniania ich w połowie drogi. Oba testy mierzą coś innego i żaden nie zastępuje drugiego.

Krzywa kapitału bez zapisanych reguł jest ozdobą, nie dowodem. Zanim ocenisz wykres, policz expectancy i maksymalne obsunięcie — sposobu liczenia niepewności średniej szukaj w lekcji expectancy i drawdown.

Siedem reguł higieny backtestu

Kolejność ma znaczenie: reguły zapisujesz przed otwarciem historii, nie po zobaczeniu wyniku.

  1. Zapisz reguły przed testem. Definicja setupu z datą i numerem wersji leży obok, zanim przewiniesz pierwszy wykres do tyłu.
  2. Idź świeca po świecy. Sygnał oceniasz tylko na zamkniętych świecach; żadna decyzja nie korzysta z informacji, której w danym momencie jeszcze nie było.
  3. Zapisuj każdy sygnał, także odrzucony. Lista sygnałów pominiętych pokazuje później, czy filtr działa, czy tylko zabiera transakcje.
  4. Policz koszty. Spread, prowizja, slippage, swap i koszt round-trip wchodzą do każdego wyniku, nie do przypisu.
  5. Ustal stały zestaw instrumentów. Zmiana rynku w trakcie próbki, bo „lepiej wygląda”, unieważnia porównanie.
  6. Trzymaj jedną wersję reguł. Poprawka w połowie testu oznacza nowy test od początku, nie korektę wyniku.
  7. Zapisz zakres dat i liczbę transakcji. Bez tego nie wiadomo, czy wynik opisuje miesiąc, czy trzy lata.
BłądObjaw w raporcieJak go uniknąć
Look-aheadwejście na wiedzy z następnej świecyocena wyłącznie na zamkniętych świecach
Koszty równe zerowysokie R, które nie pojawia się na livestały koszt round-trip z tabeli brokera
Curve fittingkilkanaście filtrów dobranych pod jeden wykresnajwyżej jeden lub dwa filtry w wersji pierwszej
Zmiana reguł w trakcie„tak wypadło lepiej”wersja reguł z datą i bez edycji wstecznej
Pomijanie sygnałów spoza okresubrak transakcji w trudnym miesiącutest ciągły, bez wycinania fragmentów

Koszty w R — arytmetyka, która zmienia wynik

Koszt najłatwiej porównywać z ryzykiem, dlatego wyrażasz go w R. Podstawa to wzór na expectancy:

E (w R) = skuteczność × średnia wygrana − (1 − skuteczność) × średnia przegrana
wymagana skuteczność = średnia przegrana / (średnia wygrana + średnia przegrana)

Poniższa tabela używa liczb z szablonu raportu: skuteczność 42%, średnia wygrana +2,1R, średnia przegrana −1R. Wszystkie wartości są ilustracyjne (liczba ilustracyjna).

Wariant kosztuWygrana nettoPrzegrana nettoExpectancy przy 42%Wymagana skuteczność
bez kosztu+2,1R−1,0R0,42 × 2,1 − 0,58 × 1,0 = +0,30R1,0 / 3,1 ≈ 32,3%
koszt 0,1R+2,0R−1,1R0,42 × 2,0 − 0,58 × 1,1 = +0,20R1,1 / 3,1 ≈ 35,5%
koszt 0,2R+1,9R−1,2R0,42 × 1,9 − 0,58 × 1,2 = +0,10R1,2 / 3,1 ≈ 38,7%

Trzy wnioski wynikają z prostego odejmowania. Koszt 0,1R obniża expectancy o jedną trzecią, a koszt 0,2R — do jednej trzeciej wartości wyjściowej. Jednocześnie wymagana skuteczność rośnie z około 32% do prawie 39%, czyli próg, który jeszcze niedawno był spełniony, przestaje nim być. Test bez kosztów mierzy więc inny system niż ten, który trafia na rachunek.

Dlatego po każdym backteście wykonaj próbę wrażliwości: podnieś założony koszt o połowę i przelicz expectancy ponownie. Przy koszcie 0,15R wzór daje około +0,15R (liczba ilustracyjna). Jeśli wynik spada w okolice zera, przewaga była efektem założenia, nie reguł.

Podział historii na okna

Jeden test na całej historii opisuje średnią, która nigdy nie wystąpiła. Historia dzieli się na części, a każdą część traktujesz jak osobny egzamin:

  1. In-sample — okres, na którym powstawały reguły. Wynik z tego okresu jest zawsze optymistyczny i nie służy do decyzji.
  2. Out-of-sample — okres, którego nie widziałeś, pisząc reguły. Tu sprawdzasz, czy sygnały w ogóle się pojawiają i czy wynik ma ten sam kierunek.
  3. Walk-forward — historia pocięta na okna testowe o stałej długości, przesuwane o stały krok. Okno testowe trzech miesięcy przesuwane co trzy miesiące daje w 24 miesiącach historii osiem okien (liczba ilustracyjna).
OknoZakres datLiczba transakcjiExpectancy w RMax DD w RWynik zgodny z poprzednim?
1
2
3
4
Razem

Wniosek wyciągasz z rozrzutu między oknami, nie ze średniej. Jeśli jedno okno daje cały zysk, a pozostałe oscylują wokół zera, reguły opisują jeden epizod na rynku, a nie powtarzalny proces.

Ile transakcji potrzeba, żeby cokolwiek powiedzieć

Liczba transakcji na okno ma większe znaczenie niż ich suma w całym teście. Punkt startowy (liczba ilustracyjna): co najmniej 30 transakcji w jednym oknie i co najmniej trzy okna, które wskazują ten sam kierunek wyniku. Przy dwóch sygnałach na tydzień trzydzieści transakcji to około piętnastu tygodni zapisów.

Sam rozrzut wyników też ma znaczenie — system z szarpaną krzywą potrzebuje dłuższej próbki niż system o równych wynikach. Sposób liczenia niepewności średniej znajdziesz w lekcji o expectancy i drawdownie; tu wystarczy zasada, że decyzję podejmujesz po oknach, a nie po pięciu transakcjach.

Mała próbka plus duża dźwignia na CFD to klasyczna droga do obsunięcia. Zwiększanie rozmiaru pozycji opisuje osobna lekcja skalowanie size — bez wyniku z tego testu nie ma czego skalować.

Szablon raportu z backtestu

Poniższe kolumny to format. Wiersz „przykład ilustracyjny” pokazuje, jak czytać tabelę, a nie wynik systemu kursu; wszystkie wartości w tej kolumnie to liczba ilustracyjna. Kolumnę „Twoje dane” wypełniasz własnymi zapisami.

PolePrzykład ilustracyjny (format)Twoje dane
Setup i wersja regułbreakout H1 v1.2
Zakres dat2025-01 → 2025-06
InstrumentEUR/USD, CFD
Liczba transakcji40
Skuteczność42%
Średnia wygrana / średnia przegrana+2,1R / −1R
Koszt round-trip0,1R
Expectancy≈ +0,2R
Maksymalne obsunięcie−8R
Okna walk-forward4 z 4 zgodne
Forward: okres i liczba sygnałów6 tygodni / 22
Decyzjapowtórz / zostaw / odrzuć

Jeśli nie potrafisz wypełnić kolumny „Twoje dane”, problem nie leży w tabeli. Wróć do definicji setupu: brak liczby w raporcie oznacza brak liczby w regułach.

Forward test: okres i kryteria zaliczenia

Forward test to ten sam zestaw reguł uruchomiony na bieżącym rynku, bez zmian. Minimalny okres (liczba ilustracyjna): trzy tygodnie i co najmniej 20 sygnałów — okres wydłuża się, gdy setup pojawia się rzadko.

Kryteria zaliczenia zapisz przed startem, nie po zakończeniu:

KryteriumPróg (liczba ilustracyjna)Wynik
Zgodność z regułami≥ 90% transakcji wg checklisty
Transakcje poza planemnajwyżej 2
Expectancy okresu≥ 0R
Maksymalne obsunięcienie większe niż 1,5 × obsunięcie z backtestu
Zmiany reguł w trakciebrak

Zaliczenie wszystkich pięciu kryteriów oznacza, że setup przechodzi do kolejnego etapu. Niezaliczenie jednego oznacza powrót do reguł albo do próbki — nie do zwiększenia rozmiaru pozycji. Limit strat w okresie próbnym ustaw jak w planie, np. 2–3R dziennie (limit dzienny, liczba ilustracyjna).

Jak czytać krzywą kapitału krytycznie

Rosnąca krzywa nie jest dowodem przewagi. Może być efektem dobranego okresu, jednej szczęśliwej transakcji albo braku kosztów. Zanim uznasz wynik za sensowny, sprawdź cztery rzeczy:

  • Koncentrację zysku — czy większość wyniku pochodzi z jednej lub dwóch transakcji. Jeśli tak, próbka jest za mała, a średnia niestabilna.
  • Kształt obsunięcia — długie, płaskie okresy pod wodą mówią więcej niż samo maksymalne obsunięcie wyrażone w R.
  • Stabilność w czasie — podziel próbkę na dwie połowy. Wyraźnie słabsza druga połowa oznacza reguły dopasowane do pierwszej.
  • Wrażliwość na koszty — podnieś założony koszt o połowę i przelicz wynik ponownie, tak jak w tabeli wyżej.

Kiedy wynik testu mówi „nie handluj na żywo”

Cztery sytuacje, w których test nie daje zielonego światła:

  1. Zysk pochodzi z jednej lub dwóch transakcji. Przy takiej koncentracji nie wiesz, czy działa setup, czy jedna anomalia.
  2. Expectancy spada do zera po podniesieniu kosztu o połowę. Przewaga była efektem założenia, a nie reguł.
  3. Forward test nie zalicza choćby jednego kryterium. Wynik z historii nie przeniósł się na bieżący rynek albo na Twoją egzekucję.
  4. Druga połowa próbki jest wyraźnie słabsza od pierwszej. Reguły opisują przeszłość, której już nie ma.

Częste anty-wzorce w testowaniu

  • Backtest bez reguł zapisanych przed testem — warunki dopisywane po fakcie, żeby pasowały do wykresu.
  • Forward test przerwany po pierwszej stracie — to nie test, a potwierdzenie założenia przyjętego z góry.
  • Zmiana instrumentu w trakcie próbki, bo inny „lepiej wygląda” — dane przestają być porównywalne.
  • Ignorowanie godzin sesji — setup testowany na danych z całej doby i egzekwowany wieczorem ma inny rozkład zmienności.
  • Testowanie po jednej stronie rynku — sprawdzenie wyłącznie długich pozycji w trendzie wzrostowym zawyża wynik.

Ćwiczenie mierzalne

Wybierz jeden setup z planu i zapisz jego reguły z numerem wersji przed testem. Przejdź ręcznie przez dziesięć sesji historycznych, świeca po świecy, zapisując każdy sygnał wraz z kosztem. Następnie policz trzy liczby: expectancy, wymaganą skuteczność i liczbę transakcji po odjęciu kosztu 0,2R (liczba ilustracyjna). Wypełnij szablon raportu własnymi danymi i zapisz, czy wynik utrzymuje się po podniesieniu kosztu o połowę. Format protokołu znajdziesz w Metodzie.

Następny krok

Gdy test wypadnie dobrze, zdefiniuj kryteria przejścia z demo na rachunek live: od demo do live.

Sprawdź się

Czym jest look-ahead bias?

Częste pytania

Czy automatyczny backtester jest obowiązkowy?

Nie. Ręczny test świeca po świecy na małej próbce często lepiej uczy reguł. Automat pomaga przy większej skali, pod warunkiem że używa tych samych kosztów i nie zagląda w przyszłość.

Forward test na demo czy na mikro rachunku?

Najpierw demo, żeby sprawdzić proces bez presji pieniędzy. Rachunek z minimalnym rozmiarem ma sens dopiero wtedy, gdy kryteria zaliczenia są spełnione, a pojedyncza strata nie psuje decyzji.

Co zrobić, gdy backtest i forward wypadają dobrze, a live nie?

Sprawdź slippage, spread w Twoich godzinach, odsetek transakcji poza planem i rozmiar pozycji. Najczęściej zawodzi egzekucja, a nie sam sygnał.

Po co dzielić historię na okna i liczyć koszty, skoro wystarczy sprawdzić, czy strategia zarabiała?

Bo pytanie „czy zarabiała” nie mówi, dzięki czemu. Bez podziału na okna nie odróżnisz przewagi powtarzalnej od jednego udanego okresu, a bez kosztów mierzysz system, który nie istnieje na rachunku. Pomiar nie służy ozdabianiu raportu — służy temu, żeby decyzja o przejściu na live opierała się na czymś więcej niż na kształcie krzywej.

Reklama

Najważniejsze wnioski

  • Backtest odpowiada na pytanie, czy reguły setupu miały sens historycznie, a forward test sprawdza, czy wytrzymujesz je w czasie rzeczywistym. Ta lekcja daje siedem reguł higieny testu, wzór na expectancy i wymaganą skuteczność, podział historii na okna oraz kryteria zaliczenia okresu próbnego. Przykładowe liczby służą wyłącznie pokazaniu formatu — każdy wynik liczysz na własnych danych i własnych kosztach.

Źródła i dokumenty

Materiał opieramy na dokumentach źródłowych. Wartości zmienne — opłaty, limity, wskaźniki regulacyjne — sprawdź u źródła przed podjęciem decyzji.

Zastrzeżenie

  • KursTradera.pl to serwis edukacyjny o charakterze informacyjnym. Nie prowadzimy działalności maklerskiej, nie przyjmujemy i nie przekazujemy zleceń, nie zarządzamy portfelem, nie oferujemy instrumentów finansowych i nie świadczymy usług doradztwa inwestycyjnego w rozumieniu ustawy o obrocie instrumentami finansowymi. Materiały opisują mechanizmy rynkowe i proces decyzyjny — nie są instrukcją kupna lub sprzedaży jakiegokolwiek instrumentu.
  • Żadna z publikowanych treści nie stanowi rekomendacji inwestycyjnej, informacji rekomendującej ani rekomendacji w rozumieniu Rozporządzenia Parlamentu Europejskiego i Rady (UE) nr 596/2014 (MAR) oraz aktów wykonawczych. Nie jest też ofertą nabycia lub zbycia instrumentów finansowych ani zaproszeniem do składania ofert. Wszelkie przykłady, wykresy, zrzuty ekranu i liczby mają charakter ilustracyjny i odnoszą się do sytuacji hipotetycznych lub historycznych.
  • Inwestowanie i trading wiążą się z ryzykiem utraty części lub całości zainwestowanego kapitału. Wyniki osiągnięte w przeszłości — w tym wyniki przedstawione w materiałach edukacyjnych, backtestach i przykładach — nie gwarantują wyników przyszłych i nie są ich wiarygodnym wskaźnikiem. Żadna opisana metoda ani strategia nie eliminuje ryzyka. Decyzje inwestycyjne podejmujesz samodzielnie, na własną odpowiedzialność i po zapoznaniu się z aktualnymi dokumentami swojego brokera.
  • Instrumenty z dźwignią (CFD, kontrakty terminowe, opcje, transakcje typu margin) mogą generować straty przewyższające wartość wpłaconych środków — możesz stracić więcej, niż zainwestowałeś, i zostać wezwanym do uzupełnienia depozytu (margin call). W Unii Europejskiej dźwignia dla klientów detalicznych handlujących CFD na głównych parach walutowych jest ograniczona decyzją ESMA (interwencja produktowa w sprawie CFD i opcji binarnych), ale ograniczenie dźwigni nie usuwa ryzyka. Odsetek rachunków detalicznych przynoszących straty różni się między brokerami i zmienia się w czasie — aktualną wartość odczytaj z ostrzeżenia ryzyka u swojego brokera i zapisz razem z datą.
  • Backtesty, symulacje i przykładowe wyniki nie są rzeczywistymi wynikami transakcyjnymi. Powstają w warunkach odtwarzanych z danych historycznych, nie uwzględniają w pełni poślizgu cenowego, płynności, spreadu, prowizji, swapu, wpływu własnych zleceń na rynek ani czynnika psychologicznego — a wszystkie te elementy pogarszają wynik w praktyce. Wyniki historyczne nie chronią przed przyszłymi stratami.

Kto to pisze i jak to sprawdzamy

Materiały pisze i weryfikuje Redakcja KursTradera.pl — zasady opisuje o serwisie: każda liczba ma źródło, a braki pokazujemy jawnie. Błąd merytoryczny zgłosisz przez kontakt — poprawki opisujemy w treści.

Postęp kursu 0 / 7
Dalej →

Postęp zapisujemy wyłącznie w tej przeglądarce (localStorage) — nie ma konta ani kopii na serwerze. Wyczyszczenie danych witryny go usunie. Zarządzaj swoimi danymi