Audyt strategii Forex — kiedy poprawiać system, a kiedy siebie
Drawdown 17%, palce nad klawiaturą strategii. Samo −5R nie niszczy zwykle rachunku — rachunek niszczy to, co trader robi po −5R: zmienia SL, podnosi sizing, dodaje filtr z powietrza i resetuje próbkę statystyczną. Audyt zaczyna się w kalendarzu, nie po czerwonej świecy. Artykuł daje narzędzie do odróżnienia awarii egzekucji od awarii strategii — przed tym, jak ta różnica kosztuje cię kolejny miesiąc prób i błędów. Dostajesz kwartalny protokół: trzy pytania w stałej kolejności, kalibrację setupów A+/B/C, walk-forward, Monte Carlo drawdown z bootstrap CI i MAE/MFE scatter.
- Audyt to nie panika. Audyt ma kalendarz (kwartalny), próbę (≥ 30 transakcji w okresie), kryteria (mierzalne progi expectancy, win rate, drawdownu) i protokół decyzyjny. Panika ma jedną cechę — zaczyna się od emocji „coś poprawię"
- Trzy pytania audytu w stałej kolejności: (1) czy edge nadal istnieje — czy out-of-sample expectancy jest dodatnia w ostatnim kwartale? (2) czy reżim rynku się zmienił — czy ATR/ADX/VIX są w normach historycznych? (3) czy egzekucja się popsuła — czy wzrosła mediana slippage na wejściu, SL lub TP, albo % transakcji z naruszoną regułą? Dopiero po odpowiedziach decyzja: poprawiać system, czekać, czy zmieniać siebie
- Reguła kalibracji setupów: A+ z expectancy +0,1R do +0,25R przez 2 kolejne kwartały → degradacja do B; B z expectancy < +0,1R przez 2 kwartały → usunięcie z playbooka; B z expectancy ≥ +0,4R przez 2 kwartały → awans do A+. Bez stałych progów playbook puchnie z każdym pomysłem i traci tożsamość (pełna tabela w sekcji 4)
- Najczęstszy błąd audytu — zmiana parametrów po próbie n < 30. Pięć strat z rzędu mówi tyle o strategii, co rzut monetą o uczciwości monety. Statystyczna istotność wymaga próby. Bez niej audyt jest racjonalizacją emocji, nie procedurą inżynierską
1. Audyt vs panika — fundamentalna różnica
Trader detalu po sześciu stratach z rzędu otwiera playbook i pisze: „Setup A+ Long LON Breakout — zmieniam SL z 1,5 ATR na 2,0 ATR, bo za blisko był wybijany". Nazywa to „audytem". Audyt odpalasz wtedy, kiedy każe kalendarz, a nie kiedy boli cię ostatnia strata albo świeży drawdown. Zamiast opowiadać sobie historię o rynku, otwierasz CSV z brokera, importujesz do Tradervue, Edgewonk albo arkusza, i sprawdzasz logi egzekucji. W audytach retailowych najpierw zakładam awarię egzekucji, nie awarię systemu. Dopiero gdy dziennik pokazuje czystą egzekucję, patrzę na parametry strategii. Audyt różni się od paniki czterema mierzalnymi cechami, których brak w powyższym przykładzie.
Cztery cechy audytu, których nie ma w panice
| Cecha | Audyt | Panika |
|---|---|---|
| Wyzwalacz | Kalendarz (np. ostatnia niedziela kwartału) | Emocja po stracie albo serii strat |
| Próba danych | ≥ 30 transakcji w okresie audytu, optymalnie 60–100 | Ostatnie 3–10 transakcji |
| Kryteria decyzji | Z góry zdefiniowane progi (np. expectancy < +0,15R przez 2 kwartały → degradacja) | „Czuję, że coś jest nie tak" |
| Protokół zmian | Maks 1 zmiana parametru, log w dzienniku audytu, retest | Wiele zmian naraz, brak logu, wracanie po tygodniu |
Test na panikę — trzy pytania, zanim cokolwiek zmienisz
Zanim postawisz palec na klawiaturze nad polem „SL multiplier", zadaj sobie trzy pytania. Jeśli brakuje ci odpowiedzi na którekolwiek z nich — masz za małą próbę lub za mało pól w dzienniku. Zapisz pytanie w dzienniku audytu i wróć do niego, kiedy n osiągnie 30. Decyzja czeka na dane, nie na emocje.
- Czy mam ≥ 30 transakcji od ostatniego audytu lub od ostatniej zmiany w tym setupie? Mniej = za mała próba, każdy wynik mieści się w przedziale szumu
- Czy expectancy w okresie audytu jest mierzalnie gorsza od expectancy historycznej, z różnicą większą niż jedno odchylenie standardowe? Bez tej weryfikacji „gorzej" jest pojęciem psychologicznym, nie statystycznym
- Czy zmiana, którą rozważam, ma logiczne uzasadnienie z mikrostruktury rynku, a nie tylko „bo ostatnio nie działało"? Pierwsze to inżynieria, drugie to retrofit emocjonalny
W praktyce warsztatowej trader, który po sześciu stratach z rzędu chce zmieniać SL, zwykle nie odpowie pozytywnie na żadne z tych pytań. Sześć transakcji to nie próbka. To sześć zdarzeń, z których ego próbuje zrobić wyrok. Sześć strat z rzędu przy WR 55% nie jest dowodem awarii systemu; to zdarzenie z ogona rozkładu, które w długiej historii transakcji będzie się pojawiać — szczególnie jeśli handlujesz kilka setupów i kilkaset transakcji rocznie. To nie usterka systemu, tylko natura wariancji.
Granica audyt–panika jest cienka, ale jednoznaczna w działaniu. Bez konkretnej procedury każda „zmiana po stratach" jest tylko notatką po emocjach. Procedura ma jeden trzon, który warto zapamiętać i powiesić obok playbooka:
Każda zmiana w playbooku musi mieć trzy rzeczy: metrykę, próg i datę kolejnej weryfikacji. Bez tego nie jest zmianą systemową, tylko notatką po emocjach.
Panika nie produkuje tego trojga — bo emocje nie znoszą dwóch tygodni czekania na próbę statystyczną. Między stratą a edycją playbooka musi stać blokada: data audytu, minimalne n, jeden parametr do zmiany i wpis w logu z metryką + progiem + datą weryfikacji. Bez tego będziesz co miesiąc handlował inną strategią, nawet jeśli nazwa pliku zostanie ta sama.
Mini-arkusz decyzyjny: czy wolno mi zmienić setup?
Cztery warunki muszą być spełnione jednocześnie, żeby zmiana setupu była audytem, nie paniką:
- Próbka: n ≥ 60 trade'ów dla setupu, lub n ≥ 30 z potwierdzeniem w kolejnym kwartale (zsumowane n ≥ 60 z dwóch kwartałów)
- Persistencja: expectancy poniżej progu „degradacji" (np. < +0,15R) przez 2 kolejne okresy audytu, nie pojedynczy słaby kwartał
- Czysta egzekucja: rule_breach < 8% w okresie. Jeśli łamałeś reguły, najpierw pracujesz nad egzekucją — setup nie ma szansy się udowodnić
- Uzasadnienie mikrostrukturalne: zmiana ma logiczny powód związany z rynkiem, brokerem albo reżimem („ATR pary wzrósł 2×, więc SL 1,5 ATR jest matematycznie zbyt ciasny"), nie powód narracyjny („ostatnio jakoś nie idzie")
Jeśli którykolwiek warunek odpada — nie zmieniasz setupu, tylko obserwujesz. Ten arkusz wisi obok playbooka. Trader, który chce zmienić parametr, najpierw wypełnia cztery komórki: tak/nie. Trzy „tak" to nie wystarczy. Cztery „tak" otwierają procedurę walk-forward (sekcja 4).
Minimalny pakiet danych do audytu
Bez tych pól audyt jest narracją, nie diagnostyką:
trade_id,data,para,setup_id,tier(A+/B/C),kierunekentry,SL,TP,exit,RMAE_R,MFE_R(max adverse / favorable excursion w R) — bez tych dwóch nie ocenisz, czy SL jest za ciasny czy TP za bliskislippage_pips— entry i exit, mediana per setuprule_breach0/1 — czy w trade'cie złamałeś którąkolwiek regułę playbookascreenshot_before,screenshot_after— zrzut wykresu z momentu decyzji i z momentu zamknięcia, do retrospektywnej rekonstrukcji setupu
Trader z tabelą Excel zawierającą tylko datę, parę, kierunek i wynik PLN nie ma materiału do audytu — ma archiwum transakcji. Pełna metodologia dziennika z 25 polami: artykuł 15.9.
2. Częstotliwość audytu — codziennie? tygodniowo? kwartalnie?
Nie wrzucaj do jednego worka dziennego logu, tygodniowego review i kwartalnej decyzji o systemie. To trzy różne narzędzia. Mieszanie ich kończy się tym, że po słabym wtorku kasujesz setup z playbooka. Pełna struktura ma pięć poziomów — każdy z inną częstotliwością, próbą danych i zakresem decyzji.
Poziom 1: Dziennie — tylko zapis
Codziennie po sesji: 10–15 minut. Nie podejmujesz decyzji o zmianach. Zapisujesz dane do dziennika: każdą transakcję (entry, exit, R-multiple, MAE, MFE, slippage), reżim rynku, jak się czułeś, czy złamałeś którąś z reguł. To jest budulec — bez codziennego zapisu nie masz materiału do żadnego wyższego poziomu audytu. Pełna metodologia w artykule 15.9.
Najczęstszy błąd: trader codziennie analizuje, dlaczego konkretna transakcja była stratna, i wyciąga z tego wnioski strategiczne. Pojedyncza transakcja nie ma wartości statystycznej — analizujesz ją tylko pod kątem egzekucji (czy zachowałeś się zgodnie z planem), nie pod kątem strategii (czy plan jest dobry).
Poziom 2: Tygodniowo — review, nie audyt
Niedziela wieczór, 30–45 minut. Pytania:
- Ile transakcji w tym tygodniu? W jakich setupach (A+/B/C)?
- Czy złamałem którąkolwiek regułę playbooka? Jeśli tak — czy to było uzasadnione warunkami, czy emocjami?
- Jaki był stan emocjonalny (skala 1–5) w trakcie sesji?
- Co było mocną decyzją tego tygodnia? Co było słabą?
Po 8 transakcjach nie wiesz nic o przewadze, ale możesz już wiedzieć, że przesuwasz SL bez procedury — czyli płacisz za emocje. Próba 5–15 transakcji to zero materiału do zmian strategicznych — jest materiał do korekty zachowania.
Poziom 3: Miesięcznie — metryki
Pierwszy weekend nowego miesiąca, 60 minut. Liczysz metryki za miesiąc:
- Liczba transakcji ogółem i per setup
- Win rate ogółem i per setup
- Expectancy w R per setup
- Maksymalna seria strat i zysków
- Maksymalny drawdown w miesiącu
- Mediana slippage SL i TP
- R/zł — ile zarobiłeś (lub straciłeś) per 1R ryzyka
Miesięczny audyt to zbieranie danych, nie podejmowanie decyzji o zmianach strategicznych. Próba 20–40 transakcji to wciąż za mało, żeby z dużą pewnością odróżnić edge od szumu. Decyzje miesięczne dotyczą wyłącznie egzekucji — np. „w tym miesiącu trzy razy złamałem regułę time-of-day, w przyszłym miesiącu używam wyłączania platformy poza godzinami".
Poziom 4: Kwartalnie — audyt strategiczny
Ostatnia niedziela kwartału, 90–120 minut. To jest właściwy audyt — moment, w którym rozważasz zmiany w strategii. Próba 60–120 transakcji daje już sensowną statystykę.
Pełen protokół 90-minutowy w sekcji 10 tego artykułu. Kluczowe pytania:
- Trzy pytania audytu (edge / reżim / egzekucja) — sekcja 3
- Kalibracja setupów A+/B/C — sekcja 4
- Zmiany w playbooku — maksymalnie jedna zmiana per setup per kwartał
Poziom 5: Rocznie — rewizja planu
Pierwszy weekend nowego roku, 4–8 godzin. Rewizja całego planu tradingowego:
- Czy moje cele finansowe są nadal realistyczne?
- Czy mój profil ryzyka się zmienił (życie prywatne, finanse, czas)?
- Czy strategia jako całość pasuje do mojego stylu życia?
- Czy chcę dodać nową klasę instrumentów / nowe rynki?
- Co zrobię z zarobionymi środkami (reinvestycja vs wypłata)?
- Czy mój wynik brutto = wynik netto po PIT-38? Dla rezydenta PL handlującego CFD/Forex wynik roczny trzeba oceniać po podatku, prowizjach, swapach i przewalutowaniu — nie tylko po equity curve z platformy
Dla rezydenta PL dochody kapitałowe są co do zasady rozliczane w PIT-38 według stawki 19%. Zysk brutto +28% nie jest tym samym co realny wynik netto po podatku, prowizjach, kosztach przewalutowania i ewentualnych różnicach kursowych. Przy brokerze zagranicznym warto sprawdzić zasady przeliczeń walut i kompensowania strat z księgowym lub doradcą podatkowym. To nie jest porada podatkowa.
Audyt roczny dla rezydenta PL powinien mieć osobną linię rozliczeniową — nie tylko equity curve z platformy. Format minimum:
| Pozycja | Wartość |
|---|---|
| Wynik brutto platformy (USD/EUR) | np. +12% × kapitał startowy |
| − Prowizje i swap (suma roczna) | np. −1,8% |
| − Koszt przewalutowania PLN ↔ USD przy wpłatach/wypłatach | np. −0,4% |
| = Wynik podatkowy w PLN (po przeliczeniu po kursie NBP) | np. +9,2% w PLN |
| − PIT-38 (19% od dodatniego dochodu) | np. −1,75% |
| = Wynik netto po wszystkich kosztach | +7,45% |
Strategia z +12% brutto i +5–7% netto po kosztach to nie jest ta sama strategia z punktu widzenia skalowania (sekcja 15.11). Decyzja o przejściu na większy rachunek opiera się na wyniku netto, nie na liczbach z platformy — bo to wynik netto będzie się skalował z kapitałem (a koszty stałe nieproporcjonalnie zżerają mniejsze rachunki).
Audyt roczny dotyka rzeczy strategicznych, które kwartalnie się nie zmieniają — kierunku rozwoju, alokacji kapitału między strategiami, decyzji o skalowaniu (więcej w artykule 15.11).
| Poziom | Częstotliwość | Czas | Próba danych | Cel |
|---|---|---|---|---|
| 1. Zapis | Dziennie | 10–15 min | 1 sesja | Logowanie danych, brak decyzji |
| 2. Review | Tygodniowo | 30–45 min | 5–15 trade'ów | Świadomość egzekucji |
| 3. Metryki | Miesięcznie | 60 min | 20–40 trade'ów | Zbieranie wskaźników |
| 4. Audyt strategiczny | Kwartalnie | 90–120 min | 60–120 trade'ów | Modyfikacje playbooka |
| 5. Rewizja planu | Rocznie | 4–8 godzin | 200–500 trade'ów | Strategiczny kierunek |
Wariant dla niskiej częstotliwości — swing trader z etatu
Pięć poziomów w wersji powyżej zakłada intraday lub aktywny swing z 60–120 trade'ami na kwartał. Trader na etacie handlujący swing/D1 na 3–5 parach generuje typowo 15–25 trade'ów na kwartał — to poniżej minimum do audytu strategicznego.
Twarda reguła: jeśli masz mniej niż 50 transakcji rocznie, nie udawaj kwartalnego audytu edge'u. Kwartalnie audytujesz tylko egzekucję, kompletność dziennika i zgodność setupów z playbookiem. Edge oceniasz rocznie albo po osiągnięciu ustalonego progu n. Próba 12 trade'ów na kwartał daje 95% CI dla WR rzędu ±28 punktów procentowych — każdy wniosek strategiczny z takiej próby jest losowością przebraną za diagnostykę.
- Częstotliwość < 30 trade'ów na kwartał — przesuń audyt strategiczny na cykl półroczny (minimum 40–50 trade'ów). Tygodniowy review ograniczony wyłącznie do egzekucji (złamane reguły? tak/nie), żadnej analizy statystycznej przy n < 30
- Częstotliwość < 30 trade'ów rocznie — audyt roczny, nie kwartalny. Alternatywa: zwiększ liczbę instrumentów lub zejdź na H4 zamiast D1, żeby generować 30+ sygnałów na kwartał przy tych samych setupach
- Wariant 90 minut dla etatu — jeśli niedziela 90 min bez przerw jest niewykonalna, podziel: sobota (30 min) na przygotowanie danych, niedziela (60 min) na trzy pytania + decyzje. Nie każdy ma 90 minut czystej koncentracji w niedzielę wieczorem po dwójce dzieci
3. Trzy pytania audytu: edge, reżim, egzekucja
Każdy kwartalny audyt zaczyna się od trzech pytań w stałej kolejności. Kolejność jest ważna — odpowiedź na pierwsze determinuje, czy ma sens zadawać drugie. Pomijanie kolejności = audyt traci moc diagnostyczną.
Pytanie 1: Czy edge nadal istnieje?
Edge (przewaga) to matematyczna oczekiwana wartość per transakcja netto. Mierzysz ją w R-multiple. Pytanie audytu nie brzmi „czy w tym kwartale zarobiłem", tylko „czy expectancy w out-of-sample tego kwartału jest dodatnia, w przedziale zgodnym z historyczną".
Przykład: WR 45%, avgWin 1,8R, avgLoss 1,0R → E = (0,45 × 1,8) − (0,55 × 1,0) = 0,81 − 0,55 = +0,26R per trade. Przy 80 trade'ach kwartalnie i ryzyku 200 PLN/trade oczekiwany zwrot kwartalny: 0,26 × 200 × 80 ≈ +4 160 PLN. Samo WR bez R-multiple jest metryką-placebo — WR 75% z avgWin 0,5R i avgLoss 2,5R = expectancy −0,25R (system stratny mimo wysokiego WR).
Expectancy liczysz netto: po spreadzie, prowizji, swapie, slippage i przewalutowaniu, jeśli rachunek lub raportowanie wyniku jest w PLN. Pełna metodologia R_netto vs execution_drag w artykule 15.9.
Reguła operacyjna: spread, prowizja i slippage muszą być wliczone w R każdego trade'u przed zamknięciem dziennika na dany dzień. Nie liczysz ich „raz w miesiącu" ani „w cyklu kwartalnym" — bo w systemach krótkoterminowych (intraday, scalping) to one zjadają edge najszybciej. Jeśli twój dziennik agreguje koszty osobno od R, a R liczysz na samym pricu wejścia/wyjścia, masz zafałszowany obraz expectancy — w wielu systemach intraday różnica między R brutto i R netto wynosi 0,1–0,3R per trade, czyli więcej niż połowa edge'u. Procedura: w arkuszu dziennika R_netto jest osobną kolumną wyliczaną automatycznie z formułą (exit − entry − koszty) / |SL − entry|. Audyt strategii operuje wyłącznie na R_netto.
Profit Factor vs Expectancy — którą metrykę kiedy stosować
Obie metryki opisują rentowność systemu, ale są wrażliwe na różne rzeczy:
- Expectancy (R) = średnia per trade w R-multiple. Stabilna na zbiorach 30–100 trade'ów, odporna na pojedyncze outliery
- Profit Factor (PF) = sumWins / |sumLosses|. Wrażliwy na pojedyncze duże wygrane — jeden trade +10R może podnieść PF o 0,5, podczas gdy expectancy wzrośnie o 0,1R
Reguła doboru: przy n < 50 preferuj expectancy, PF jest jeszcze niestabilny. Przy n > 100 sprawdzaj oba — jeśli PF > 1,5 ale expectancy < +0,2R, masz jedną dużą wygraną maskującą słaby edge. Sprawdź wtedy histogram R-multiple: jeśli rozkład ma długi prawy ogon (1–2 trade'y > +5R), edge jest pozorny i wynika z trafu.
SQN (System Quality Number) Van Tharpa — metryka uwzględniająca zmienność
Sama expectancy nie pokazuje, jak stabilny jest twój edge. System z expectancy +0,3R i SD(R) = 0,5 jest zupełnie inny niż system z expectancy +0,3R i SD(R) = 2,5. SQN to próba uwzględnienia zmienności:
gdzie n = liczba trade'ów w okresie. Skala interpretacyjna Van Tharpa:
- SQN < 1,0: system słaby, prawdopodobnie nie do utrzymania psychicznie
- SQN 1,0–1,6: poprawny system retail
- SQN 1,6–2,0: dobry system
- SQN 2,0–3,0: bardzo dobry system
- SQN > 3,0: ekstremalnie rzadki, sprawdź założenia (zwykle overfitting albo za mała próbka)
SQN jest wrażliwe na n — ten sam system na próbce 30 trade'ów ma niższe SQN niż na próbce 200, mimo że edge jest identyczny. Dlatego SQN porównujesz między systemami z podobną liczbą trade'ów, nie absolutną wartością.
Progi expectancy dla różnych typów strategii
Próg „expectancy OOS > +0,15R" jest punktem startowym dla typowego retail-FX swing/intraday z RR ≥ 1,5 (avgWin/avgLoss > 1,5). Dla innych typów strategii widełki są inne — nie dlatego że standardy są niższe, ale dlatego że struktura kosztów i wariancji jest inna:
- Swing/intraday z RR 1,5–2,5 — próg edge > +0,15R, próg degradacji +0,1R do +0,15R, próg usunięcia < +0,1R. Standardowe widełki z artykułu
- Trend-following z RR 3+ — próg edge może być niższy (+0,1R), bo gruby ogon zysków daje wysoką expectancy mimo niskiego WR (np. WR 35% × avgWin 4R = +0,4R, ale rzadkie outliery dominują). Większa wariancja wymaga więcej n do walidacji (200+ zamiast 60)
- Scalping i high-frequency (RR ~1, avgWin < 0,5R) — próg edge obniżony do +0,05R do +0,12R. Koszty transakcyjne (spread, prowizja) są strukturalnie wyższym procentem expectancy — trader scalpujący z +0,10R netto może mieć świetną strategię, która w widełkach swing wyglądałaby na umierającą. Dla scalpingu progi obniżasz proporcjonalnie do średniego R per trade, mniej więcej w stosunku 0,5–0,7× standardowych widełek
- Mean-reversion na zakresach (avgWin ~1R) — niska wariancja oznacza, że małe odchylenie OOS od IS to silny sygnał problemu. Próg edge +0,15R jak swing, ale degradacja czulsza: drugi kwartał poniżej +0,15R to już sygnał
Reguła: dostosuj progi do swojego avgWin/avgLoss zanim wpiszesz je do playbooka. Standardowe widełki z artykułu są dobre dla 70–80% retail-FX, ale 20–30% strategii potrzebuje innej kalibracji.
Poniższe progi są bezpiecznikami operacyjnymi, nie dowodem statystycznym. Ich zadanie: zatrzymać impulsywne decyzje, nie udowodnić, że edge umarł. Każdy próg wymaga kalibracji pod konkretną strategię, koszty i wariancję — podane wartości są punktem startowym dla retail-FX z avgWin/avgLoss w okolicach 1,5–2,0R.
- Expectancy OOS > +0,15R: edge nadal istnieje, idziesz do pytania 2
- Expectancy OOS w przedziale −0,1R do +0,15R: edge zanika lub jest w martwej strefie. Wymaga drugiego kwartału obserwacji, w międzyczasie redukcja sizingu o 30–50%
- Expectancy OOS < −0,1R: edge zniknął. Stop strategii — wraca do backtestu lub archiwum. Nie modyfikuj parametrów w realnym handlu
Minimalne n i przedziały ufności — kiedy wnioski są legalne
30 trade'ów to minimum techniczne, nie komfort statystyczny. Skala decyzji ma odpowiadać skali próby:
- n < 30 — zakaz decyzji strategicznych. Każda liczba ma 95% CI tak szerokie, że obejmuje zarówno „edge istnieje" jak i „edge ujemny"
- n 30–60 — tylko obserwacja, ewentualnie redukcja sizingu o 25–30% jako profilaktyka
- n 60–100 — decyzje ostrożne (degradacja tieru, redukcja sizingu o 50%)
- n 100+ — pełniejsza kalibracja, w tym usunięcie setupu z playbooka
- setupy o niskiej częstotliwości (5–10/mies.) — obowiązkowo licz bootstrap CI dla średniego R; bez tego twoje 50 trade'ów przez rok to szum
Kluczowe zastrzeżenie: pojedynczy kwartał z expectancy −0,1R przy historycznej +0,4R nie znaczy, że strategia umarła. Wahania kwartalne expectancy są naturalne — strategia z prawdziwym edge'em +0,3R będzie miała kwartały z +0,5R i kwartały z +0,1R. Dopiero dwa kolejne kwartały z expectancy poniżej historycznej mediany minus 1 odchylenie standardowe to sygnał, że edge zanika.
Bootstrap CI dla expectancy — instrument zamiast słowa-klucza
Sześć transakcji to nie próbka. To sześć zdarzeń, z których ego próbuje zrobić wyrok. Aby wiedzieć, czy twoja zmierzona expectancy z dziennika to edge czy szum, robisz bootstrap CI:
- Bierzesz wektor R-multiple z dziennika (np.
r_vec = [+1,8; −1,0; +0,3; −1,0; +2,1; −1,0; ...], długość np. 50) - Losujesz z niego z powtórzeniami 1000 próbek po tej samej długości (50)
- Liczysz średnią (expectancy) każdej próbki — dostajesz wektor 1000 expectancies
- Sortujesz, odczytujesz percentyl 5 i 95 — to twój 90% przedział ufności
W Pythonie to dosłownie jedna linia:
np.percentile([np.mean(np.random.choice(r_vec, len(r_vec), replace=True)) for _ in range(1000)], [5, 95])
Reguła: jeśli przedział obejmuje 0, nie masz statystycznego potwierdzenia edge'u, niezależnie od tego, że średnia z dziennika wynosi +0,18R. Próba jest za mała, żeby odróżnić edge od szczęścia. Reakcja: kolejny kwartał obserwacji bez zmian, sizing bazowy.
Pytanie 2: Czy reżim rynku się zmienił?
Strategia może mieć dodatnią expectancy historycznie, ale słabnąć w bieżącym kwartale, bo rynek nie jest taki, jaki był. To nie jest wina strategii — to jest mismatch reżimu. Sprawdzasz sześć wskaźników:
| Wskaźnik | Norma historyczna | Sygnał regime change |
|---|---|---|
| ATR(14) D1 vs średnia 90 dni | 0,7×–1,3× średniej | > 1,5× średniej przez 2+ tygodnie albo < 0,5× przez 4+ tygodnie |
| ADX(14) D1 | Setup trend: ≥ 25; setup mean-reversion: < 20 | ADX poza wymaganym przedziałem przez 50%+ czasu w kwartale |
| VIX (proxy ryzyka systemowego) | 12–22 | VIX > 25 lub < 11 przez 3+ tygodnie |
| DXY zmiana 90D | ±5% | Zmiana > ±8% w 90 dni (silny trend USD) |
| Spread bid-ask na głównych parach | 0,5–1,2 pipsa (EUR/USD) | Mediana > 1,8 pipsa przez 2+ tygodnie |
| Decyzje banków centralnych | Zgodne z konsensusem analityków | 3+ decyzji niezgodnych z konsensusem w kwartale (regime change polityki monetarnej) |
Nota dla mean-reversion: odwróć interpretację ATR i ADX. Niski ATR przez 4+ tygodnie albo ADX > 30 (silny trend) to sygnał regime change u mean-reversion, nie wysoki ATR. Reżim niesprzyjający to martwy rynek bez odchyleń (mean-reversion nie ma czego „cofać") albo silny trend jednokierunkowy bez powrotów do średniej.
Jeśli 2+ wskaźniki sygnalizują regime change — strategia nie jest zepsuta, ale rynek nie pasuje. Reakcja: redukcja sizingu o 30–50% i czekanie na normalizację. Czasem wystarczy kwartał–dwa, czasem reżim trwa rok lub dłużej (przykłady: ujemne stopy ECB 2014–2022, post-COVID inflacja 2021–2024). Nie prognozujesz długości — kwartalnie sprawdzasz, czy warunki wróciły do zakresu, w którym system historycznie miał dodatnie R_netto. Po normalizacji wracasz do bazowego sizingu bez modyfikowania parametrów strategii.
Pytanie 3: Czy zepsuła się egzekucja?
Najbardziej brutalne pytanie. Jeśli edge istnieje, reżim jest normalny, a wyniki spadają — problem jesteś ty, nie strategia. Diagnostyka:
- Mediana slippage na zleceniach wejścia, SL i TP — osobno. Szczególnie ważne porównanie SL vs TP: jeśli SL dostaje średnio gorsze wykonanie niż TP (asymetria slippage 0,3 pipsa+), execution drag może zjadać expectancy bez twojej wiedzy. Wzrost mediany slippage > 50% względem historycznej? Zmieniłeś brokera, ECN, profil dostępności? Czy handlujesz w godzinach niskiej płynności?
- % transakcji złamanych regułami — historycznie 5%, aktualnie 18%? Pomijasz reguły, modyfikujesz SL w trakcie pozycji, wcześniej zamykasz?
- Mediana czasu od trigger'a do entry — w kwartale wzrosła z 8 sekund do 25 sekund? Wahasz się przy każdej decyzji?
- Stosunek setupów A+ do B/C w aktualnym handlu — historycznie 60% A+, aktualnie 30%? Handlujesz B/C, bo „muszę coś zrobić" — to FOMO, nie egzekucja systemu
Egzekucja jest niewygodna, bo dziennik zwykle pokazuje rzeczy, których trader nie chce widzieć: wcześniejsze zamknięcia, przesunięte SL, B-setupy udające A+ i wejścia z nudów. Bez dziennika nie odpowiesz na pytanie 3 — odpowiesz na pytanie „jak się czuję, że trzymam się reguł", a to jest pytanie inne.
4. Kalibracja playbooka A+/B/C — degradacja, awans, usunięcie
Playbook nie jest dokumentem stałym. Kwartalnie kalibrujesz każdy setup według mierzalnych progów — bo bez kalibracji A+ z czasu jego dodania powoli przestaje być A+, a jego sąsiad B może rosnąć w siłę bez awansu. Po 8 kwartałach bez kalibracji playbook ma 12 setupów, z których 4 są martwe, 5 średnie, a 3 wyciągają wyniki — ale handlujesz wszystkimi po równo.
Cztery decyzje audytu setupu
Po każdym kwartale każdy setup z playbooka dostaje jedną z czterech decyzji:
- Trzymaj — setup w normie, brak zmian
- Awans — setup z B awansuje do A+ (lub z C do B)
- Degradacja — setup z A+ spada do B (lub z B do C)
- Usunięcie — setup wychodzi z playbooka, archiwum
Decyzja podejmowana wyłącznie na danych z minimum 2 kolejnych kwartałów. Pojedynczy słaby kwartał = trzymaj, obserwuj. Dwa kolejne słabe kwartały = degradacja. Dwa kolejne w martwej strefie = usunięcie.
Tabela kryteriów kalibracji
| Aktualny tier | Expectancy w 2 kwartałach | Decyzja |
|---|---|---|
| A+ | ≥ +0,4R | Trzymaj jako A+ |
| A+ | +0,25R do +0,4R przez 2 kwartały | Trzymaj, obserwuj — graniczny |
| A+ | +0,1R do +0,25R przez 2 kolejne kwartały | Degradacja do B |
| A+ | < +0,1R przez 2 kolejne kwartały | Usunięcie z playbooka |
| B | ≥ +0,4R przez 2 kolejne kwartały | Awans do A+ |
| B | +0,1R do +0,4R | Trzymaj jako B |
| B | < +0,1R przez 2 kolejne kwartały | Usunięcie z playbooka |
| C | ≥ +0,3R przez 2 kolejne kwartały | Awans do B |
| C | < +0,05R przez 2 kolejne kwartały | Usunięcie z playbooka |
Heatmapa playbooka — wizualizacja kondycji setupów
Tabela diagnostyczna per setup, którą generujesz raz na kwartał:
| Setup | Tier | n | WR | avgWinR | avgLossR | Expectancy | PF | Max DD | % rule breach | Decyzja |
|---|---|---|---|---|---|---|---|---|---|---|
| LON Open Breakout | A+ | 34 | 56% | +1,8R | 1,0R | +0,57R | 2,3 | −6,1% | 5% | Trzymaj |
| NY Reversal | A+ | 22 | 45% | +1,4R | 1,0R | +0,18R | 1,25 | −4,8% | 9% | Degradacja do B (drugi kwartał w przedziale +0,1R do +0,25R) |
| Asia Range | B | 18 | 61% | +1,1R | 1,0R | +0,28R | 1,72 | −3,2% | 3% | Trzymaj jako B (n < 30 — obserwacja) |
| News Fade | B | 36 (suma 2 kwartałów) | 39% | +1,5R | 1,0R | −0,03R | 0,95 | −5,4% | 15% | Usunięcie z playbooka (drugi kwartał z rzędu poniżej +0,1R, łączne n ≥ 30) |
Podział kolorów (gdy używasz arkusza): zielony — expectancy > +0,3R + rule breach < 8%, żółty — expectancy 0,1–0,3R lub rule breach 8–15%, czerwony — expectancy < 0,1R lub rule breach > 15%. Setup z dwoma kolejnymi czerwonymi kwartałami — usunięcie. Heatmapa to nie ozdoba; w 30 sekund pokazuje, na które setupy kapitał płynie marnie.
Walk-forward — procedura dla każdej zmiany setupu
Każda zmiana parametru (SL multiplier, próg ATR, filtr godzinowy itp.) przechodzi przez trzy fazy — inaczej „kalibracja" zamienia się w overfitting z lepszym PR-em:
- Backtest in-sample — na danych historycznych, na których kalibrujesz parametr. Cel: znaleźć wartość, która maksymalizuje expectancy. Im więcej parametrów optymalizujesz naraz (np. SL, TP, RSI, MACD, godziny, filtry trendu), tym łatwiej dopasować krzywą do historycznego szumu — ograniczenie przestrzeni parametrów do 1–2 zmiennych per audyt to wentyl bezpieczeństwa. Backtestowanie 6 parametrów naraz przy 10 wartościach każdego = milion kombinacji, z których statystycznie zawsze znajdzie się „genialna" w historycznych danych i bezużyteczna w forward
- Walidacja out-of-sample — na danych nieużytych do kalibracji (minimum 30% próby zarezerwowane na OOS). Jeśli expectancy OOS jest niższa niż 70% wartości in-sample — mamy overfitting, nie kalibrację. Wracasz do tablicy
- Forward na obniżonym sizingu — 20–30 transakcji live z sizingiem 50% bazowego. Dopiero po pozytywnej walidacji forward przywracasz pełen sizing
Trader, który robi tylko fazę 1 i wprowadza parametr na real, często nie handluje kalibracją, tylko overfittingiem. Walk-forward jest niewygodny — wymaga cierpliwości i podziału danych — ale to jedyna procedura, która chroni przed iluzją „lepszej wersji".
Sizing według tieru
Sizing nie jest jednolity dla wszystkich setupów — zależy od tieru:
- A+: pełny sizing (np. 1% kapitału per trade)
- B: redukcja 50% (np. 0,5% kapitału per trade)
- C: redukcja 70% lub całkowite pominięcie (np. 0,3% lub zero)
To matematycznie chroni kapitał: setup A+ z expectancy +0,4R przy sizingu 1% generuje oczekiwany zwrot 0,4% per trade. Setup B z expectancy +0,2R przy sizingu 0,5% generuje 0,1% per trade. Nie każdy setup ma prawo do tego samego ryzyka. Jeśli B zarabia połowę tego, co A+, a bierze pełny sizing, to nie zarządzasz kapitałem — subsydiujesz słabsze pomysły pieniędzmi z dobrych.
Zasada „nie awansujesz po 1 kwartale"
Pojedynczy świetny kwartał B (np. expectancy +0,55R) nie skutkuje awansem do A+. Powód: pojedynczy kwartał to próba 30–60 transakcji, gdzie wahania są naturalne. Jeden kwartał +0,55R może być zwykłym górnym ogonem rozkładu — następny kwartał wraca do +0,15R. Awans po dwóch kolejnych kwartałach odsiewa szczęście od trwałego edge'u.
Ta sama zasada w drugą stronę: pojedynczy słaby kwartał A+ (np. expectancy +0,1R przy historycznej +0,5R) nie powoduje degradacji. Czekasz na drugi kwartał. Jeśli drugi też jest słaby — degradacja. Jeśli drugi jest mocny — wahanie zostaje wahaniem.
Wykres syntetyczny ilustrujący efekt rozcieńczania edge'u: te same dane, dwa playbooki. Pełna lista 14 setupów — max DD −22% i wynik +9% rocznie. Po audycie kwartalnym: 10 setupów wyrzuconych do archiwum, sizing 4 najlepszych zwiększony — max DD spada do −12%, wynik rośnie do +28%. Najmocniejszy operacyjny argument za regularnym audytem: usuwanie setupów daje większą wartość niż dodawanie nowych.
5. Protokół adaptacji po głębokim drawdownie (> −15%)
Dwie strategie z tym samym WR i expectancy mogą mieć zupełnie inne ryzyko głębokiego drawdownu, jeśli różnią się rozkładem R, ogonami strat i sekwencjonowaniem zwycięstw. Dlatego — zamiast cytować ogólne procentowe szanse z literatury — Monte Carlo robisz na własnym wektorze transakcji, nie na średnich z tabeli. DD > 15% w trakcie 100 trade'ów jest dla wielu zdrowych strategii detalu zdarzeniem oczekiwanym co kilka kwartałów, nie awarią systemu — ale dokładny percentyl wyciągasz z własnych danych, nie z reguły kciuka.
Monte Carlo dla własnej strategii — jak to policzyć
Procedura: bierzesz wektor R-multiple z dziennika (minimum 100 trade'ów), losujesz 1000 ścieżek po 100 trade'ów (bootstrap z powtórzeniami), liczysz max DD i czas powrotu do equity high dla każdej ścieżki. Histogram max DD pokazuje rozkład tego, czego możesz się spodziewać.
Wynik symulacji zapisujesz jako tabelę percentyli. Poniżej przykład syntetyczny dla strategii z expectancy +0,3R, WR 52%, sizing 1% — liczby pokazują format raportu, nie benchmark dla wszystkich strategii (realne wartości zależą od rozkładu R, ogonów, sekwencji strat i sizingu twojego konkretnego systemu):
• mediana max DD: −11,8%
• 75-percentyl: −15,6%
• 90-percentyl: −21,4%
• 95-percentyl: −26,9%
• max time under water (95%): 63 trade'y
Interpretacja: jeśli ten 95-percentyl wynosi −26,9%, sizing 1% jest na granicy — co dwadzieścia historii konto schodzi do strefy „awaryjnej" (> −20%). Bezpieczny sizing dla tego systemu to 0,7% (przy liniowej skali ryzyka 95-percentyl spada do około −19%). Jeśli twój dziennik daje 95-percentyl > −15%, sizing 1% jest komfortowy. Bez Monte Carlo trader myli „mój największy DD dotąd" z realnym ryzykiem systemu — a to dwie różne liczby.
Konkretny szablon do policzenia Monte Carlo
Procedura w Pythonie — 5 linii kodu, wymagana tylko biblioteka NumPy:
import numpy as npr_vec = np.array([...]) # twoje R-multiple z dziennika, np. 200 wartościpaths = np.random.choice(r_vec, size=(10000, 100), replace=True) # 10k ścieżek po 100 trade'ówequity = np.cumsum(paths * 0.01, axis=1) # sizing 1%, uproszczona wersja liniowamax_dd = np.min(equity - np.maximum.accumulate(equity, axis=1), axis=1) # max DD per ścieżkaprint(np.percentile(max_dd, [50, 75, 90, 95])) # percentyle DD
Uwaga: kod powyżej używa skalowania liniowego (każdy 1R = 1% startowego kapitału, niezależnie od bieżącej equity). Dla pełnej dokładności przy długich ścieżkach albo dużych zmianach equity warto użyć wersji multiplikatywnej (kapitalizacja: 1R = 1% bieżącej equity, nie startowej). Różnica zwykle nie zmienia decyzji przy krótkich 100-trade'owych ścieżkach, ale przy długich symulacjach (500+ trade'ów) i strategii o dużym wzroście lub spadku kapitału może być zauważalna — warto wtedy zainwestować w wersję multiplikatywną.
W Excelu / Google Sheets (mniej eleganckie, ale działa bez Pythona). Procedura w 5 krokach — kluczowy jest poprawny running max dla max DD:
- Krok 1: Kolumna A: R-multiple z dziennika (np. komórki A1:A200)
- Krok 2 (bootstrap): Kolumna B (wiersze 1–100):
=INDEX($A$1:$A$200; RANDBETWEEN(1; 200))— 100 wylosowanych R-multiple z powtórzeniami - Krok 3 (equity): Kolumna C: C1 =
=B1*0,01; C2 ==C1 + B2*0,01rozszerzone do C100 — cumulatywne equity (sizing 1%) - Krok 4 (running max): Kolumna D: D1 =
=C1; D2 ==MAX(D1; C2)rozszerzone do D100 — krocząca wartość maksymalna equity - Krok 5 (drawdown + max DD): Kolumna E:
=C1-D1rozszerzone do E100 (drawdown w każdym punkcie); komórka F1:=MIN(E1:E100)— max DD dla tej ścieżki - Powtórzenie: F9 odświeża losowanie. Skopiuj wartość F1 do osobnej kolumny G po każdym F9 (lub użyj Data Table). 100–1000 powtórzeń, posortuj kolumnę G, weź percentyle 50/75/90/95
Najczęstszy błąd: liczenie MIN(equity) - MAX(equity) jako max DD. To daje różnicę globalną minimum–maksimum, ignorując kolejność. Prawdziwy max DD wymaga running max (kroczącej kolumny D), bo drawdown z definicji liczy spadek od ostatniego peak'u, nie od jakiegoś późniejszego maksimum.
Bootstrap CI dla samego expectancy (nie DD): ten sam pomysł, ale liczysz np.mean dla każdej ścieżki zamiast max DD. Percentyl 5 i 95 to twój 90% przedział ufności dla expectancy. Jeśli przedział obejmuje 0 — nie masz statystycznego potwierdzenia edge'u, niezależnie od średniej z dziennika.
Trzy fazy protokołu post-DD
| Faza | Próg DD | Akcja |
|---|---|---|
| Wczesne ostrzeżenie | −10% do −12% | Audyt poza kalendarzem: trzy pytania (edge/reżim/egzekucja). Bez zmian sizingu. Tylko diagnostyka. |
| Strefa ryzyka | −12% do −15% | Redukcja sizingu o 30%. Tylko setupy A+, eliminacja B i C. Audyt z mentorem lub partnerem. |
| Strefa krytyczna | −15% do −20% | Redukcja sizingu o 50%. Tylko 1 najlepszy setup A+. Stop wszelkim modyfikacjom strategii. Pauza 24h przed każdą decyzją. |
| Strefa awaryjna | > −20% | Stop pełny, minimum tydzień bez handlu. Rewizja całego planu. Konsultacja zewnętrzna. |
Reguła powrotu — kiedy wracasz do bazowego sizingu
Po redukcji sizingu w strefie ryzyka lub krytycznej, powrót do bazowego sizingu następuje po odrobieniu połowy DD. Przykłady:
- DD osiągnął −15%, sizing zredukowany o 30%. Konto wraca do −7,5% — przywracasz sizing 100%.
- DD osiągnął −20%, sizing zredukowany o 50%. Konto wraca do −10% — przywracasz sizing 100%.
- DD osiągnął −25%, sizing zredukowany o 50% i tylko 1 setup. Konto wraca do −12,5% — najpierw rozszerzasz do 2–3 setupów (nadal sizing 50%), potem po dalszych +5% przywracasz sizing 100%.
Zasada „odrobione pół" jest kluczowa, bo odrobienie pełne wymaga znacznie więcej zysków matematycznie (DD −20% wymaga +25% zwrotu, nie +20%, żeby wrócić do bazowego). Czekanie na pełne odrobienie zanim wrócisz do bazowego sizingu = zbyt długie ograniczenie zwrotu. Połowa to kompromis między ostrożnością a realizmem matematycznym.
Najczęstszy błąd po DD — overcorrection
Po DD −18% trader jest tak przerażony, że redukuje sizing o 80% i handluje tylko jednym setupem przez 6 miesięcy. To jest overcorrection — strach blokuje powrót do normalnej operacji nawet po normalizacji. Wynik: niski zwrot na bazie kapitału, frustracja, wreszcie skok do pełnego sizingu w niewłaściwym momencie i kolejna katastrofa.
Reguła: redukcja sizingu jest tymczasowa. Ma kalendarz powrotu zdefiniowany przed redukcją. Jeśli „tymczasowo" trwa dłużej niż 3 miesiące — to nie jest tymczasowo, to jest nowa rzeczywistość, która wymaga innej strategii.
Co NIE robić po głębokim DD
- Nie zwiększaj sizingu, żeby „odrobić szybciej" — to droga do margin call. Klasyczny błąd: −15% DD, trader chce wrócić do 0 w miesiąc, podnosi sizing z 1% do 2,5%. Podnosi nie tylko tempo odrabiania strat, ale też tempo wejścia w kolejny, głębszy drawdown — matematycznie zwiększa ryzyko ruiny szybciej, niż emocjonalnie zakłada
- Nie zmieniaj strategii w trakcie DD — emocje są zbyt silne, żeby ocenić obiektywnie. Najpierw stabilizacja, potem audyt
- Nie szukaj „innych strategii", które „lepiej działają teraz" — to chasing performance, droga przez piasek. Strategia, która działa „teraz", często przestanie działać, gdy do niej dojdziesz
- Nie handluj na pożyczonym kapitale — uzupełnianie konta po DD pożyczką lub kredytem to początek spirali, w której każda strata generuje kolejne zobowiązania finansowe
6. Protokół adaptacji po serii zysków — overconfidence i lift sizing trap
Po serii zysków wielu traderów zwiększa ekspozycję — czasem przez większy sizing, częściej przez częstsze wejścia, gorszą selekcję setupów albo trzymanie pozycji dłużej niż reguły. To praktyczny wariant overconfidence: dobry okres zamienia się w zgodę na słabszy proces. Mechanizm pasuje do szerszej obserwacji z literatury akademickiej dotyczącej rachunków detalu (Barber & Odean[13]): nadmierny obrót u detalu idzie w parze z gorszymi wynikami. Efekt nazywany jest lift sizing trap; potrafi zniszczyć dobry system szybciej niż zły reżim rynkowy, bo pojawia się wtedy, gdy trader czuje się najbezpieczniej.
Lift sizing trap — najgroźniejszy efekt
Po serii zysków najczęstszy ruch detalu to podniesienie sizingu „bo czuję, że teraz jest dobry moment". Z 1% per trade na 1,5%, potem na 2%, potem „okazja stulecia" 4%. Pierwszy duży SL niszczy wszystkie zyski serii i wprowadza w drawdown. To jest lift sizing trap.
Konkretna kalkulacja (policz na własnym dzienniku, nie na ogólnej regule). Definicja: 1R = ryzyko per trade, w R-multiple to przekłada się 1:1 na „procent kapitału ryzykowany". Jeśli sizing wynosi 1,5%, to 1R straty = 1,5% kapitału, 4R straty (rozszerzony SL przez gap, slippage, modyfikacja w trakcie pozycji) = 6% kapitału. Przy sizingu 4% jedna strata 4R = 16% kapitału w jednej transakcji.
Konsekwencja dla serii zysków: jeśli po 5 zwycięskich transakcjach wchodzisz z sizingiem 1,5× bazowego (1,5%) i trafiasz w stratę 1R — tracisz 1,5% zamiast 1%. Na 5 wcześniejszych zwycięstwach przy avgWin 1R i sizingu 1% skumulowane zyski wyniosły około 5%. Jedna stratna transakcja z podwyższonym sizingiem oddaje 1,5% — 30% wcześniejszego zysku w jednym ruchu. Gorszy scenariusz: przy sizingu 4% i stracie 4R (gap, modyfikacja SL, slippage) jedna transakcja zabiera 16% kapitału — więcej niż całkowicie kasuje 14 wcześniejszych wygranych z eskalującym sizingiem. Dokładne liczby zależą od twojej strategii, sizingu bazowego i avgWin/avgLoss — policz to na własnych danych, nie sugeruj się ogólnymi statystykami.
Reguła stałego sizingu — kotwica
Twoja kotwica: sizing nie zmienia się w odpowiedzi na ostatnie wyniki. Sizing ma dwie wartości:
- Bazowy — np. 1% kapitału per trade dla A+, 0,5% dla B
- Skorygowany — w sytuacjach szczególnych (drawdown, regime change) — z konkretnym kalendarzem powrotu
Korekta sizingu w górę po serii zysków = nie ma takiej decyzji. Jest jeden mechanizm zwiększania sizingu: wzrost kapitału. Jeśli zarobiłeś 10% w kwartale, twój kapitał wzrósł o 10%, więc 1% z większego kapitału to nominalnie więcej pieniędzy. To jest właściwa droga skalowania — nie podnoszenie procentu, tylko wzrost bazy.
Trzy efekty po serii zysków, które trzeba neutralizować
| Efekt | Przejaw | Neutralizacja |
|---|---|---|
| Overconfidence | „Czuję, że teraz wiem" | Po serii 5+ zwycięstw — pauza 1 dzień, audyt egzekucji w dzienniku |
| Lift sizing trap | Chęć podniesienia % per trade | Sztywna reguła: sizing stały do następnego kwartalnego audytu |
| Setup-bloat | Wchodzenie w setupy B/C, które wcześniej pomijałeś | Lista setupów A+ zamknięta, B/C wymaga pełnego procesu walidacji |
| Time-extension | Trzymanie pozycji dłużej niż reguły, „bo idą dobrze" | Maksymalny czas trzymania = reguła sztywna, niezależna od wyniku |
| Frequency-bloat | Wchodzenie częściej („teraz mi się chce") | Dzienny limit trade'ów ze planu — bez wyjątków po dobrym dniu |
Praktyczne wskaźniki, kiedy zacząć ostrożnie
- 5+ zwycięstw z rzędu (statystycznie umiarkowanie częste, ale psychologicznie destabilizujące)
- Tygodniowy zwrot > 2× średniej historycznej (np. zwykle +1,5%, w tym tygodniu +4%)
- Stosunek setupów A+ do B/C w aktualnym handlu < historycznej (np. zwykle 60:40, teraz 40:60 — handlujesz coraz więcej B, „bo wszystko działa")
- Czas między trade'ami spada — wchodzisz częściej
- Jeśli po serii zysku zaczynasz tłumaczyć innym, jak działa rynek — sprawdź w dzienniku swój sizing z ostatnich 7 dni. Prawdopodobnie już rośnie
Wykres syntetyczny ilustrujący mechanikę lift sizing trap: trader buduje 14 wygranych z rosnącym sizingiem (1% → 1,5% → 2% → 4%), equity rośnie do +18%. Pierwsza statystycznie spodziewana strata na sizingu 4% (np. rozszerzony SL 2R z powodu slippage'u na newsie albo modyfikacji w trakcie pozycji) kasuje −8% w jednej sesji — cofając konto do +10% i zżerając niemal połowę dotychczasowego zysku. Pełnoskalowa strata 4R przy tym samym sizingu (gap weekendowy, awaria platformy, panika) zabrałaby −16% — w 2 transakcjach kasuje całą serię 14 wygranych. Gdyby trader trzymał stały sizing 1% przez wszystkie 15 transakcji, ta sama sekwencja dałaby około +13% finalnie po jednej stracie 1R. Eskalacja sizingu nie zwiększyła zwrotu, tylko ekspozycję na pierwszą stratę — matematyka serii zysku jest asymetryczna w drugą stronę niż matematyka drawdownu.
7. Regime change — sygnały, że system już nie pasuje do rynku
Reżim rynku to charakterystyka statystyczna środowiska — średnia zmienność, kierunkowość, korelacje, behavior banków centralnych, płynność. Reżimy się zmieniają, czasem w ciągu tygodni, czasem w ciągu lat. Strategia zbudowana na reżimie A nie będzie działać w reżimie B — to nie wina strategii, tylko mismatch.
Sześć sygnałów regime change
- ATR (zmienność) poza normą historyczną. ATR(14) D1 > 1,5× średniej 90-dniowej przez 2+ tygodnie albo < 0,5× przez 4+ tygodnie. Strategie volatility-breakout dostają zbyt dużo sygnałów (false breakouts), strategie mean-reversion zbyt mało okazji
- ADX (kierunkowość) chronicznie poza progiem. ADX D1 < 18 przez kwartał oznacza brak trendów — strategie trend-following umierają. ADX D1 > 30 przez kwartał oznacza silne trendy — mean-reversion umiera
- VIX (ryzyko systemowe) poza pasmem. VIX > 25 przez 3+ tygodnie = stres systemowy, podnoszą się korelacje walut, tradycyjne reguły mogą się załamać. VIX < 11 = przereagowanie volatilityowe, tłumione ruchy
- DXY w silnym trendzie. Zmiana DXY > ±8% w 90 dni = silny ruch USD, który dominuje cross-currency. Strategie na cross-pairs (EUR/GBP, AUD/JPY) dostają nietypowe sygnały
- Decyzje banków centralnych poza konsensusem. 3+ decyzje BC w kwartale niezgodne z konsensusem analityków = polityka monetarna zmienia kierunek nieprzewidywalnie. Strategie carry trade i strategie oparte na różnicy stóp procentowych mogą się załamać
- Mediana spread'u rośnie strukturalnie. Bid-ask na EUR/USD historycznie 0,7 pipsa, aktualnie mediana 1,5 pipsa? To sygnał, że płynność rynku się zmienia (np. nowa regulacja, zmiana liczby uczestników). Strategie scalping i intraday najpierw odczuwają ten efekt
Co robić, gdy reżim się zmienia
Trzy poziomy reakcji:
| Liczba sygnałów regime change | Diagnoza | Reakcja |
|---|---|---|
| 0–1 sygnał | Normalne wahania, brak prawdziwego regime change | Trzymaj kurs, audyt kwartalny bez zmian |
| 2 sygnały | Możliwy regime change, jeszcze niepotwierdzony | Redukcja sizingu o 25%, obserwacja przez kwartał |
| 3+ sygnały | Regime change potwierdzony | Redukcja sizingu o 50%, audyt strategii — które setupy są reżim-zależne (więcej dotknięte) vs reżim-niezależne (mniej dotknięte) |
| Ekstremalne (np. covid, geopolityczny szok) | Reżim awaryjny | Stop strategii na 2–4 tygodnie, czekaj na stabilizację, potem rewizja |
Ile trwa regime change?
W praktyce regime change może trwać od kilku tygodni do wielu kwartałów. Krótszy efekt to zwykle szok (np. polityczny lub natural disaster) — wraca do normy w ciągu tygodni. Dłuższy efekt to zmiana strukturalna (nowa polityka monetarna, zmiana mikrostruktury rynku, długi cykl makro), która potrafi utrzymać się przez wiele lat. Dlatego nie prognozujesz długości reżimu — sprawdzasz wskaźniki kwartalnie i adaptujesz sizing do warunków bieżących, bez próby zgadywania, „kiedy się skończy".
Strategie reżim-niezależne vs reżim-zależne
Niektóre strategie są mniej wrażliwe na regime change — ale dla większości polskiego retail-CFD są też trudne do wykonania i kosztowo wrażliwe:
- Reżim-niezależne (teoretycznie): news trading na publikacjach makro, strategie strukturalne typu weekend gap, korekty kalendarzowe. Praktyka detalu: news trading wymaga niskolatencyjnej egzekucji i tolerancji na rozszerzony spread; weekend gap u brokera CFD jest często wycinany przez politykę slippage i podniesione marże w piątek; arbitraż statystyczny wymaga infrastruktury, której detal nie ma. Zanim wpiszesz „reżim-niezależne" do playbooka, sprawdź realne koszty i egzekucję na własnym brokerze
- Reżim-zależne: trend-following (zależne od ADX), mean-reversion (zależne od stabilności pasma cenowego), volatility-breakout (zależne od ATR), carry trade (zależne od stóp i polityki BC) — to standardowy materiał detalu
Realistyczny portfel detalu to 70–90% strategii reżim-zależnych dopasowanych do aktualnego reżimu, plus ewentualnie 10–20% drugiej klasy strategii zależnej, ale o przeciwnej charakterystyce (np. trend-following + mean-reversion intraday). „Reżim-niezależne" jest częściej mitem marketingowym niż realną opcją dla retail-CFD — szczególnie po kosztach.
Historyczny przykład regime change — 2014–2016
Klasyczny przykład regime change na FX: lata 2014–2016. Punkt wyjścia (2010–2013): EUR/USD w paśmie 1,20–1,40, ATR D1 średnio 75 pipsów, strategie mean-reversion działały. Punkt zwrotu: czerwiec 2014 — ECB schodzi do ujemnych stóp po raz pierwszy w historii. EUR/USD w trendzie spadkowym z 1,40 do 1,05 w 9 miesięcy, ATR D1 podwojony, ADX D1 chronicznie powyżej 30. Strategie mean-reversion umierały — każde wejście „na cofkę" było wybijane. Trader bez audytu reżimu trzymał mean-reversion z sizingiem bazowym przez 2014–2015 (typowy efekt −25% do −40%). Trader z audytem zauważył w Q3 2014, że 4 z 6 wskaźników pokazują regime change, zredukował sizing mean-reversion o 50%, zwiększył alokację trend-following. Regime change wymaga aktywnej reakcji, nie pasywnego czekania.
Kalibracja progów regime change pod twoją strategię
Sześć powyższych progów to standardowe punkty startowe, nie uniwersalne prawdy. Próg „ATR > 1,5× średniej" jest dekoracją, dopóki nie sprawdzisz, czy w ogóle koreluje z obniżką expectancy twojej konkretnej strategii. Procedura kalibracji osobistej (obowiązkowa przed wdrożeniem dowolnego filtru regime-change):
- Wyciągasz historyczne trade'y z dziennika (minimum 100, optymalnie 200+)
- Dla każdego trade'u oznaczasz wartość wskaźnika reżimu w momencie wejścia (np. ATR(14) D1 / średnia 90D)
- Dzielisz próbkę na dwa podzbiory: trade'y w okresach „reżim oczekiwany" i trade'y w „reżim niesprzyjający" według proponowanego progu
- Liczysz expectancy dla każdego podzbioru osobno, z bootstrap CI 90%
- Jeśli różnica expectancy między podzbiorami jest mniejsza niż 0,1R i CI obu podzbiorów się przecinają — kryterium jest dekoracją, nie filtrem
- Jeśli różnica jest istotna (CI rozłączne, Δexp > 0,15R), próg działa — ale nadal sprawdzasz forward na 30+ trade'ach przed wdrożeniem
Trader, który bezrefleksyjnie kopiuje sześć progów z tabeli, dodaje filtr „nie handluj gdy VIX > 25" do strategii, w której VIX kompletnie nie koreluje z wynikami — i dziwi się, że filtr nie pomógł. Każdy wskaźnik regime-change wymaga walidacji na twoich danych przed użyciem operacyjnym. Wskaźnik z literatury jest hipotezą, nie faktem dla twojego systemu.
Uwaga dla strategii mean-reversion: sprawdź, czy wysoki ATR koreluje z lepszą czy gorszą expectancy — dla wielu strategii mean-reversion zależność jest odwrotna niż dla trend-following. Wysoki ATR oznacza większe odchylenia od średniej, czyli więcej okazji do wejścia „na cofkę". Strategia trend-following może cierpieć w wysokim ATR, jeśli wzrost zmienności nie idzie w parze z kierunkowością i generuje whipsaw albo false breakouts (wysoki ATR + niski ADX = pułapka dla trend-following); strategia mean-reversion w wysokim ATR z brakiem kierunkowości może mieć wzrost expectancy. Ten sam wskaźnik ATR > 1,5× średniej u trend-followera bez ADX > 25 to sygnał redukcji sizingu, u mean-reversion może być sygnałem pełnego zaangażowania. Bez kalibracji osobistej (procedura powyżej) trader mean-reversion redukuje sizing w okresach najbardziej zyskownych dla swojej strategii — to dokładnie odwrotny efekt niż zamierzony.
Co odróżnia regime change od zwykłego wahania
Trzy techniczne kryteria, których trader powinien się trzymać:
- Persistencja — sygnał utrzymuje się przez ≥ 2 tygodnie, nie 2 dni. Krótkoterminowe wahania ATR czy ADX nie są regime change
- Wieloraka konfirmacja — co najmniej 2 z 6 wskaźników z tabeli z sekcji 7. Pojedynczy wskaźnik = szum, dwa lub więcej = sygnał
- Korelacja z fundamentalnym driver'em — regime change zwykle ma identyfikowalne źródło (decyzja BC, kryzys geopolityczny, zmiana cyklu makro). Sygnał techniczny bez fundamentu = często fałszywy alarm
Bez wszystkich trzech kryteriów reagujesz prawdopodobnie na szum, nie na zmianę reżimu. Reakcja na szum = pogłębianie problemu.
8. Kiedy poprawiać system, a kiedy poprawiać siebie
Najtrudniejsza decyzja audytu. Wyniki spadają — pytanie nie brzmi „co zmienić", tylko „gdzie jest źródło problemu: w systemie czy w wykonującym system człowieku". Dwa różne źródła wymagają zupełnie różnych reakcji. Pomylić je = pogłębić katastrofę.
Sygnały, że problem jest w systemie
Problem techniczny — w samej strategii — manifestuje się następująco:
- Mediana slippage wzrosła strukturalnie (np. z 0,3 pipsa na 1,1 pipsa) — broker zmienił model, rynek mniej płynny, twoje godziny handlu wpadły w strefę gorszej płynności
- Stosunek win rate pozostał stały, ale R-multiple średnich zwycięstw spadł — np. WR 55%, ale średni zysk z +1,8R do +1,2R. To może być oznaka, że TP są zbyt blisko nowej zmienności, albo że trailing stop jest za ciasny
- Setup generuje znacznie mniej sygnałów niż historycznie — może oznaczać, że filtr reżimu nie pasuje do aktualnego rynku (zbyt restrykcyjny)
- Sygnały generowane są w godzinach, w których historycznie ich nie było — np. setup historycznie działał 9:00–11:00 PL, teraz zaczyna pojawiać się też po 14:00 — może wskazywać zmianę aktywności sesji
- Konkretne reguły są źle dopasowane do nowych warunków — np. SL ustawiony na 1,5 ATR, podczas gdy ATR wzrósł 2× i SL jest matematycznie zbyt ciasny
Diagnoza: system. Reakcja: kalibracja parametrów, ale tylko jednego naraz, z testem na próbie OOS przed wprowadzeniem na realny rachunek.
Sygnały, że problem jesteś ty
Problem behawioralny — w egzekucji człowieka — manifestuje się następująco:
- % transakcji z naruszoną regułą wzrasta — historycznie 5%, aktualnie 22%. Reguły są te same, ale ty przestałeś ich przestrzegać
- Modyfikujesz SL w trakcie pozycji — przesuwasz w górę „bo widzisz, że rynek się odwróci". To nie jest zarządzanie ryzykiem, to revenge trading
- Zamykasz pozycje przed TP1 „bo strach oddania zysku" — zmniejszasz expectancy w sposób systematyczny
- Wchodzisz w setupy poniżej kryteriów A+, racjonalizując je jako „granicznie A+" lub „prawie A+" — FOMO maskowane jako analiza
- Zwiększasz częstotliwość transakcji bez wzrostu liczby okazji A+ — wchodzisz w B i C, które wcześniej pomijałeś
- Decyzja zajmuje znacznie dłużej niż historycznie — wahasz się, sprawdzasz drugi raz, zmieniasz zdanie
- Po stratach pojawia się revenge trade — natychmiastowy następny trade „żeby odrobić"
Diagnoza: ty. Reakcja: nie zmieniaj systemu. Pracuj nad egzekucją: redukcja sizingu, drilling reguł, mentor lub partner do feedbacku, czasem pauza tygodniowa.
Tabela — system vs ty
| Sygnał | System | Ty |
|---|---|---|
| Slippage rośnie | System (kontrahent, godziny) | — |
| Win rate spada przy stałym R | Może być system | Sprawdź dziennik egzekucji |
| R-multiple zwycięstw spada | System (TP zbyt blisko) | Lub ty (zamykasz wcześniej) |
| % naruszonych reguł rośnie | — | Ty |
| Modyfikujesz SL w trade | — | Ty |
| Wchodzisz w gorsze setupy | — | Ty |
| Częstotliwość rośnie | — | Ty (zwykle FOMO) |
| Setup generuje mniej sygnałów | System (filtr reżimu) | — |
| Sygnały w nowych godzinach | System (zmiana sesji) | — |
| Decyzja zajmuje dłużej | — | Ty |
Audyt formalny vs sanity-check: dwie różne procedury
Tu trzeba rozróżnić dwa scenariusze, które inaczej traktują kolejność trzech pytań:
- Formalny audyt kwartalny — idzie kolejno: edge → reżim → egzekucja (sekcja 3). Każde pytanie ma stałe miejsce w protokole, niezależnie od tego, jak trader się czuje. Pominięcie pytania 1 jest klasycznym błędem (przypadek z sekcji 3: trader, który „wiedział, że edge istnieje, bo ma 3 lata danych")
- Szybki sanity-check po emocjonalnym wniosku („system nie działa", „coś trzeba zmienić" po stratach poza kalendarzem audytu) — pierwszym testem jest egzekucja: czy w ogóle handlowałeś zgodnie z systemem przez ostatnie n trade'ów. Powód: jeśli rule_breach > 8%, każde dalsze pytanie o edge i reżim jest przedwczesne — nie wiesz, co testujesz. Dopiero przy czystej egzekucji kontynuujesz pełny audyt formalny od pytania 1
To rozróżnienie nie jest sprzecznością z sekcją 3 — jest dwoma różnymi narzędziami. Audyt formalny to procedura kwartalna z protokołem. Sanity-check to filtr przedwstępny po emocjonalnej eskalacji, którego zadaniem jest zatrzymać paniczną zmianę playbooka przed uruchomieniem pełnego audytu poza kalendarzem. W retailu sanity-check zatrzymuje dużą część niepotrzebnych modyfikacji, bo „coś jest nie tak" zwykle okazuje się być „ja przesuwałem SL", a nie „system się zepsuł".
Tabela — decyzja zależna od źródła problemu
| Źródło problemu | Co NIE robić | Co ROBIĆ |
|---|---|---|
| Egzekucja | Nie zmieniaj parametrów strategii | Redukcja sizingu o 30–50%, drilling reguł, partner accountability, audyt egzekucji co tydzień przez 4 tygodnie |
| Reżim | Nie zmieniaj parametrów strategii w trakcie reżimu niesprzyjającego | Redukcja sizingu o 30–50%, czekanie na normalizację reżimu. Audyt reżimu kwartalnie — nie prognozujesz długości |
| System (przy czystej egzekucji i normalnym reżimie) | Nie zmieniaj wielu parametrów naraz | Kalibruj jeden parametr przez walk-forward (in-sample → OOS → forward na obniżonym sizingu). Następna kalibracja dopiero w kolejnym audycie kwartalnym |
| Niejednoznaczne | Nie zgaduj — zwykle zgadniesz w stronę „to system" (komfortowo) | Druga opinia od mentora lub partnera audytowego, dziennik audytu z przedstawioną logiką diagnostyczną |
MAE/MFE scatter — diagnostyka „system vs ty"
Przykład syntetyczny — układ punktów pokazuje typowe klastry diagnostyczne, nie dane z realnego rachunku.
Wykres MAE_R (oś X) vs MFE_R (oś Y) z każdym trade'em jako punktem (kolor: wynik) odsłania, gdzie leży problem. Cztery wzorce:
- MAE często dotyka prawie SL i potem trade idzie w target (punkty w prawym górnym rogu, zielone) — SL jest za ciasny względem normalnego oddechu strategii, zostawiasz pieniądze na stole przez przedwczesne wybijanie. Decyzja systemowa: rozważ luzowanie SL na próbie OOS
- MFE regularnie przekracza 1R, ale zamknięcia są na +0,2R (punkty wysoko po Y, ale wynik niski, czerwone/żółte) — problem to exit albo ręczne zamykanie. To ty, nie system. Zostawiasz wygrane na stole przez strach
- MAE niski, MFE niski, wynik wokół zera — weak edge, system w martwej strefie. Wymaga rewizji, nie egzekucji
- MAE wysoki, MFE niski, wynik mocno ujemny — entry zły, cena rzadko idzie za pozycją. Najbardziej destrukcyjny klaster. Decyzja: usunięcie setupu z playbooka po walidacji na 30+ trade'ach
Bez MAE/MFE w dzienniku ten wykres jest niemożliwy do narysowania — a bez niego pytanie 3 redukuje się do introspekcji „chyba dobrze egzekutowałem". Pełna metodologia MAE/MFE: artykuł 15.9.
Trzy kategorie zmian po decyzji „problem to ja"
Kiedy diagnoza wskazuje na egzekucję, masz trzy poziomy interwencji w zależności od skali problemu:
| Skala problemu egzekucji | Interwencja | Czas trwania |
|---|---|---|
| Lekka (% naruszonych reguł 8–12%) | Drilling reguł — codzienne czytanie playbooka na głos przez 10 min | 4 tygodnie |
| Średnia (% naruszonych reguł 12–25%) | Redukcja sizingu o 30%, partner accountability, dziennik egzekucji rozszerzony | 6–8 tygodni |
| Ciężka (% naruszonych reguł > 25%) | Pauza tygodniowa, konsultacja z mentorem lub psychologiem traderskim, ewentualnie powrót do demo na 2–4 tygodnie | 2–4 miesiące |
Demo po realu nie ma leczyć ego. Ma sprawdzić, czy potrafisz wykonać 30 kolejnych transakcji bez majstrowania przy SL, TP i setupie. Jeżeli nie potrafisz na demo, na realu tylko zapłacisz za tę samą lekcję — i to drożej. Trader, który po roku realnego handlu wraca na 4 tygodnie do demo z dyscypliną i wraca na real bez naruszonych reguł, jest w lepszej pozycji niż trader, który walczy z własną dyscypliną na realu jeszcze 6 miesięcy.
Czego NIE zmieniać, gdy problem to ty
Najczęstszy błąd w tym scenariuszu to próba „obejścia" siebie przez modyfikację strategii. Trader, który ciągle przedwcześnie zamyka pozycje, zmienia TP na bliższy „żeby mniej kuszące było zamykać". To pogłębia problem — TP bliższy = niższa expectancy + dalej zamykasz przed nim. Reguła: jeśli problem to ty, NIE modyfikuj strategii. Strategia jest dobra, ty ją psujesz. Modyfikacja strategii w tym scenariuszu = zatuszowanie symptomu kosztem matematycznej przewagi.
9. Najczęstsze błędy audytu — overcorrection, mała próba, retrofit
Błąd 1: Zmiana parametrów po małej próbie (n < 30)
Najczęstszy błąd początkujących. Po 5–10 transakcjach trader stwierdza, że „setup nie działa" i zmienia parametry. Statystyka: dla strategii z prawdziwym WR 55%, na próbie 10 transakcji 95% przedział ufności WR to 24–84%. Czyli twoja zmierzona WR mieści się w przedziale od „prawie żadne nie działa" do „prawie wszystkie działają". Wnioski strategiczne na próbie 10 = losowość przebrana za diagnostykę.
Reguła: minimum 30 transakcji do wstępnej oceny, optymalnie 60–100 do decyzji o modyfikacji.
Błąd 2: Wiele zmian naraz
Trader audytuje, identyfikuje 4 problemy, zmienia 4 parametry naraz. Następny kwartał: wyniki się zmieniają, ale nie wiadomo, która zmiana spowodowała efekt. Brak diagnostyki = ślepa modyfikacja.
Reguła: maksymalnie 1 zmiana parametru per setup per kwartał. Wolno, ale wiesz, co zmienia wyniki.
Błąd 3: Retrofit — dopasowanie wstecz
Trader patrzy na ostatnie 10 stratnych transakcji, identyfikuje wspólny element (np. „wszystkie były w środy") i dodaje filtr „nie handluj w środy". Backtest na danych historycznych pokazuje świetne wyniki — bo zostały zoptymalizowane na danych, na których filtr został zbudowany. Forward test: filtr nie pomaga, czasem szkodzi.
Retrofit przyjmuje wiele form, wszystkie groźne:
- Look-ahead bias — wskaźnik liczony na świecy w trakcie formowania (nie zamkniętej); w backteście „widzi" sygnał przed momentem decyzji w realu
- Repaint — wskaźnik zmienia historyczne wartości po zamknięciu świecy (klasyczne na fraktalnych ZigZagach, niektórych Volume Profile, własnych skryptach z
request.security()bezlookahead=barmerge.lookahead_off) - Dobór par walutowych po fakcie — backtestujesz 10 par, wybierasz tę, gdzie strategia działała najlepiej, prezentujesz jej wynik jako edge
- P-hacking filtrów — filtr „dzień tygodnia × godzina × ATR > X × RSI > Y" generuje 10–20 kombinacji; statystycznie któraś musi „działać" na danych historycznych. Pokażesz tę jedną i zignorujesz pozostałe
Trader z odpowiednio długim historycznym datasetem może „udowodnić" prawie wszystko, jeśli wystarczająco długo kroi historię. Reguła: każdy nowy filtr ma uzasadnienie z mikrostruktury rynku (a nie „w historii pomógłby"), efekt walidujesz na OOS minimum 50 transakcji. Jeśli testujesz 20 filtrów, nie traktujesz najlepszego wyniku jak odkrycia — to zwykle zwycięzca konkursu dopasowania do historii. W wersji zaawansowanej stosujesz korektę wielokrotnych porównań (np. Bonferroni lub FDR — metody redukujące prawdopodobieństwo „odkrycia" pozornego edge'u przy testowaniu wielu hipotez naraz).
Diagnoza retrofitu po liczbach: po zmianie parametru sprawdź expectancy na OOS (danych nieużytych do optymalizacji). Reguła robocza: jeśli OOS nie potwierdza przynajmniej 60–80% wartości in-sample — zależnie od wariancji systemu — traktuj zmianę jako podejrzaną i nie wdrażaj jej na pełnym sizingu bez forward testu. Strategia o dużej wariancji (avgWin/avgLoss > 3, trend-following z grubym ogonem zysków) toleruje próg 60% — degradacja może być artefaktem niewystarczającej liczby outlierów na OOS. Strategia niskiej wariancji (mean-reversion z avgWin ~1R, scalping) wymaga progu 80% — mała wariancja sprawia, że nawet drobna degradacja IS→OOS to silny sygnał overfittingu. Dla typowego retail-FX swing/intraday z RR 1,5–2,5: środek widełek = 70%. Konkretnie: in-sample +0,4R, OOS < +0,28R = sygnał ostrzegawczy, weryfikuj forward; OOS ≥ +0,28R = dopuszczalna degradacja. Bez podziału danych na in-sample i OOS żadna kalibracja parametrów nie jest wiarygodna; każda „poprawa" jest nieodróżnialna od dopasowania do historycznego szumu.
Błąd 4: Overcorrection po pojedynczym DD
Po DD −12% trader redukuje sizing o 70% i wprowadza filtr usuwający 60% sygnałów. Wyniki w następnym kwartale są oczywiście mniejsze (mniej trade'ów × mniejszy sizing), ale trader interpretuje to jako „strategia działa, system jest stabilny". Wraca do normalnego sizingu po 3 miesiącach. Pierwszy duży trade i znowu DD −10%. Cykl się powtarza, bo overcorrection nie rozwiązał problemu, tylko go ukrył.
Reguła: korekty są proporcjonalne do problemu. DD −12% przy historycznej średniej DD −10% to nie awaria, tylko górna część rozkładu.
Błąd 5: Audyt na podstawie pamięci, nie dziennika
„Pamiętam, że we wrześniu setup XYZ świetnie działał". Pamięć tradera jest zniekształcona przez emocje — pamiętasz wygrane, zapominasz przegrane. Bez dziennika z liczbami audyt jest projekcją wspomnień, nie analizą danych. Konsekwentnie: bez dziennika nie ma audytu. Jest tylko subiektywne wrażenie.
Błąd 6: Pominięcie pytania 3 (egzekucja)
W praktyce warsztatowej większość problemów u detalu częściej wynika z egzekucji niż z samej strategii, ale większość amatorskich audytów zaczyna się od pytania „czy strategia działa" i tam się też kończy. Pominięcie pytania o egzekucję to systematyczne gubienie głównego źródła problemów. Reguła: kolejność pytań w sekcji 3 jest niezmienna — edge, reżim, egzekucja. Bez wszystkich trzech audyt jest niepełny.
Błąd 7: Zmiana strategii w trakcie kwartału
Trader audytuje w lutym, zmienia parametry, w marcu wyniki gorsze, audytuje znowu, zmienia drugi raz. Po 6 zmianach w jednym kwartale nie ma już wiarygodnej próby — ani oryginalnej strategii, ani żadnej z modyfikacji. Reguła: audyty są w stałym kalendarzu. Między audytami strategia jest „zamrożona" — nie modyfikujesz, nawet jeśli ktoś podpowiada „lepszy parametr".
Błąd 8: Confirmation bias przy wyborze danych
Audytujesz strategię i wybierasz okres „bez tego problematycznego tygodnia, gdy news wszystko zniszczył". Albo „bez tych 3 transakcji, gdzie technicznie złamałem regułę". Każde takie cięcie zniekształca obraz w stronę bardziej pozytywną. Reguła: audyt obejmuje wszystkie transakcje w okresie, bez wyjątków. Wyjątki możesz zaznaczać („te 3 transakcje były z naruszeniem reguł"), ale liczysz je do statystyki.
Błąd 9: Ignorowanie kosztu psychicznego zmian
Zmiana strategii ma koszt nie tylko statystyczny (ryzyko gorszych wyników), ale też psychiczny. Każda zmiana resetuje zaufanie i przez kolejne 30–60 trade'ów handlujesz hipotezę, nie system. Trader, który modyfikuje strategię co kwartał, jest w stanie permanentnej niepewności — co osłabia egzekucję. Przeciętna, stabilna wersja systemu często bije teoretycznie lepszą wersję, której nie umiesz wykonać pod presją. Reguła: jeśli zmiana nie ma silnego uzasadnienia (≥ 2 kolejne kwartały sygnałów, jasna logika diagnostyczna), nie zmieniaj.
Błąd 10: Kalibracja progu po zobaczeniu wyniku (in-sample bias real-time)
Trader ustala próg degradacji setupu na +0,15R po tym, jak zobaczył, że jego setup miał +0,18R. Ten próg jest skonstruowany tak, żeby setup ocalał. Albo odwrotnie: trader ustala próg awansu na +0,4R, kiedy widzi, że jego setup B miał +0,42R w bieżącym kwartale — awans nastąpi „magicznie" na podstawie jednego kwartału.
To jest in-sample bias w real-time — bliski krewny retrofittingu. Reguła: progi kalibracji muszą być ustalone w playbooku przed rozpoczęciem audytu i niezmieniane pod wpływem wyników bieżącego kwartału. Jeśli zmieniasz progi, robisz to w osobnym wpisie do dziennika audytu z uzasadnieniem strukturalnym (np. zmiana reżimu, nowa klasa kosztów), nie pod wpływem konkretnego setupu, który właśnie przekroczył próg.
request.security() z lookahead=barmerge.lookahead_off; MQL: kontrola, czy iCustom() nie sięga do bieżącej, niezamkniętej świecy). Test praktyczny dla każdego, kto nie chce sięgać do dokumentacji platformy: odpal replay świeca po świecy i sprawdź, czy sygnał istniał w momencie decyzji. Jeśli pojawia się dopiero po fakcie, backtest jest śmieciem — niezależnie jak ładnie wygląda equity curve. Jeśli twój backtest wygląda zbyt dobrze, zacznij od weryfikacji wskaźników, nie od skalowania kapitału.
10. Jak zrobić audyt strategii Forex krok po kroku — checklist 90-minutowy
Szablon w formacie czasowym, z konkretnymi krokami. Ostatnia niedziela kwartału, 90 minut bez przerw.
Minimum viable audit — wersja dla tradera bez Pythona i bez Edgewonk
Pełny protokół 90-minutowy zakłada dziennik z 25 polami i narzędzia typu Tradervue/Edgewonk lub własny pipeline w pandas. Większość traderów detalu w Polsce nie ma żadnego z tych narzędzi i zaczyna od Excela. Minimalny audyt, który wciąż chroni przed paniką, robisz na 5 kolumnach:
setup_id— nazwa setupu (np. „LON Breakout", „NY Reversal")R_netto— wynik trade'u w R-multiple, po kosztachMAE_R— max adverse excursion w R (jak głęboko cena zeszła przeciw tobie przed odwrotem)MFE_R— max favorable excursion w R (jak daleko cena poszła w twoją stronę przed odwrotem)rule_breach— 0 lub 1 (czy w tym trade'cie złamałeś którąkolwiek regułę playbooka)
Z tych 5 kolumn liczysz tylko 3 rzeczy:
- Expectancy per setup:
=AVERAGEIF(setup_id; "LON Breakout"; R_netto)— średnia R per setup - % rule_breach ogółem:
=AVERAGE(rule_breach) * 100%— % trade'ów z naruszoną regułą - Mediana MAE i MFE per setup:
=MEDIAN(IF(setup_id = "LON Breakout"; MAE_R))jako formuła tablicowa
To nie jest pełny audyt. Nie ma SQN, nie ma bootstrap CI, nie ma Monte Carlo, nie ma scatter plot. Ale wystarczy, żeby nie grzebać w systemie po pięciu stratach. Trzy odpowiedzi z 5 kolumn rozstrzygną 80% pytań, które trader zadaje sobie w panice. Pełny audyt rozwija ten zestaw, kiedy masz narzędzia — ale nigdy nie zaczynasz od narzędzi, zaczynasz od dyscypliny prowadzenia 5 kolumn.
Trzy poziomy audytu — basic / standard / advanced
| Poziom | Dla kogo | Metryki | Narzędzia |
|---|---|---|---|
| Basic | Trader z etatem, 1–2 strategie, 30–100 trade'ów rocznie | R_netto, expectancy per setup, rule_breach, mediana MAE/MFE | Google Sheets / Excel, 5–7 kolumn dziennika |
| Standard | Aktywny intraday/swing, 200–500 trade'ów rocznie | + Profit Factor, max DD, tier setupów A+/B/C, slippage SL vs TP, czas w pozycji | Edgewonk / Tradervue, dziennik 15–20 pól, kwartalny eksport CSV |
| Advanced | Systematyczny / algorytmiczny, 500+ trade'ów rocznie albo testowanie wielu strategii | + Bootstrap CI, Monte Carlo max DD, SQN, walk-forward IS/OOS, MAE/MFE scatter | Python/pandas + Jupyter, własny pipeline raportowy, dziennik 25+ pól |
Reguła wyboru poziomu: twoja częstotliwość trade'ów wyznacza poziom, nie ambicja. Trader robiący 40 trade'ów rocznie nie potrzebuje Monte Carlo — potrzebuje pewności, że trzyma się 5 kolumn. Trader z 800 trade'ami rocznie nie wystarczy mu Excel — potrzebuje narzędzi, które obsłużą wolumen. Skok poziomów następuje przy konkretnych liczbach: ~150 trade'ów rocznie (basic → standard), ~500 trade'ów rocznie (standard → advanced).
Faza 1: Przygotowanie danych (20 minut)
- Pobierz wszystkie transakcje z kwartału z dziennika — eksport do CSV lub arkusza, kolumny: data, setup, kierunek, entry, SL, TP, exit, R-multiple, slippage, %naruszonych reguł, MAE, MFE
- Policz metryki ogólne: liczba trade'ów, WR, expectancy w R, profit factor, max DD, max seria strat/zysków, mediana slippage, % naruszonych reguł
- Policz metryki per setup: te same metryki dla każdego setupu z osobna
- Porównaj z metrykami historycznymi — z poprzednich 4 kwartałów. Jeśli to pierwszy audyt, porównaj z benchmarkiem z backtestu
Konkretne narzędzia do fazy 1
Narzędzie nie jest przewagą, ale brak eksportowalnych danych zabija audyt. Stack roboczy:
- Edgewonk lub Tradervue — dziennik ręczny z polami MAE/MFE, klasyfikacją błędów, metrykami expectancy/PF/SQN per setup; eksport CSV
- MyFxBook / FX Blue — auto-import z MT4/MT5 przez investor password; equity curve, drawdown; brakuje natywnych pól MAE/MFE w wersji free
- TradingView alerts — oznaczanie triggerów per setup, eksport historii alertów do CSV jako rekord setup_id
- Google Sheets / Excel — własny szablon dziennika z 25 polami, formuły R-multiple netto, agregaty per setup
- Python / pandas + Jupyter — do kwartalnego raportu PDF z Monte Carlo, MAE/MFE scatter, histogramem R-multiple, bootstrap CI
Faza 2: Trzy pytania audytu (30 minut)
- Pytanie 1: Edge istnieje? Sprawdź expectancy ogólną i per setup. Czy któreś setupy mają expectancy < +0,15R w tym kwartale? Czy to drugi kwartał z rzędu? Zapisz w dzienniku audytu
- Pytanie 2: Reżim się zmienił? Sprawdź 6 wskaźników z sekcji 7 (ATR, ADX, VIX, DXY, decyzje BC, spread). Ile sygnałów regime change? Zapisz w dzienniku audytu
- Pytanie 3: Egzekucja zła? Sprawdź % naruszonych reguł, mediana slippage, % modyfikowanych SL, % zamknięć przed TP1, stosunek setupów A+/B/C w handlu vs w playbooku. Zapisz w dzienniku audytu
Faza 3: Kalibracja setupów (20 minut)
- Dla każdego setupu w playbooku sprawdź tabelę z sekcji 4. Jaką decyzję wskazują kryteria: trzymaj / awans / degradacja / usunięcie?
- Dla każdej zmiany sprawdź, czy to drugi kolejny kwartał w tym samym kierunku — bez tej dwukrotności decyzja czeka
- Zaplanuj sizing dla każdego tieru — A+: 100% bazowego, B: 50% bazowego, C: 30% bazowego lub pomijanie
Faza 4: Decyzja o zmianach (15 minut)
- Maksymalnie 1 zmiana parametru per setup — wybierz tę, która ma największe uzasadnienie diagnostyczne
- Każda zmiana zapisana z uzasadnieniem — co zmieniam, dlaczego (z jakich danych), jakiego efektu się spodziewam, do kiedy obserwuję (do następnego audytu)
- Zmiany dotyczące siebie (jeśli problem był w egzekucji) — jakie konkretne praktyki wprowadzam (np. drilling reguł, redukcja sizingu na 4 tygodnie, partner accountability)
Faza 5: Plan na następny kwartał (5 minut)
- Cel transakcji — ile trade'ów planujesz w przyszłym kwartale (zgodnie z historyczną normą)
- Cel zwrotu — realistyczny target, oparty na expectancy historycznej × oczekiwanej liczbie trade'ów
- Wyznaczone wskaźniki obserwacji — co konkretnie sprawdzasz w cotygodniowych review
- Data następnego audytu — wpisana w kalendarz
Najczęstsze pułapki w trakcie 90-minutowego audytu
Z obserwacji audytów prowadzonych z mentorami w społeczności tradingowej powtarzają się trzy miejsca, w których trader grzęźnie w trakcie 90-minutowej procedury:
- Faza 1 trwa 45 minut zamiast 20 — bo dziennik nie był prowadzony rzetelnie i trzeba „rekonstruować" dane. Rozwiązanie: dziennik musi być prowadzony codziennie, audyt to tylko agregacja, nie zbieranie danych
- Faza 2 jest pomijana lub robiona pobieżnie — bo trzy pytania wymagają konfrontacji z dziennikiem, a to bywa niewygodne. Rozwiązanie: timer 30 min, każde pytanie minimum 8 minut, zapis odpowiedzi w dzienniku audytu
- Faza 4 wybucha w listę 5+ zmian — bo trader nie potrafi wybrać jednej najważniejszej. Rozwiązanie: sztywna reguła „1 zmiana per setup per kwartał", lista pomysłów na kolejny audyt, nie do natychmiastowego wdrożenia
Załącznik: dziennik audytu — szablon wpisu
Każdy kwartalny audyt generuje wpis w dzienniku audytu — osobnym pliku od dziennika transakcji. Szablon jednego wpisu:
- Data audytu: 2026-04-26
- Okres audytu: Q1 2026 (01.01 – 31.03)
- Liczba trade'ów: 87
- Metryki ogólne: WR 53%, expectancy +0,28R, max DD −9,2%, profit factor 1,72
- Metryki per setup: A+ LON Breakout (n=34, exp +0,42R), A+ NY Reversal (n=22, exp +0,11R, łączne 2 kwartały: n=44, exp +0,12R), B Asia Range (n=18, exp +0,18R), B News Fade (n=20, łączne 2 kwartały: n=36, exp −0,03R)
- Pytanie 1 (edge): Edge ogólny istnieje (+0,28R). Setup A+ NY Reversal zanika (drugi kwartał w strefie degradacji: +0,1R do +0,25R, łączne n=44) → degradacja do B. Setup B News Fade poniżej +0,1R drugi kwartał z rzędu, łączne n=36 ≥ 30 → usunięcie
- Pytanie 2 (reżim): 1 sygnał regime change (ATR D1 lekko podwyższony) — w normie, brak akcji
- Pytanie 3 (egzekucja): % naruszonych reguł 8% (norma 5%, lekki wzrost). Mediana slippage 0,8 pipsa (norma 0,7 pipsa, w normie). 11% transakcji zamykanych przed TP1 (norma 6%, wymaga uwagi)
- Decyzja zmiany 1: Setup A+ NY Reversal → degradacja do B (sizing 0,5%). Bez modyfikacji parametrów. Obserwacja przez 2 kwartały — jeśli expectancy < +0,1R w Q3 → usunięcie
- Decyzja zmiany 2: Setup B News Fade → usunięcie z playbooka. Archiwum
- Decyzja zmiany 3 (egzekucja): Wprowadzenie hard rule „nie zamykaj przed TP1" — niezamykanie pozycji przed osiągnięciem TP1 niezależnie od emocji. Drilling: 5 razy tygodniowo wieczorem czytanie reguł na głos. Cel Q2: % zamknięć przed TP1 ≤ 7%
- Plan Q2 2026: 70–90 trade'ów, target zwrotu +6–10%, max DD próg uruchomienia protokołu post-DD: −12%
Praktyczny szablon do prowadzenia kwartalnego audytu w Google Sheets albo Excelu — zawiera pięć zakładek odpowiadających strukturze tego artykułu:
- Trades — dziennik transakcji z kolumnami R_netto, MAE_R, MFE_R, slippage_entry/SL/TP, rule_breach, setup_id (15 pól)
- Setup Heatmap — tabela kalibracji A+/B/C z automatyczną kolorystyką (zielony/żółty/czerwony) na bazie expectancy i rule_breach
- Quarterly Audit — szablon wpisu audytu z trzema pytaniami, decyzjami i planem na następny kwartał
- Monte Carlo — bootstrap resampling z formułami INDEX/RANDBETWEEN, kolumna running max do poprawnego liczenia max DD
- Audit Log — archiwum wpisów audytu z poprzednich kwartałów do analizy trendów (4-8 audytów = pełna historia ewolucji strategii)
Link do pobrania zostanie udostępniony w osobnym module kursu — arkusz wymaga konfiguracji w pierwszym uruchomieniu (kalibracja progów decyzyjnych pod własną strategię).
FAQ — Najczęściej zadawane pytania
Co zrobić, jeśli mam mniej niż 30 transakcji w kwartale i nie da się przeprowadzić pełnego audytu?
Jak audytować strategię, która ma za mało historii (np. 6 miesięcy)?
Czy mogę audytować strategię częściej niż kwartalnie, jeśli wyniki są bardzo zmienne?
Co robić, jeśli audyt wskazuje, że strategia umiera, ale nie mam alternatywy?
Jak rozpoznać, że to ja, a nie rynek, jest problemem?
Czy mentor/partner do audytu jest konieczny?
Co zrobić z setupem, który ma przedział ufności obejmujący zarówno dodatnią, jak i ujemną expectancy?
Czy audyt powinien obejmować wszystkie strategie naraz, czy każdą osobno?
Jak audytować strategię algorytmiczną (EA, bot)?
Co jeśli wszystkie metryki wyglądają dobrze, ale „coś czuję, że jest źle"?
Źródła i bibliografia
- Tharp V.K., Trade Your Way to Financial Freedom, McGraw-Hill, wyd. 2, 2007. R-multiple, expectancy, system quality number — fundamenty mierzenia jakości strategii.
- Schwager J.D., The New Market Wizards, HarperBusiness, 1992. Wywiady z traderami profesjonalnymi, w tym praktyki audytu strategii i dyscypliny w obliczu drawdownów.
- Lo A.W., Adaptive Markets: Financial Evolution at the Speed of Thought, Princeton University Press, 2017. Adaptive Markets Hypothesis — dlaczego strategie ewoluują wraz z reżimem rynku, nie statycznie.
- Steenbarger B.N., The Daily Trading Coach, Wiley, 2009. Psychologia tradera, w tym overconfidence po seriach zysków i decyzje pod wpływem emocji po stratach.
- Steenbarger B.N., Enhancing Trader Performance, Wiley, 2006. Cykle wyników tradera, kalibracja własnych zachowań, audyt egzekucji.
- BIS, Triennial Central Bank Survey of Foreign Exchange and OTC Derivatives Markets, 2022. Dane o strukturze rynku FX, płynności i zmianach mikrostruktury — punkt odniesienia do regime change.
- ESMA, Statistics on EU Securities Markets, 2024. Dane regulacyjne dotyczące rynku papierów wartościowych w UE jako tło makroekonomiczne; konkretne wymogi dla retail CFD (negative balance protection, ujawnianie odsetka tracących klientów detalicznych) opisane w § src-16.
- Pardo R., The Evaluation and Optimization of Trading Strategies, Wiley, 2008. Walk-forward analysis, walidacja OOS, statystyczne podstawy decyzji o modyfikacji strategii.
- Aronson D., Evidence-Based Technical Analysis, Wiley, 2007. Statystyka stosowana do analizy strategii, ostrzeżenia przed selection bias i retrofittingiem.
- Kahneman D., Thinking, Fast and Slow, Farrar, Straus and Giroux, 2011. Overconfidence bias, hindsight bias, loss aversion — psychologiczne tło błędów audytu.
- Chan E., Quantitative Trading, Wiley, 2009. Statystyki przeżywalności strategii, kryteria zaprzestania handlu strategią systematyczną.
- CME Group, Risk Management and Strategy Development for Futures Traders, 2024. Materiały edukacyjne o cyklach życia strategii i protokołach kalibracji.
- Barber B.M., Odean T., Trading Is Hazardous to Your Wealth: The Common Stock Investment Performance of Individual Investors, Journal of Finance 55(2), 2000. Klasyczna analiza tysięcy rachunków detalicznych pokazująca, że nadmierny obrót u inwestorów indywidualnych idzie w parze z gorszymi wynikami netto.
- Efron B., Tibshirani R., An Introduction to the Bootstrap, Chapman & Hall, 1993. Metodologia bootstrap do szacowania przedziałów ufności i testów Monte Carlo — podstawa walidacji statystycznej strategii bez założenia normalności rozkładu.
- Benjamini Y., Hochberg Y., Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing, Journal of the Royal Statistical Society 57(1), 1995. Procedura FDR — korekta wielokrotnych porównań przy testowaniu wielu filtrów strategii.
- European Securities and Markets Authority (ESMA), Product intervention measures relating to contracts for differences (CFDs) for retail clients, decyzje z 2018 r. (ograniczenia dźwigni, negative balance protection, wymóg ujawniania odsetka tracących klientów detalicznych). Tło regulacyjne dla danych o stratach klientów CFD w UE.