Jak odpowiedzialnie przeprowadzić backtest wskaźnika Supertrend?
Zacznij od precyzyjnego zdefiniowania, co dokładnie testujesz
Supertrend to wskaźnik trendu, który wykorzystuje cenę oraz miarę średniej zmienności do skonstruowania linii, a następnie klasyfikuje kierunek rynku względem tej linii. Backtest powinien traktować obliczanie wskaźnika i logikę decyzyjną jako osobne części:
- Obliczanie wskaźnika: jak wstęgi/linia są budowane na podstawie danych OHLC i estymaty zmienności.
- Logika decyzyjna: co robisz, gdy cena jest powyżej lub poniżej linii (na przykład wejście, gdy warunek jest spełniony, i wyjście, gdy się odwraca).
Jeśli zmieszasz te dwie rzeczy, możesz skończyć z „backtestingiem” ruchomego celu, a nie wskaźnika Supertrend.
Uczyń założenia jednoznacznymi
Określ minimalne założenia niezbędne do odtworzenia Twoich obliczeń, takie jak:
- Które ceny wejściowe wykorzystujesz (otwarcie/maksimum/minimum/zamknięcie).
- Interwał czasowy świecy.
- Czy używasz w pełni uformowanej świecy (zamknięcie świecy), czy przybliżenia (np. wykorzystanie wcześniejszych informacji).
- Dokładne wartości parametrów Supertrend, które testujesz.
To właśnie tutaj zawodzi wiele nieodpowiedzialnych backtestów: nie definiują one czasu danych i czasu decyzji, przez co wyniki nie są weryfikowalne.
Oddziel stabilną mechanikę od zmiennych czynników
Odpowiedzialny backtest utrzymuje rozdzielność dwóch kategorii.
Stabilna mechanika (pod Twoją kontrolą)
To wybory, które możesz ustalić przed testowaniem:
- Ustawienia wskaźnika i zasady obliczeń.
- Mapowanie sygnału na transakcję (reguły wejścia/wyjścia).
- Zasady silnika backtestu (model określania wielkości pozycji, czy możesz utrzymywać jedną pozycję na raz, jak obsługujesz odwrócenia).
Zmienne czynniki (które mogą zmienić wyniki)
Wpływają one na wyniki nawet przy tym samym wskaźniku:
- Reżim rynkowy: trendy vs zakresy mogą zmieniać częstotliwość odwracania się kierunku.
- Koszty i wykonanie: spready, poślizg i opóźnienia między sygnałem a realizacją zlecenia.
- Jakość danych: brakujące świece, nieprawidłowe znaczniki czasu lub skorygowane vs nieskorygowane serie cenowe.
Backtest powinien uwzględniać te elementy jako założenia lub testy wrażliwości, a nie jako wyjaśnienia po fakcie.
Uwzględnij koszty i timing wykonania, aby wyniki nie były zawyżone
Wiele backtestów milcząco zakłada, że transakcje są realizowane po idealnych cenach. Zamiast tego określ spójny, testowalny model wykonania.
Typowe założenia kosztowe do udokumentowania
- Model spreadu: zastosuj stałe założenie spreadu lub zmienne w czasie, jeśli je posiadasz.
- Model poślizgu: załóż wielkość poślizgu (lub rozkład), którą stosujesz do każdej realizacji.
- Prowizje/opłaty: jeśli je modelujesz, określ stawkę i moment ich pobierania.
Timing świec ma znaczenie
Dla wskaźników obliczanych na świecach OHLC zdefiniuj, czy transakcja może być wykonana:
- na otwarciu następnej świecy po sygnale, czy
- na zamknięciu tej samej świecy (co jest zazwyczaj mniej realistyczne dla wykonania na żywo).
Jeśli Twój backtest wykorzystuje informacje z zamknięcia świecy, aby handlować „tak, jakbyś” znał zamknięcie zanim nastąpiło, wyniki mogą być zawyżone.
Kontroluj obciążenia dzięki ścisłemu podziałowi danych i ograniczonemu ponownemu dostrajaniu
Odpowiedzialny backtesting polega w dużej mierze na zapobieganiu wyciekowi informacji.
Zastosuj ocenę poza próbą (out-of-sample)
Typowe podejście:
- Faza treningu/wyboru: testuj zestawy parametrów i podejmij decyzję o ostatecznej konfiguracji.
- Faza ewaluacji: pozostaw ją nietkniętą do końca, a następnie zmierz wyniki jednorazowo.
Unikaj dostrajania na pełnym zbiorze danych, ponieważ prowadzi to do dopasowania do szumu.
Zastosuj kontrole walk-forward (przesuwne)
Ocena walk-forward zmniejsza ryzyko przypadkowego dopasowania się do jednego okresu historycznego. Na przykład, wielokrotnie:
- dopasuj/wybierz parametry na oknie,
- oceń na następnym oknie,
- przesuń okno i powtórz.
Następnie powinieneś sprawdzić, czy wyniki pozostają spójne w wielu podziałach.
Wykorzystaj dowody wykraczające poza pojedynczą liczbę podsumowującą
Nawet jeśli poprawnie zastosujesz mechanikę, jeden wskaźnik wyników może wprowadzać w błąd.
Śledź wiele wymiarów wyników
Rozważ pomiar:
- drawdownów i strat w najgorszych okresach,
- częstotliwości odwracania sygnałów (wskaźnik wrażliwości na koszty związane z churnem),
- rozkładu stóp zwrotu w różnych warunkach rynkowych.
Testuj odporność za pomocą kontrolowanej wrażliwości
Zamiast niekończących się poszukiwań, wykonuj zaplanowane testy wrażliwości, takie jak zmiana:
- parametrów Supertrend w małym, wcześniej zdefiniowanym zakresie,
- interwału czasowego świecy,
- założeń dotyczących wykonania (np. wyższy poślizg).
Jeśli wyniki załamują się przy małych, rozsądnych zmianach, jest to istotne ograniczenie.
Rozpoznaj co najmniej jeden istotny tryb awarii
Odpowiedzialny opis wskazuje, gdzie Supertrend może zawieść.
Przykładowe tryby awarii do uwzględnienia
- Reżimy bocznych/zmiennych rynków: częstsze odwracanie kierunku może zwiększyć churn, przez co koszty zaczynają dominować.
- Wrażliwość parametrów: niewielka zmiana ustawień może zmienić zachowanie wstęgi i częstotliwość transakcji.
- Niedopasowanie czasowe: użycie nierealistycznego czasu realizacji może przekształcić kruchy pomysł w pozornie stabilny.