Jak można odpowiedzialnie przetestować zniesienia Fibonacciego?
Zdefiniuj koncepcję przed backtestingiem
Zniesienie Fibonacciego to sposób oznaczania potencjalnych poziomów cenowych pomiędzy dwoma wybranymi punktami na wykresie (często początkiem i końcem swinga). Metoda ta zazwyczaj rysuje poziome linie na stałych współczynnikach odległości między tymi punktami (na przykład poziomy powszechnie oznaczane przy użyciu współczynników Fibonacciego). Najlepiej rozumieć ją jako powtarzalną procedurę pomiarową na historycznych danych cenowych, a nie jako gwarantowaną regułę handlową.
Odpowiedzialny backtesting zaczyna się od uczynienia „powtarzalnej procedury pomiarowej” jednoznaczną: jakie dane wykresowe używasz, jak wybierasz dwa punkty swingowe, które poziomy zniesień się liczą i jaką regułę decyzyjną stosujesz, gdy cena osiąga (lub nie osiąga) poziomu.
Oddziel stabilną mechanikę od zmiennych warunków
Backtest może łatwo wprowadzić w błąd, jeśli zmienne warunki zostaną wymieszane. Trzymaj dwie kategorie osobno:
- Stabilna mechanika (zdefiniowany proces)
- Definicja danych: interwał czasowy (np. minutowy, godzinowy, dzienny), użyte pole ceny (otwarcie/maksimum/minimum/zamknięcie) oraz to, czy dokonujesz ponownego próbkowania.
- Reguła wyboru punktów swingowych: jak decydujesz o początku i końcu mierzonego ruchu (na przykład na podstawie lokalnych ekstremów przy użyciu stałego okna wstecznego).
- Definicja poziomów: które współczynniki zniesień są uwzględnione i jak traktujesz „dotknięcie” w porównaniu z „zamknięciem powyżej/poniżej”.
- Reguła oceny: co stanowi „trafienie”, jak daleko cena musi się przemieścić po trafieniu i jaka jest długość okna pomiarowego.
- Zmienne warunki (realia rynkowe i wykonawcze)
- Koszty: spread, prowizje i opłaty.
- Wykonanie: jak zlecenia są realizowane, gdy cena porusza się szybko, oraz czy zakładasz realizację na zamknięciu świecy, czy na poziomie w trakcie świecy.
- Zmiany reżimu: zmienność i płynność mogą się zmieniać w czasie.
Odpowiedzialne podejście stosuje tę samą mechanikę we wszystkich okresach testowych, jednocześnie pozwalając na zmianę założeń dotyczących kosztów i wykonania w wiarygodnych zakresach.
Uczyń założenia jednoznacznymi i wybierz spójną konfigurację danych
Jakość backtestingu zależy od jasnych, wyraźnie określonych założeń. Nawet jeśli używasz tej samej logiki wskaźnika, różne założenia mogą dać różne wyniki.
Kluczowe elementy do udokumentowania:
- Identyfikacja swingów: Jeśli punkty swingowe są wybierane ręcznie w backtestcie, test jest narażony na błąd retroaktywności (hindsight bias). Preferuj podejście oparte na regułach.
- Zapobieganie wyprzedzaniu (look-ahead): Upewnij się, że decyzja o punkcie swingowym wykorzystuje wyłącznie informacje dostępne w momencie zakończenia swinga (lub w momencie rozpoczęcia oceny).
- Obsługa świec: Zdecyduj, jak „dotknięcie” zniesienia jest wykrywane na świecach OHLC. Na przykład, czy użycie maksimum/minimum oznacza, że dotknięcia wewnątrz świecy liczą się, nawet jeśli zamknięcie nigdy nie osiągnie poziomu?
- Wielkość pozycji i logika utrzymania pozycji: Jeśli symulujesz wyniki, zdefiniuj czas utrzymania pozycji lub warunki wyjścia w sposób, który można obliczyć na podstawie danych historycznych.
Bez tych definicji jakakolwiek miara wyników jest trudna do interpretacji i łatwa do nadmiernego dopasowania.
Uwzględnij koszty i założenia dotyczące wykonania jako elementy pierwszej klasy
Wiele backtestów zawodzi, ponieważ ignoruje ekonomiczne tarcia, które mogą zdominować niewielką przewagę. Nawet jeśli unikasz rekomendowania transakcji, nadal możesz ocenić zachowanie wskaźnika przy realistycznych założeniach.
Rozważ modelowanie:
- Kosztów transakcyjnych: spread/prowizja/opłaty za rundę w obie strony lub za akcję.
- Poślizgu (slippage): reguły określającej różnicę między zamierzonym wejściem/wyjściem a osiągniętą realizacją.
- Konwencji realizacji: czy zakładasz, że zlecenia są realizowane po cenie poziomu, na otwarciu świecy, na zamknięciu świecy, czy przy użyciu przybliżenia wewnątrz świecy.
Jeśli Twój backtest nie może określić tych danych wejściowych, nie może być odpowiedzialnie interpretowany. Dobrą praktyką jest ponowne uruchomienie tej samej logiki w wielu scenariuszach kosztów/poślizgu i sprawdzenie, czy wnioski pozostają stabilne.
Kontroluj stronniczość i nadmierne dopasowanie za pomocą solidnych kontroli
Stronniczość często pojawia się, gdy reguły są dostrajane, dopóki nie „wyglądają dobrze” na jednym segmencie historycznym. Użyj kontroli stronniczości, aby zmniejszyć to ryzyko.
Praktyczne kontrole obejmują:
- Testy wrażliwości parametrów: Jeśli Twoje wykrywanie swingów używa długości okna wstecznego, zmieniaj ją w rozsądnym zakresie, zamiast używać jednej wybranej wartości.
- Testowanie kroczące (walk-forward): Trenuj/dostrajaj na wcześniejszych okresach, a następnie oceniaj na późniejszych okresach bez ponownego dostrajania.
- Idee oczyszczania/embarga (koncepcyjnie): Unikaj okresów testowych, które w znacznym stopniu pokrywają się z danymi użytymi do definiowania zdarzeń w sposób, który mógłby powodować wyciek informacji.
- Ocena na ślepo: Ustal wszystkie reguły przed zobaczeniem przyszłych wyników, a następnie je zastosuj.
Te kontrole nie gwarantują poprawności, ale utrudniają przypadkowej strukturze maskowanie się jako przewaga.