Jak można odpowiedzialnie przeprowadzić backtest ATR?
Czym jest ATR, zanim przeprowadzisz jego backtest
Średni rzeczywisty zakres (Average True Range, ATR) jest statystyką zmienności opartą na rzeczywistym zakresie (true range), który odzwierciedla, jak bardzo cena zmienia się między okresami, w tym z uwzględnieniem luk cenowych. ATR wygładza tę miarę rzeczywistego zakresu w wybranym oknie czasowym. Lepiej traktować go jako skalę (np. „typowy rozmiar ruchu”) niż jako samodzielny sygnał kupna/sprzedaży.
Odpowiedzialny backtest zaczyna się od jasnego określenia, co testujesz: samą kalkulację ATR (poprawność przetwarzania danych), sposób wykorzystania ATR w zestawie reguł (logika decyzyjna) oraz wpływ kosztów transakcyjnych na osiągnięte wyniki. Historyczne wartości ATR są obliczane na podstawie historycznego szeregu cenowego; nie są one prognozami.
Mechanika: zdefiniuj dane, założenia i obliczenia
Zacznij od określenia danych wejściowych i definicji:
- Szereg cenowy: Wybierz dane cenowe, których użyjesz (najczęściej OHLC). Udokumentuj dokładne pola.
- Definicja rzeczywistego zakresu: Użyj standardowej koncepcji rzeczywistego zakresu, aby luki cenowe były uwzględniane poprzez odniesienie do „poprzedniego zamknięcia”.
- Okno ATR i wygładzanie: Określ długość okna i metodę wygładzania, które zakładasz. Różne wybory zmieniają wartości ATR.
- Strefa czasowa i obsługa sesji: Jeśli Twój zbiór danych obejmuje sesje o różnych godzinach handlu, zdefiniuj, jak traktujesz granice między nimi.
Następnie zdefiniuj środowisko backtestu:
- Generowanie sygnału a czas oceny: Jeśli reguła używa ATR, zdecyduj, czy ATR w czasie t może być użyty do działania w czasie t, czy tylko w czasie t+1. Zapobiega to przypadkowemu błędowi wyprzedzenia.
- Logika pozycji i wielkości: Nawet jeśli unikasz nazywania strategii, określ, co się dzieje, gdy Twoja reguła żąda działania (np. czy zakładasz wejście na otwarciu następnej świecy).
- Koszty i model wykonania: Uwzględnij co najmniej ogólny model tarcia (prowizje/opłaty oraz proxy spreadu lub poślizgu). Używaj założeń, które są jasno określone i stosowane spójnie.
Przydatnym krokiem weryfikacyjnym jest odtworzenie ATR z Twojego zbioru danych w małym oknie próbnym. Jeśli obliczony przez Ciebie ATR nie zgadza się z niezależną implementacją, której ufasz, napraw przetwarzanie danych przed interpretacją wyników.
Dowody i projekt przykładu: kontrola błędów i testy poza próbą
Możesz zwiększyć wiarygodność backtestów ATR, oddzielając eksplorację w próbie od oceny poza próbą.
- Podziel dane
- Utwórz chronologiczny okres treningowy dla wyboru parametrów (np. długości okna ATR lub progów reguł).
- Zachowaj późniejszy okres jako zbiór testowy.
-
Testowanie kroczące (walk-forward) Zamiast jednego statycznego podziału, wielokrotnie trenuj na przeszłości i testuj na następnym segmencie. Zmniejsza to ryzyko, że Twój wniosek zależy od jednego szczęśliwego okna czasowego.
-
Kontroluj błąd selekcji Jeśli wypróbowujesz wiele wariantów (różne okna, progi lub interwały czasowe), najlepiej wyglądający wynik może być artefaktem. Śledź liczbę prób i preferuj z góry zdefiniowane konfiguracje zamiast „dostrajania, aż zadziała”.
-
Użyj testów odporności w różnych reżimach Przeprowadź ten sam testowany układ w różnych warunkach rynkowych, takich jak okresy o wyższej i niższej zmienności. Zachowanie związane z ATR może się zmieniać, gdy zmienia się struktura zmienności.
Istotne ograniczenie / scenariusz awarii, który należy przewidzieć: Jeśli nieumyślnie obliczysz ATR, używając informacji ze świecy, którą próbujesz handlować „w tej chwili”, stworzysz błąd wyprzedzenia. Innym scenariuszem awarii jest to, że realistyczne koszty transakcyjne mogą zniwelować pozorne wyniki.
Ograniczenia i ryzyka: co backtesty ATR mogą, a czego nie mogą Ci powiedzieć
- Skala zmienności ≠ kierunek: ATR mierzy rozmiar ruchu, a nie to, czy cena wzrośnie, czy spadnie.
- Wrażliwość na koszty: Backtesty często zaniżają poślizg, spready i opóźnienia w wykonaniu. Przy cienkich marżach mogą one dominować.
- Niestacjonarność: Dynamika cen się zmienia. Historyczne zależności ATR od wyników nie gwarantują podobieństwa w przyszłości.
- Zależność od założeń: Wyniki zależą od wybranego okna obliczeniowego, wygładzania, dopasowania znaczników czasu i założeń dotyczących wykonania.
Weryfikacja lub kolejne pytanie: co sprawdzić niezależnie
Aby odpowiedzialnie zweryfikować swój backtest, sprawdź następujące elementy przed wyciągnięciem jakichkolwiek wniosków:
- Poprawność obliczeń ATR na małej, ręcznie sprawdzalnej próbce.
- Dopasowanie czasowe, aby potwierdzić, że nie użyto żadnych przyszłych informacji.
- Powtarzalność: wersja zbioru danych, parametry i logika kodu powinny być udokumentowane, aby inna osoba mogła uruchomić ten sam proces.
- Dyscyplina poza próbą: unikaj raportowania tylko pojedynczego najlepszego wyniku z wielu prób.
Jeśli chcesz pójść głębiej, rozważ, jak definiujesz logikę reguł, które używają ATR (czas działania, progi i sposób modelowania kosztów). Nawet wtedy traktuj wyniki jako warunkowe względem Twoich założeń, a nie jako wiarygodną prognozę.