Trading Glass
FeaturesPricingAcademyBlogChartJournal
Loading
Wszystkie kursy
Biases in BacktestingEdge DegradationOutliers and Their Impact on MetricsSharpe Ratio & Sortino RatioSignal-to-Noise Ratio
Academy/Trading Intelligence/Zaawansowane myślenie statystyczne

Biases in Backtesting

Trading Intelligence

9 min czytania

Avoid survivorship bias, overfitting, and lookahead bias that make backtest results lie to you before you go live.

Loading

Powiązane tematy

Outliers and Their Impact on Metrics

12 min

Sharpe Ratio & Sortino Ratio

9 min

Signal-to-Noise Ratio

9 min

Nash Equilibrium and No Arbitrage

8 min

Poprzedni temat

Prawo wielkich liczb i centralne twierdzenie graniczne

Następny temat

Edge Degradation

Trading Glass

Next-generation charting order flow platform with rotation view, cluster visualization, and real-time analytics for professional traders and quantitative analysts.

Product

  • Features
  • Pricing
  • Chart
  • Journal

Resources

  • Academy
  • Blog
  • Documentation
  • API Reference
  • Support

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 Trading Glass. All rights reserved.

PrivacyTerms

Twoje wyniki backtestu mogą cię okłamywać — oto jak to wykryć i naprawić, zanim wejdziesz na żywo.


Wprowadzenie

Backtest jest kluczowy.

Ale zły backtest?

Jest gorszy niż brak testów — bo 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.

Trzy siły zmawiają się, by zawyżyć każdy backtest: (1) publikujesz tylko te strategie, które zadziałały na historii (selekcja), (2) dostrajasz je, dopóki nie zaczną działać (overfit), (3) twój model kosztów zaniża rzeczywiste tarcie egzekucji. Efekt: rozkład wskaźnika Sharpe'a wycentrowany znacznie powyżej rozkładu live. Zrozumienie dlaczego tak jest oddziela testowanie od teatru.

Wymagania wstępne: swoboda w in-sample vs out-of-sample, podstawy Monte Carlo, wskaźnik Sharpe'a. Ścieżka modułu: ta lekcja omawia strukturalne błędy, które sprawiają, że backtest kłamie. Następna lekcja, Degradacja edge'a, opisuje, co dzieje się z uczciwym edge'em w czasie. Wartości odstające omawiają trzecie kłamstwo: pojedynczy gruby ogon udający umiejętność.


3 Najczęstsze biasy w backtestach


1. Czym jest lookahead bias?

Korzystanie z przyszłych informacji, które w rzeczywistości nie były dostępne w momencie zawarcia transakcji.

Przykłady:

  • Wejście na podstawie ceny zamknięcia świecy — zanim faktycznie się zamknęła
  • Liczenie przecięć średnich kroczących na podstawie ceny bieżącej, niezamkniętej świecy — przecięcie staje się ważne dopiero po zamknięciu świecy; użycie jej wartości w trakcie formowania to lookahead
  • Używanie sygnałów ze świecy, która jeszcze w pełni się nie uformowała

Dlaczego to niebezpieczne: Twoje wejścia i wyjścia wydają się "trafne", ale są nierealistycznie idealne — bo oszukujesz czas.

Jak to naprawić:

  • Działaj wyłącznie na zamkniętych świecach (używaj bar replay lub logiki opartej na czasie)
  • Unikaj funkcji odwołujących się do "przyszłych słupków" w kodzie
  • Symuluj wejścia realistycznie (np. otwarcie następnego słupka, spready bid/ask)

2. Czym jest overfitting w strategiach tradingowych?

Tworzenie strategii, która działa dobrze tylko na danych historycznych — ale zawodzi w czasie rzeczywistym.

Objawy:

  • Zbyt wiele filtrów (skok wolumenu + RSI + MA + formacja + faza księżyca)
  • Idealna krzywa kapitału na jednym rynku — ale załamuje się na innych
  • Strategia działa tylko na jednej parze, jednym interwale, jednym roku

