Jak odpowiedzialnie przeprowadzić backtest oscylatora stochastycznego
Czym jest oscylator stochastyczny, zanim przeprowadzisz jego backtest
Oscylator stochastyczny to wskaźnik, który porównuje bieżącą cenę z niedawnym zakresem. W swojej powszechnej formie wykorzystuje linię %K zbudowaną z okresu obserwacji (okna zakresu) i często wygładzanie, a także linię %D, która jest zazwyczaj średnią kroczącą z %K.
Ponieważ backtesting zależy od definicji, powinieneś najpierw zapisać dokładny wzór, który wdrożysz (na przykład: jak wybierane są maksima/minima, jaka jest długość okresu obserwacji oraz jaką metodę i długości wygładzania stosujesz). Nawet niewielkie różnice—takie jak użycie maksimów/minimów świec z tej samej świecy w porównaniu z przesunięciem ich w przyszłość—mogą zmienić wyniki.
Dane, mechanika i założenia, które musisz określić
Odpowiedzialny backtest zaczyna się od czystego, dobrze określonego potoku danych.
1) Określ pola danych i sposób ich wyrównania
- Określ strefę czasową i rozmiar świecy używane dla OHLC (otwarcie, maksimum, minimum, zamknięcie).
- Zdecyduj, jak obsługiwać brakujące świece, nietypowe skoki lub dni z niekompletnymi danymi.
- Upewnij się, że wskaźnik wykorzystuje wyłącznie informacje, które byłyby dostępne w momencie podejmowania decyzji (zamknięcie świecy vs. otwarcie świecy ma znaczenie).
2) Zdefiniuj parametry wskaźnika jako dane wejściowe Określ zestaw parametrów, które będziesz testować, takie jak:
- długość okresu obserwacji %K
- długość wygładzania %K (jeśli stosowane)
- typ i długość średniej kroczącej %D
3) Określ precyzyjnie zasady obliczania Zapisz szczegóły implementacji:
- Czy obliczasz %K przy użyciu kroczącego najwyższego maksimum i najniższego minimum w oknie obserwacji.
- Czy aktualizujesz oscylator na każdej świecy, czy dopiero po zamknięciu świecy.
4) Oddziel „zachowanie wskaźnika” od „reguły handlowej” Wskaźnik może być testowany jako szereg czasowy (jak się porusza) bez twierdzenia, że jest samodzielnym sygnałem. Aby oszacować skuteczność, potrzebujesz jednoznacznej, testowalnej reguły decyzyjnej (na przykład warunku, który odwzorowuje wartości oscylatora na hipotetyczne działania). Nawet wtedy wyniki zależą od tego, jak wykonujesz te działania.
Kontrole kosztów i cech: modelowanie kosztów i czynników zmiennych
Backtesty często zawodzą, ponieważ ignorują lub niedoszacowują rzeczywistych tarcia, które zmieniają stopy zwrotu.
Koszty do uwzględnienia w podstawowym modelu wykonania Nie musisz zgadywać dokładnych liczb, ale musisz modelować typy kosztów, które będziesz testować, i stosować je spójnie:
- Założenie dotyczące spreadu bid/ask (lub równoważny model kosztów transakcyjnych)
- Prowizja (jeśli dotyczy)
- Poślizg (o ile gorsze są realizacje w porównaniu z ceną teoretyczną)
Czynniki zmienne, które należy kontrolować Wskaźniki momentum, w tym oscylator stochastyczny, mogą zachowywać się różnie w różnych reżimach rynkowych. Aby zmniejszyć ryzyko mylących wniosków:
- Testuj wiele okresów czasu (nie tylko jedno historyczne okno).
- Używaj wielu instrumentów, jeśli Twoje badanie je obejmuje, lub co najmniej wielu różnych reżimów.
- Utrzymuj parametry wskaźnika stałe podczas oceny; zmieniaj je tylko w osobnym kroku dostrajania.
Proste podejście do dostrajania z kontrolą obciążenia
- Podziel dane na okres dostrajania (w próbie) i późniejszy okres oceny (poza próbą).
- Dostrajaj parametry tylko na segmencie dostrajania.
- Zablokuj parametry i oceń na segmencie poza próbą bez dalszych modyfikacji.
Dowody i przykład odpowiedzialnego przepływu pracy
Odpowiedzialny przepływ pracy koncentruje się na weryfikacji, a nie na szczęściu.
Przykładowy przepływ pracy (koncepcyjny, nie rekomendacja)
- Wybierz rozmiar świecy (np. jedna świeca na jednostkę czasu) i zaimplementuj oscylator stochastyczny z jasno określonymi definicjami parametrów.
- Zbuduj hipotetyczną regułę decyzyjną, która wyzwala działania na podstawie wartości oscylatora. Określ dokładną logikę wyzwalania.
- Dodaj model kosztów transakcyjnych z co najmniej jednym zakresem wrażliwości (np. scenariusze tarcia „niskie”, „średnie”, „wysokie”) i uruchom ponownie ocenę.
- Zastosuj podejście kroczące lub przesuwne okno: dostrajaj na wcześniejszym oknie, oceniaj na następnym oknie i powtarzaj.
- Podsumuj wyniki za pomocą solidnej diagnostyki, nie tylko średnich.
Istotna diagnostyka do sprawdzenia
- Porównaj zachowanie w próbie i poza próbą.
- Sprawdź, czy wyniki w dużej mierze zależą od niewielkiego zestawu zdarzeń lub kilku dat.
- Poszukaj niestabilności, gdy nieznacznie przesuniesz parametry lub progi w rozsądnych granicach.
Ograniczenia i tryby awarii, które należy uwzględnić
Nawet technicznie poprawny backtest może być mylący. Typowe tryby awarii obejmują:
1) Błędy wyprzedzenia i wyrównania Wykorzystanie informacji, które nie byłyby znane w momencie podejmowania decyzji, może zawyżyć wyniki.
2) Nadmierne dopasowanie do historii Zbyt wiele stopni swobody (parametry wskaźnika plus progi reguł plus założenia kosztowe) może sprawić, że strategia dopasuje się do szumu, a nie do sygnału.