Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
›
Off-Topic
›
Kosz/Spam/Archiwum
›
Blog
Overfitting i backtesting - wynik z przeszłości nie gwarantuje zysku
Overfitting i backtesting - wynik z przeszłości nie gwarantuje zysku
Wielka aktualizacja Zarabiam.com — zobacz pełną listę zmian
Overfitting i backtesting - wynik z przeszłości nie gwarantuje zysku |
|
| Autor | Wiadomość |
|
Liczba postów: 21,796
Dołączył: Oct 2009 Reputacja: 10,216 Odznaczenia: (Zobacz Odznaczenia) Poziom: Forum Gold: 328,645.95
|
Overfitting i backtesting - dlaczego dobry wynik z przeszłości nie gwarantuje zysku z inwestycji ![]() Wynik backtestingu, czyli sprawdzenia strategii na danych historycznych, zawyżają najczęściej: overfitting (przeuczenie), zaglądanie w przyszłość (look-ahead bias), błąd przeżywalności i pominięcie kosztów transakcji. Dochodzi do tego brak testu na danych spoza próby, który pozwala te błędy wykryć. Dlatego dobry wynik z przeszłości niczego nie gwarantuje, a wiarygodność strategii zależy od sposobu jej sprawdzenia. Czego dowiesz się z tego artykułu:
Czym jest backtesting Backtesting to sprawdzanie reguł strategii inwestycyjnej na danych historycznych. Odpowiada na pytanie: jak zachowałby się dany zestaw zasad, gdyby stosowano go w przeszłości. Zasady muszą być sformułowane jednoznacznie, czyli określać, kiedy otwiera się pozycję, kiedy ją zamyka i jak duża ma być. Dopiero wtedy komputer może je przeliczyć na notowaniach z wielu lat. Wynik backtestu opisuje się zwykle kilkoma miarami: Stopa zwrotu Co pokazuje: Zmianę wartości kapitału w badanym okresie Na co uważać: Sama w sobie nie mówi nic o ryzyku, jakie poniesiono Maksymalne obsunięcie (max drawdown) Co pokazuje: Największy spadek kapitału od szczytu do dołka Na co uważać: Pokazuje najgorszy epizod z próby, a nie najgorszy możliwy Wskaźnik Sharpe’a Co pokazuje: Nadwyżkową stopę zwrotu w stosunku do zmienności Na co uważać: Zależy od okresu i sposobu liczenia Liczba transakcji Co pokazuje: Na jakiej próbie opiera się wynik Na co uważać: Mała liczba transakcji oznacza duży udział przypadku Backtest ma charakter narzędzia selekcji. Dobrze nadaje się do odrzucania pomysłów, które nie działają nawet w sprzyjających warunkach historycznych. Znacznie gorzej nadaje się do potwierdzania, że pomysł zadziała w przyszłości, bo przeszłość jest tylko jedną z wielu możliwych wersji historii rynku. Czym jest overfitting (przeuczenie) Overfitting, po polsku przeuczenie albo nadmierne dopasowanie (w literaturze także curve fitting), występuje wtedy, gdy strategia jest dopasowana do szczegółów danych historycznych, w tym do przypadkowych wahań, a nie do powtarzalnej prawidłowości. Na tych samych danych wygląda świetnie, ale na nowych często zawodzi. Dobrze ilustruje to porównanie z nauką do egzaminu. Uczeń, który wkuł odpowiedzi do starych testów, zdobywa wysoką ocenę na znanych pytaniach, ale nie radzi sobie z nowymi. Strategia przeuczona zachowuje się podobnie: „zapamiętała” przeszłość, zamiast uchwycić regułę. Skąd bierze się przeuczenie Wystarczy prosty przykład hipotetyczny. Ktoś testuje strategię opartą na RSI i sprawdza okresy od 5 do 14 (10 wartości), pięć progów wyprzedania i pięć progów wykupienia. To już 250 kombinacji. Spośród kilkuset wariantów część wypadnie dobrze wyłącznie przez przypadek, a wybór najlepszego z nich przypomina losowanie najwyższego wyniku z wielu rzutów. Zjawisko to nazywa się problemem wielokrotnych porównań. Im więcej konfiguracji strategii wypróbowano, tym większa szansa, że wybrana okaże się jedynie szczęśliwym dopasowaniem. Samo wydłużenie okresu testu nie rozwiązuje problemu, jeśli liczba wypróbowanych wariantów pozostaje duża. Jak rozpoznać przeuczoną strategię Nie ma jednego testu, ale kilka objawów powtarza się często:
Inne błędy, które zawyżają wynik backtestu Przeuczenie nie jest jedynym problemem. Wynik historyczny psują też błędy w samym przygotowaniu testu. Look-ahead bias Na czym polega: Strategia korzysta z informacji, które w danym momencie nie były jeszcze dostępne Skutek dla wyniku: Wynik jest zawyżony, bo „zna” przyszłość Błąd przeżywalności (survivorship bias) Na czym polega: Dane obejmują tylko spółki, które istnieją do dziś Skutek dla wyniku: Pomijane są upadłości i wycofania z obrotu, więc wynik jest zawyżony Pomijanie kosztów Na czym polega: Test nie uwzględnia prowizji, spreadów i poślizgu cenowego Skutek dla wyniku: Strategia z wieloma transakcjami wypada lepiej niż w rzeczywistości Data snooping Na czym polega: Te same dane służą wielokrotnie do wyboru i do oceny strategii Skutek dla wyniku: Ocena traci wiarygodność Look-ahead bias Przykładem jest decyzja podejmowana na podstawie ceny zamknięcia sesji, ale zrealizowana po cenie otwarcia tej samej sesji. W rzeczywistości nie można znać ceny zamknięcia przed jej powstaniem. Podobny problem dotyczy danych finansowych spółek, które po publikacji bywają korygowane, a test używa wersji skorygowanej zamiast tej, która była dostępna w danym dniu. Błąd przeżywalności Jeśli test obejmuje tylko spółki notowane obecnie, pomija te, które zbankrutowały lub zostały wycofane z obrotu. Strategie, które w przeszłości kupowałyby takie spółki, wyglądają w teście lepiej, niż wyglądałyby naprawdę. Koszty transakcji i poślizg cenowy Każda transakcja kosztuje: prowizja, różnica między ceną kupna a sprzedaży (spread) i tzw. poślizg, czyli różnica między ceną oczekiwaną a faktycznie uzyskaną. Strategia, która generuje setki sygnałów rocznie, może po uwzględnieniu tych kosztów wypaść zupełnie inaczej niż na wykresie. Szczególnie widoczne jest to w przypadku mało płynnych spółek. Walidacja poza próbą: out-of-sample i walk-forward Podstawowym zabezpieczeniem przed przeuczeniem jest podział danych na dwie części. Na pierwszej, zwanej próbą uczącą (in-sample), dobiera się parametry. Na drugiej, próbie testowej (out-of-sample), sprawdza się, jak wybrana strategia radzi sobie na danych, których nie użyto do jej konstrukcji. Jeśli wynik na próbie testowej jest wyraźnie gorszy, to sygnał, że część rezultatu była dopasowaniem. Rozwinięciem tego pomysłu jest metoda walk-forward, w której walidacja powtarza się wielokrotnie, przesuwając okno w czasie:
Dzięki temu wynik końcowy składa się z kawałków, które nie brały udziału w optymalizacji, a strategia jest testowana w różnych warunkach rynkowych. Przykładem jest opis metodologii z walidacją walk-forward na danych spoza próby. To pomaga ocenić, czy wynik jest wiarygodnie policzony, ale nie jest gwarancją jakichkolwiek przyszłych rezultatów. Walidacja poza próbą też ma swoje granice. Jeśli ktoś wielokrotnie poprawia strategię, patrząc na wyniki z próby testowej, to ta próba przestaje być „czysta” i zaczyna pełnić rolę uczącej. Dane testowe można wykorzystać do oceny tylko raz. ![]() Dlaczego wyniki rzeczywiste różnią się od backtestu Nawet poprawnie przeprowadzony backtest nie odtwarza rzeczywistego handlu. Najczęstsze powody rozbieżności to:
Dla zrozumienia, jak wygląda pełna prezentacja symulacji, można zajrzeć do symulacji portfela giełdowego uwzględniającej koszty transakcji i pełną historię operacji, także stratnych. To wirtualny portfel, który pokazuje mechanikę: otwarte i zamknięte pozycje, zasady doboru wielkości pozycji i poziom stop-loss. Wyniki symulacji nie są prognozą ani zapisem rzeczywistych decyzji. Na takiej liście widać także transakcje zakończone stratą, co ma znaczenie przy ocenie, czy prezentacja jest kompletna. Jak krytycznie czytać wynik backtestu - lista pytań Gdy ktoś prezentuje wynik historyczny strategii, warto sprawdzić kilka rzeczy:
Ryzyko Backtesting i symulacje są narzędziami edukacyjnymi i analitycznymi, a nie prognozą. Nawet strategia, która przeszła rzetelną walidację, może przynosić straty, ponieważ przyszłe warunki rynkowe nie muszą przypominać żadnego z okresów, które znamy. Inwestowanie wiąże się z ryzykiem utraty części lub całości zainwestowanego kapitału, a wynik z przeszłości nie jest gwarancją wyniku w przyszłości. Podsumowanie Backtesting pozwala sprawdzić, jak zachowałaby się strategia w przeszłości, ale dobry wynik nie wystarcza do uznania jej za wiarygodną. Przeuczenie, look-ahead bias, błąd przeżywalności i pomijanie kosztów zawyżają rezultat, a im więcej wariantów wypróbowano, tym większe prawdopodobieństwo, że najlepszy z nich jest dziełem przypadku. Podstawowym zabezpieczeniem jest walidacja na danych spoza próby, na przykład w formie walk-forward. Nawet ona nie usuwa niepewności co do przyszłości. Ostatecznie wynik historyczny należy czytać krytycznie i z pytaniami o to, jak go policzono. FAQ - najczęściej zadawane pytania o overfitting i backtesting Co to jest overfitting w inwestowaniu? Overfitting, czyli przeuczenie, to dopasowanie strategii do szczegółów danych historycznych, w tym do przypadkowych wahań. Taka strategia osiąga świetny wynik w teście, ale na nowych danych zwykle wypada gorzej. Ryzyko rośnie wraz z liczbą parametrów i wypróbowanych wariantów. Czy backtest gwarantuje zysk? Nie. Backtest pokazuje, jak zachowałaby się strategia w przeszłości, a przyszłe warunki rynkowe mogą być inne. Dodatkowo wynik bywa zawyżony przez przeuczenie, błędy w danych i pominięte koszty transakcji. Jak sprawdzić, czy strategia jest przeuczona? Pomaga kilka kroków: test na danych spoza próby, sprawdzenie stabilności wyniku po niewielkiej zmianie parametrów, ocena liczby transakcji oraz przeniesienie strategii na inny okres lub inny instrument. Jeśli wynik wyraźnie się pogarsza, to sygnał nadmiernego dopasowania. Co to jest walk-forward? To metoda walidacji, w której parametry dobiera się na jednym odcinku historii, a sprawdza na następnym. Okno przesuwa się w czasie i powtarza kroki, a ocenia się wyłącznie wyniki z odcinków testowych. Dzięki temu parametry nie są dobierane na danych, na których strategię oceniono. Dlaczego wyniki backtestu różnią się od rzeczywistych? Powodów jest kilka: koszty i poślizg cenowy, ograniczona płynność, zmiana warunków rynkowych, błędy w danych oraz zachowanie inwestora, który w praktyce może zrezygnować ze strategii w trudnym okresie. Symulacja zawsze upraszcza rzeczywistość. Ile danych historycznych potrzeba do backtestu? Nie ma jednej liczby. Ważne jest, aby dane obejmowały różne warunki rynkowe (hossę, bessę, okresy bocznego trendu) oraz dawały wystarczającą liczbę transakcji do oceny. Dłuższa historia nie chroni jednak przed przeuczeniem, jeśli wypróbowano bardzo wiele wariantów. Materiał ma charakter wyłącznie edukacyjny i informacyjny. Nie stanowi rekomendacji ani porady inwestycyjnej w rozumieniu obowiązujących przepisów. Inwestowanie na rynkach finansowych wiąże się z ryzykiem utraty części lub całości zainwestowanego kapitału, a wyniki historyczne nie gwarantują przyszłych rezultatów. Decyzje inwestycyjne podejmowane są na własną odpowiedzialność. |
| Glosy: | |
| 3 godzin(y) temu |
|
« Starszy wątek | Nowszy wątek »
|




![[Obrazek: overfitting-backtesting-walidacja.png]](https://zarabiam.com/images/overfitting-backtesting-walidacja.png)
![[Obrazek: zarabiam.com.png]](https://zarabiam.com/pliki/zarabiam.com.png)

