Jak odpowiedzialnie przeprowadzić backtesting Stochastic Range?
Zdefiniuj mechanikę i dane (przed testowaniem)
Stochastic Range to koncepcja oparta na zakresie, która wykorzystuje ideę oscylatora Stochastic do oceny, gdzie cena znajduje się w obrębie ostatniego zakresu. Odpowiedzialny backtesting zaczyna się od pisemnego określenia dokładnej mechaniki, którą będziesz testować: ustawień Stochastic (takich jak długość %K i ewentualne wygładzanie), sposobu konstruowania „zakresu” (na przykład, które okno wsteczne definiuje min/max) oraz tego, jak reguła przekształca te wartości na wyniki.
Następnie określ dane, których będziesz używać. Zdecyduj, na jakim szeregu cenowym się opierasz (np. zamknięcie świecy w porównaniu z przybliżeniami wewnątrz świecy), częstotliwości próbkowania (minutowa, godzinowa, dzienna) oraz wyrównaniu znaczników czasu (aby uniknąć przypadkowego wyprzedzania danych). Jeśli używasz wyższych interwałów czasowych do zdefiniowania „zakresu”, podaj dokładną metodę mapowania.
Ponieważ celem jest edukacja i niezależna weryfikacja, traktuj każdy backtest jako powtarzalny eksperyment: wypisz dane wejściowe, logikę kodu i założenia, które je łączą.
Uwzględnij koszty i założenia wykonania (kostensoorten i czynniki zmienne)
Backtesty często zawyżają wyniki, ignorując koszty. Odpowiedzialne podejście modeluje co najmniej następujące kostensoorten (kategorie kosztów):
- Spread i prowizje (przekształć je w jawne potrącenia na transakcję lub na rundę)
- Poślizg (o ile gorsze są realizacje zleceń niż zakłada backtest)
- Czas/latencja w obrębie świecy (czy Twoja reguła może realistycznie zadziałać po modelowanej cenie)
Wykonanie jest czynnikiem zmiennym. W przypadku logiki opartej na zakresie, małe różnice w czasie mogą zmienić to, czy warunek zostanie spełniony wewnątrz świecy. Jeśli Twoja reguła używa progów (na przykład poziomu Stochastic), musisz określić, czy zakładasz:
- Realizację zleceń na otwarciu następnej świecy, na jej zamknięciu, czy po modelowanej cenie wewnątrz świecy
- Czy stop lossy/take profity (jeśli występują) są oceniane raz na świecę, czy przy użyciu przybliżenia wewnątrz świecy
Ponieważ możesz nie mieć prawdziwych danych tickowych, wyraźnie zaznacz to ograniczenie i utrzymuj spójność modelu we wszystkich eksperymentach.
Kontrola obciążeń (aannames, wyciek danych i przetrenowanie)
Backtesting może stać się niewiarygodny, gdy eksperyment jest dostrajany do przeszłości. Typowe metody kontroli obciążeń obejmują:
Zamrożenie parametrów. Wybierz ustawienia Stochastic i parametry zakresu przed zobaczeniem wyników. Jeśli dostosujesz je po zobaczeniu wyników, Twoje oszacowanie stanie się optymistyczne.
Unikanie wycieku danych. Upewnij się, że wszelkie obliczenia „ostatniego min/max” lub zakresu wykorzystują wyłącznie informacje dostępne w momencie podejmowania decyzji. Jest to szczególnie ważne podczas łączenia zbiorów danych lub obliczania cech na wielu interwałach czasowych.
Wiele okien ewaluacyjnych. Testuj na różnych segmentach historycznych (na przykład w różnych reżimach rynkowych) bez ponownego dostrajania reguł. Jeśli wyniki istnieją tylko w jednym wąskim okresie, potraktuj to jako sygnał ostrzegawczy.
Testy kroczące (walk-forward) lub kroczące poza próbą (rolling out-of-sample). Zamiast trenować na jednej ciągłej historii, wielokrotnie trenuj (lub ustawiaj parametry) na jednym oknie i oceniaj na następnym. Kluczowe jest, aby okres oceny nie wpływał na definicję reguły.
Stosuj testy poza próbą i testy odporności
Podstawową odpowiedzialnością jest oddzielenie tego, co Twój backtest wyjaśnia, od tego, co przewiduje. Historyczne zależności nie przesądzają o przyszłych wynikach. Aby zweryfikować istotne fakty dotyczące Twojej metody, stosuj testy poza próbą:
- Wyniki poza próbą: Porównaj wyniki na danych, które nie zostały użyte do zdefiniowania reguły.
- Analiza wrażliwości: Uruchom ponownie z nieco innymi, wcześniej określonymi założeniami (np. zmiana okna wstecznego zakresu w niewielkim paśmie lub kilka poziomów poślizgu), aby sprawdzić, czy wnioski się utrzymują.
- Stabilność metryk: Sprawdź, czy wnioski są spójne dla kilku rozsądnych miar oceny (nie tylko jednej głównej statystyki).
Nawet bez obiecującej dokładności, te kroki pomagają zidentyfikować, czy wyniki pochodzą z podstawowej mechaniki, czy z przypadkowego dopasowania.
Ograniczenia i prawdopodobne tryby awarii
Co najmniej jedno istotne ograniczenie powinno być częścią każdego odpowiedzialnego procesu:
- Ryzyko przetrenowania: Logika zakresu powiązana z konkretnymi progami może dopasować się do przeszłych zachowań i zawieść, gdy dynamika się zmieni.
- Wrażliwość na koszty: Jeśli wyniki poprawiają się drastycznie po zmniejszeniu spreadów lub poślizgu, przewaga strategii może być w dużej mierze zależna od tarcia.
- Niedopasowanie czasu świecy: Założenia wykonania oparte na świecach mogą błędnie przedstawiać moment faktycznego przekroczenia progów.
- Zmiany reżimu: Warunki handlu zakresowego zależą od charakteru rynku. Gdy rynek staje się mniej „zakresowy”, te same sygnały mogą zachowywać się inaczej.
Przedstaw te ograniczenia wraz z wynikami, aby niezależny czytelnik mógł zrozumieć, co musiałoby się zmienić, aby wnioski pozostały aktualne.