Bezpośrednia odpowiedź
Horyzonty swingowe można testować, zamieniając pomysł w mierzalną hipotezę, a następnie oceniając ją za pomocą kontrolowanego porównania bazowego oraz odtwarzalnego projektu backtestu lub symulacji. Test powinien określać, co jest mierzone, co pozostaje stałe, co się zmienia (reżim rynkowy, koszty, jakość realizacji) oraz jakie założenia są użyte. Ponieważ historyczne zależności nie gwarantują przyszłych wyników, proces testowania musi również obejmować ograniczenia i testy odporności.
Mechanizm i definicja
„Horyzont swingowy” zwykle oznacza utrzymywanie pozycji przez stosunkowo krótki do średniego czas w porównaniu z dłuższymi okresami utrzymania, z zamiarem uchwycenia ruchu ceny, który rozwija się w ciągu dni, a nie minut. Testowanie polega na sprawdzeniu, czy taki czas utrzymania jest powiązany z lepszym rozkładem wyników w porównaniu z alternatywą (bazą) przy spójnych zasadach.
Aby testować horyzonty swingowe dokładnie, oddziel stabilną mechanikę od zmiennych warunków:
- Stabilna mechanika: reguła oparta o czas utrzymania (na przykład maksymalne okno utrzymania), sposób wyboru wejść i wyjść oraz metryka wyniku.
- Zmienne czynniki: warunki rynkowe (trend vs zakres), zmiany płynności, spread bid-ask, opóźnienia realizacji oraz jakość danych.
Przydatnym sposobem ustrukturyzowania testu jest hipoteza z jawnymi danymi wejściowymi:
- Hipoteza (przykładowa forma): „Zakładając zdefiniowaną regułę wejścia/wyjścia, zastosowanie horyzontu utrzymania w stylu swing zmienia wynik skorygowany o ryzyko w porównaniu z bazowym oknem utrzymania.”
- Mierzony wynik: zdefiniuj, co oznacza „zmiana”, np. średni zwrot na transakcję, mediana zwrotu, maksymalne obsunięcie (drawdown) lub skuteczność (hit rate). Użyj co najmniej jednej metryki dla „zwrotu” i jednej dla „ryzyka”.
- Zmienne kontrolne: utrzymuj logikę wejścia, specyfikacje kontraktu oraz metodę doboru wielkości pozycji spójnie we wszystkich wariantach horyzontu.
Założenia, które musisz podać
Nawet jeśli nie zakładasz danych w czasie rzeczywistym, nadal potrzebujesz jasnych założeń obliczeniowych:
- Model ceny: z jakiego szeregu cen korzystasz (na przykład bid, mid lub last) oraz czy spready są modelowane, czy tylko przybliżane.
- Model realizacji: czy wypełnienia są zakładane na zamknięciu świecy, na otwarciu następnej świecy, czy z ustaloną wartością poślizgu (slippage).
- Model kosztów: uwzględnij prowizje, szacowane koszty spreadu oraz wszelkie dodatkowe opłaty, jeśli mają zastosowanie.
Podanie założeń ma znaczenie, ponieważ zmiany w tej mechanice mogą zdominować efekt, który, jak sądzisz, testujesz.
Projekt testu: dowód lub przykład
Poniżej znajduje się samowystarczalny plan testowania, który nie wymaga bieżących cen, ale nadal koncentruje się na rygorystycznym weryfikowaniu twierdzeń.
1) Wybierz hipotezy i warianty horyzontu czasowego
Wybierz co najmniej dwa okna utrzymania:
- Kandydujący horyzont swingowy: okres utrzymania, który chcesz ocenić.
- Baza: inne okno utrzymania, które w Twoim projekcie reprezentuje „brak swingu”.
Kluczowe jest to, że jedyną istotną różnicą między wariantami powinno być okno utrzymania (oraz ewentualne niezbędne korekty reguły wyjścia).
2) Zdefiniuj strategię podziału danych, aby ograniczyć overfitting
Zastosuj podejście podziału, które ma naśladować ocenę out-of-sample:
- Okres(y) trening/walidacja: używane wyłącznie do dopracowania reguł i metryk.
- Okres testowy: używany raz do ostatecznego porównania.
Jeśli nie możesz wykonać wielu okien testowych, przynajmniej zrób jeden blok out-of-sample w kolejności czasowej. Unikaj losowego tasowania, które może prowadzić do wycieku przyszłych informacji.
3) Uwzględnij koszty i tarcia realizacyjne
Horyzonty swingowe mogą wyglądać skutecznie w warunkach idealizowanych i zawodzić, gdy dodasz tarcia. Włącz elementy kosztów bezpośrednio do obliczenia zysku i straty (profit-and-loss):
- Spread: modeluj spread jako koszt na transakcję (na przykład pół-spread przy wejściu i pół-spread przy wyjściu, jeśli używasz cen mid).
- Slippage: modeluj opóźnienie realizacji lub poślizg zgodny z częstotliwością świec i ziarnistością danych.
- Prowizje: uwzględnij każdy stały koszt na transakcję, jeśli Twój setup go zawiera.
Uruchom ten sam test dla co najmniej dwóch scenariuszy tarcia (niski i wyższy poziom kosztów). To nie „udowadnia” przewagi, ale pomaga ustalić, czy wynik zależy od korzystnych warunków.
4) Dodaj testy odporności
Testy odporności są zaprojektowane, aby odpowiedzieć: „Czy nadal zobaczymy efekt, jeśli warunki się zmienią albo jeśli założenia są nieco błędne?” Przykłady:
- Wrażliwość na reżim: testuj osobno w okresach, które są bardziej prawdopodobne jako trendujące niż zakresowe. Zdefiniuj kategorie reżimu wyłącznie na podstawie informacji dostępnych do momentu podjęcia decyzji.
- Wrażliwość na szczegóły reguł: nieco zmieniaj granice okna utrzymania (na przykład dokręć i poluzuj wyjścia o małą wartość) i sprawdź, czy wniosek pozostaje.
- Stabilność metryk: potwierdź, że wnioski nie opierają się wyłącznie na jednej metryce.
- Stres testów jakości danych: testuj z użyciem alternatywnych źródeł danych lub alternatywnych definicji wypełnień (zamknięcie świecy vs następne otwarcie), aby sprawdzić, czy wyniki zmieniają się istotnie.
5) Porównuj rozkłady, a nie tylko średnie
Średnie mogą ukrywać ryzyko ogonowe. Preferuj porównania takie jak:
- Rozkład wyników transakcji (na przykład udział dużych strat).
- Zachowanie obsunięć (drawdown) w całym okresie testowym.
- Spójność w wielu podokresach.
Horyzont swingowy „działający” tylko w jednym wycinku czasu jest trybem awarii procesu testowania, nawet jeśli ogólna średnia wygląda dobrze.
Ograniczenia i istotne ryzyka
Co najmniej jedno istotne ograniczenie powinno być jawne w każdym teście horyzontu swingowego.
Historyczne wyniki nie ustanawiają przyszłych rezultatów
Nawet dobrze przeprowadzony backtest może dopasować (overfit) wzorce, które później znikną. Dynamika rynku, zachowanie uczestników, warunki płynności i jakość realizacji mogą się zmienić.
Koszty i realizacja mogą odwrócić wnioski
Typowym trybem awarii jest wynik, który utrzymuje się tylko wtedy, gdy spready i slippage są bliskie zeru albo gdy wypełnienia są zakładane po optymistycznych cenach. Gdy zastosujesz realistyczne koszty, efekt może osłabnąć lub zniknąć.
Wycieki i ukryty bias look-ahead
Test może się nie udać, jeśli reguły wejścia lub wyjścia używają informacji, które faktycznie nie były dostępne w momencie podjęcia decyzji. Innym źródłem błędu jest niespójne obchodzenie się ze strefami czasowymi, znacznikami czasu świec lub wyrównaniem danych.
Różnice jurysdykcyjne i operacyjne
Wyniki różnią się między jurysdykcjami, ponieważ istnieją ograniczenia regulacyjne, typy kont i różnice operacyjne w realizacji. Projekt testu powinien odzwierciedlać modelowane środowisko operacyjne, ale nie może zagwarantować równoważności.
Weryfikacja i następne pytanie
Aby proces testowania był niezależnie weryfikowalny, udokumentuj wszystko, co jest potrzebne do jego odtworzenia:
- Dokładną logikę wejścia i wyjścia.
- Definicję okna utrzymania i sposób, w jaki zachodzą wyjścia.
- Źródło danych, częstotliwość świec oraz metodę wyrównania czasowego.
- Założenia dotyczące kosztów i realizacji.
- Bazę i użyte metryki.
- Schemat podziału oraz liczbę użytych okresów.
Praktycznym kolejnym pytaniem po przetestowaniu horyzontów swingowych jest: „Które części projektu spowodowały wynik — samo trwanie utrzymania, czy zmiany w czasie wejścia/wyjścia, koszty i założenia dotyczące realizacji?” Pomaga to ustalić, czy nauczyłeś się stabilnej mechaniki, czy jedynie przypadkowego, zależnego od warunków wzorca.
DOCUMENT END