Dlaczego to niebezpieczne: Nie odkrywasz edge'a — zapamiętujesz szum. Bailey i López de Prado (2014) pokazali, że już przy 7 próbach na standardowym poziomie 5% prawdopodobieństwo fałszywego pozytywu przekracza 30%. Ich Deflated Sharpe Ratio koryguje raportowany Sharpe o liczbę przeprowadzonych prób.

Jak to naprawić:

  • Testuj na wielu instrumentach i okresach
  • Zachowaj proste i solidne reguły
  • Zastosuj Combinatorially Symmetric Cross-Validation (CSCV) i raportuj Probability of Backtest Overfitting (PBO). Przy PBO > 0,5 twoja "najlepsza" strategia jest bardziej prawdopodobnie przeoptymalizowana niż nie
  • Walk-forward (zakotwiczony): dopasuj na [t0, t0+12m], testuj na [t0+12m, t0+15m], przesuń okno testowe o 3 miesiące, dopasuj ponownie, powtórz. Raportuj wyłącznie sklejony equity z części testowych. Nigdy nie używaj fragmentu testowego ponownie do dopasowania

3. Czym jest survivorship bias?

Testowanie wyłącznie systemów lub aktywów, które nadal istnieją — ignorowanie tych, które upadły lub drastycznie się zmieniły.

Przykłady:

  • Backtest uniwersum indeksowego z użyciem dzisiejszych składników (np. obecnych członków S&P 500) i rzutowanie ich historii wstecz — zwycięzcy są nadreprezentowani, bo przegrani zostali wycofani z notowań
  • Traktowanie błędów w modelu kosztów (slippage, spread, opłaty, krachy typu black swan) jako części survivorship — to odrębny bias i wymaga własnej korekty

Dlaczego to niebezpieczne: Zakładasz, że warunki, które stworzyły twój edge, zawsze będą istnieć.

Jak to naprawić:

  • Używaj kompletnych zbiorów danych historycznych, a nie tylko tego, co istnieje teraz
  • Uwzględniaj "martwe" aktywa w testach na poziomie portfela
  • Symuluj reżimy zmienności, spadki płynności i rosnące spready

4. Czym jest data-snooping (bias wielokrotnego testowania)?

Jeśli przetestujesz 100 strategii na poziomie istotności 5%, około 5 z nich będzie wyglądać "dobrze" wyłącznie przez przypadek.

To bias, który sprawia, że większość publicznych backtestów to śmieci. Każdy parametr, który przeszukujesz, każda wariacja, którą poprawiasz, każdy wykres, na który zerkasz — to kolejna cicha próba. A im więcej prób, tym wyższe prawdopodobieństwo, że coś wygląda jak edge czysto z szumu.

Jak to naprawić:

  • Uczciwie licz liczbę prób (każda kombinacja parametrów, każdy wariant się liczy)
  • Zastosuj Deflated Sharpe Ratio (Bailey i López de Prado, 2014) — koryguje raportowany Sharpe o liczbę prób
  • Użyj CSCV (Combinatorially Symmetric Cross-Validation), aby oszacować Probability of Backtest Overfitting (PBO). PBO > 0,5 → twoja "najlepsza" strategia jest bardziej prawdopodobnie przeoptymalizowana niż nie
  • Narzędzia: biblioteka mlfinlab Lópeza de Prado lub własna implementacja CSCV w ~50 liniach Pythona

Inne biasy, na które warto uważać

Typ biasuOpisKorekta
Bias selekcjiTestowanie tylko "ulubionych" transakcjiUwzględnij każdą transakcję w próbce danych
Cherry pickingRęczne wykluczanie brzydkich wynikówLoguj każdy wynik, dobry czy zły
Bias optymizmuZałożenie, że zawsze dostaniesz fill po idealnych cenachSymuluj slippage i głębokość księgi zleceń realistycznie
Bias zakotwiczeniaOdmowa ponownego testowania lub porzucenia starych systemówNiech decyzjami kierują dane, nie nostalgia

Najlepsze praktyki uczciwego backtestu

