Biases in Backtesting
9 min read
Avoid survivorship bias, overfitting, and lookahead bias that make backtest results lie to you before you go live.
9 min read
Avoid survivorship bias, overfitting, and lookahead bias that make backtest results lie to you before you go live.
Twoje wyniki backtestingu mogą cię okłamywać — oto jak je wykryć i naprawić, zanim wejdziesz na żywo.
Backtesting jest kluczowy.
Ale zły backtesting?
Jest gorszy niż brak testów — ponieważ daje ci fałszywą pewność siebie.
Większość traderów nie traci dlatego, że są leniwi. Tracą, ponieważ za bardzo zaufali strategii, która wyglądała świetnie z perspektywy czasu — ale była zbudowana na niewidocznych wadach.
Ten artykuł demaskuje najgroźniejsze biasy w backtestingu i pokazuje, jak je wyeliminować.
Używanie przyszłych informacji, które w rzeczywistości nie były dostępne w momencie zawarcia transakcji.
Przykłady:
Dlaczego jest to niebezpieczne: Twoje wejścia i wyjścia wydają się „trafne", ale są nierealistycznie idealne — ponieważ oszukujesz czas.
Jak to naprawić:
Tworzenie strategii, która działa dobrze tylko na danych historycznych — ale zawodzi w czasie rzeczywistym.
Objawy:
Dlaczego jest to niebezpieczne: Nie odkrywasz edge'a — zapamiętujesz szum.
Jak to naprawić:
Testowanie tylko systemów lub aktywów, które nadal istnieją — ignorowanie tych, które upadły lub drastycznie się zmieniły.
Przykłady:
Dlaczego jest to niebezpieczne: Zakładasz, że warunki, które stworzyły twój edge, zawsze będą istnieć.
Jak to naprawić:
| Typ biasu | Opis | Rozwiązanie |
|---|---|---|
| Bias selekcji | Testowanie tylko „ulubionych" transakcji | Uwzględnij każdą transakcję w próbce danych |
| Cherry picking | Ręczne wykluczanie brzydkich wyników | Rejestruj każdy wynik, dobry czy zły |
| Bias optymizmu | Założenie, że zawsze dostaniesz wypełnienie po idealnych cenach | Symuluj poślizgi i głębokość księgi zleceń realistycznie |
| Bias zakotwiczenia | Odmowa ponownego testowania lub porzucenia starych systemów | Pozwól, by dane kierowały decyzjami, nie nostalgia |
„System jest tylko tak dobry, jak jego najgorsze założenie."
Mniej ruchomych części = mniejsze ryzyko overfittingu Im prostszy, tym łatwiej go przetestować, ulepszyć i zaufać mu
Większość przegranych traderów nie pominęła testów. Zaufali wadliwym testom.
Wydajność twojego systemu jest tak niezawodna, jak rzetelność twojego backtestingu.
Nie zakochuj się w krzywej. Zakochaj się w czystym procesie, uczciwych danych i logice wytrzymałej na stres.