Jak można odpowiedzialnie przeprowadzić backtesting TSI?
Zdefiniuj, czym jest TSI, zanim go przetestujesz
TSI (powszechnie używany jako wskaźnik typu momentum) to reguła, która przekształca szereg czasowy w wynik poprzez łączenie informacji o zmianach cen w ramach jednego lub więcej ustawień lookback. Backtesting to z kolei proces stosowania tych reguł do danych historycznych w celu zmierzenia, jak wyglądałoby zachowanie wynikowego wskaźnika.
Odpowiedzialnym punktem wyjścia jest rozdzielenie dwóch warstw:
- Stabilna mechanika: sposób obliczania TSI na podstawie wybranego szeregu wejściowego i parametrów.
- Zmienne warunki: reżim rynkowy, jakość danych oraz sposób, w jaki wyniki przełożyłyby się na rzeczywiste wykonanie.
Dopiero gdy obie warstwy są jasne, należy omawiać implikacje.
Wybierz dane wejściowe i założenia, które potrafisz wyjaśnić
Backtesty mają sens tylko wtedy, gdy dane wejściowe odpowiadają zamierzonemu zastosowaniu. Dla TSI zdefiniuj te wybory wprost:
- Szereg cenowy: jakie pole jest używane (na przykład cena średnia vs bid/ask). Jeśli nie możesz uzasadnić wyboru, traktuj go jako założenie.
- Obsługa czasu: rozmiar świecy, rollovery sesji i wyrównanie (na przykład zapewnienie, że wartości wskaźnika wykorzystują wyłącznie informacje dostępne w danym momencie).
- Ustawienia parametrów: dokładne długości lookback i wszelkie kroki wygładzania.
- Czyszczenie danych: sposób obsługi brakujących świec oraz to, czy wartości odstające są korygowane czy usuwane.
Jeśli jakakolwiek część konfiguracji jest niejednoznaczna, udokumentuj ją i zachowaj spójność we wszystkich przebiegach testów. Dzięki temu Twoje wyniki będą niezależnie weryfikowalne.
Uwzględnij koszty i efekty wykonania w modelu backtestu
Historyczne ruchy cen nie są tym samym, co osiągalne wyniki transakcyjne. Nawet jeśli nie generujesz sygnałów transakcyjnych, Twoja ocena powinna nadal odzwierciedlać, że wdrożenie wiąże się z tarciami.
Typowe luki w modelowaniu obejmują:
- Koszty transakcyjne: spready, prowizje i opłaty.
- Opóźnienie wykonania: działanie na zamknięciu świecy przy użyciu ceny zamknięcia może być nierealistyczne.
- Poślizg: różnica między oczekiwaną a osiągniętą ceną.
Odpowiedzialny backtest stosuje zatem jawne założenia dotyczące tych elementów. Przykładowe podejście (założenia muszą być określone): zastosuj stały koszt na transakcję okrężną lub prosty model spreadu i stosuj go konsekwentnie za każdym razem, gdy logika backtestu zmienia stan (na przykład, gdy zmienia się warunek wskaźnika). Unikaj dostrajania kosztów, dopóki wyniki nie „wyglądają dobrze”.
Kontroluj błędy systematyczne i przeuczenie
Wiele niepowodzeń backtestów wynika z błędów systematycznych, a nie z konstrukcji wskaźnika. Odpowiedzialne testowanie obejmuje mechanizmy kontrolne, które zapobiegają „uczeniu się przyszłości”:
- Wstępnie zarejestruj przestrzeń poszukiwań parametrów: określ zakresy ustawień TSI przed uruchomieniem optymalizacji.
- Stosuj testy kroczące (walk-forward): wybierz parametry na jednym okresie i oceń je na następnym, nieobserwowanym okresie.
- Zachowaj ostateczny zbiór kontrolny (holdout): nawet jeśli iterujesz wiele razy, odłóż jeden segment, który nie będzie używany do wyboru modelu.
Powinieneś również przetestować odporność, mierząc wrażliwość: jeśli niewielkie zmiany ustawień lookback drastycznie zmieniają wyniki, backtest jest prawdopodobnie kruchy.
Stosuj testy poza próbą zgodne z zamierzonym twierdzeniem
Kluczowa zasada: historyczne zależności nie przesądzają o przyszłych wynikach. Dlatego Twoja ocena powinna skupiać się na tym, co może być poparte konstrukcją badania.
Praktyczne, odpowiedzialne testy obejmują:
- Porównania wyników poza próbą w wielu przedziałach czasowych.
- Stabilność w różnych reżimach: testuj w okresach trendowych, bocznych oraz o wysokiej i niskiej zmienności (zdefiniowanych według własnych, mierzalnych kryteriów).
- Przedziały błędów i analiza rozkładów: analizuj zmienność wyników, a nie pojedynczą liczbę podsumowującą.
Jeśli Twoim celem jest zrozumienie zachowania TSI, a nie twierdzenie o możliwości inwestowania, nadal możesz zastosować te testy do swoich metryk (na przykład rozkład wartości wskaźnika, charakterystyka trwałości lub zachowanie podobne do drawdown w ramach wybranej reguły oceny).
Istotne ograniczenie: backtesty mogą walidować proces, ale nie przyszłość
Częstym błędem jest mylenie „backtest przebiegł poprawnie” z „strategia zadziała”. Nawet przy starannym przetwarzaniu danych i testowaniu poza próbą, odpowiedzialne backtesty mogą zostać osłabione przez:
- Niestacjonarność: dynamika rynku zmienia się w czasie.
- Ukryte różnice w wykonaniu: założone koszty, timing wykonania i obsługa zleceń mogą nie odpowiadać rzeczywistości.
- Efekty selekcji: intensywna iteracja może prowadzić do wyników dopasowanych do szumu.
Dlatego najbardziej obronna interpretacja dotyczy zwykle odporności testowanego zachowania przy zdefiniowanych założeniach, a nie gwarantowanych wyników.
Co zweryfikować dalej
Jeśli chcesz odpowiedzialnie przeprowadzić backtesting TSI, zweryfikuj swoją konfigurację krok po kroku:
- Potwierdź, że dane wejściowe do obliczeń TSI i definicje parametrów odpowiadają Twojej zamierzonej interpretacji. 2. Potwierdź swoje założenia dotyczące timing (kiedy informacja staje się dostępna vs kiedy jest wykorzystywana). 3.