1. Używaj realistycznych założeń

  • Zastosuj próg kosztowy przed oceną edge'a: krypto perp ≈ 5 bps opłaty + 2–5 bps slippage round-trip; akcje ≈ pół-spread + 0,1·σ·√(rozmiar/ADV). Jeśli twój edge umiera pod realistycznymi kosztami, to nigdy nie był edge
  • Uwzględnij opóźnienie egzekucji (np. brak wejścia na zamknięciu świecy)
  • Symuluj częściowe fille dla dużych pozycji

2. Oddziel okresy in-sample i out-of-sample

  • Trenuj strategię na jednym okresie
  • Waliduj ją na zupełnie innym → Jeśli wyniki utrzymują się w obu: strategia jest bardziej odporna

3. Zachowaj strategię tak prostą, jak to możliwe

"System jest tylko tak dobry, jak jego najgorsze założenie."

Mniej ruchomych części = mniejsze ryzyko overfittingu. (Zobacz Wartości odstające i ich wpływ na metryki — jak pojedynczy słupek może stworzyć iluzję dopasowanego edge'a; oraz Sharpe Ratio i Sortino Ratio — metrykę najmocniej zniekształcaną przez te biasy.) Im prostsza, tym łatwiej ją testować, ulepszać i jej ufać


FAQ

Czym jest lookahead bias w backtestach?

Lookahead bias to korzystanie z przyszłych informacji, które w rzeczywistości nie były dostępne w momencie symulowanej transakcji — np. działanie na cenie zamknięcia świecy, zanim ta świeca się w pełni zamknie. Daje to nierealistycznie idealne wejścia, które znikają w realnym tradingu.

Czym jest overfitting w strategiach tradingowych?

Overfitting to tworzenie strategii, która działa dobrze tylko na danych historycznych, bo zapamiętała szum zamiast odkryć strukturę. Bailey i López de Prado (2014) pokazali, że już przy 7 próbach na standardowym poziomie 5% prawdopodobieństwo fałszywego pozytywu przekracza 30%.

O ile powinienem zdyskontować Sharpe z mojego backtestu?

Heurystyka robocza: zdyskontuj Sharpe z backtestu o 30–50% przed uwierzeniem w niego. Nawet przy rygorystycznym IS/OOS zmiana reżimu i tarcie egzekucji zabierają mniej więcej tyle. Jeśli twoja strategia jest nierentowna po tej korekcie, nie ma edge'a — jest tylko dopasowanie.


Myśl końcowa

Większość przegranych traderów nie pominęła testów. Zaufali wadliwym testom.

Wydajność twojego systemu jest tak niezawodna, jak rzetelność twojego backtestu — a heurystyka robocza mówi: zdyskontuj Sharpe z backtestu o 30–50% przed uwierzeniem w niego. Nawet przy rygorystycznym IS/OOS zmiana reżimu i tarcie egzekucji zabierają mniej więcej tyle. Jeśli twoja strategia jest nierentowna po tej korekcie, nie ma edge'a — jest tylko dopasowanie.

Lista kontrolna pre-trust (5 punktów). Zanim postawisz dolara na backteście, przejdź przez nią:

  1. Podział IS/OOS bez podglądania (ponowne uruchomienie OOS po słabym wyniku po cichu zamienia go w IS)
  2. Koszty osadzone na realistycznych liczbach giełdowych (≈ 5–10 bps round-trip dla krypto perpów)
  3. Test na >1 instrumencie i >1 reżimie
  4. Liczba parametrów << stopnie swobody w danych
  5. Sharpe zdeflowany o liczbę prób (DSR), a PBO < 0,5 z CSCV

Zawalisz którykolwiek punkt → zakładaj, że twój edge to artefakt.


Do dalszej lektury: Bailey, Borwein, López de Prado, Zhu (2014) Pseudo-Mathematics and Financial Charlatanism — praca o PBO/DSR. Bessembinder (2018) Do Stocks Outperform Treasury Bills? — kanoniczne studium survivorship bias. López de Prado (2018) Advances in Financial Machine Learning, rozdz. 11–14.