Trend following to rodzina metod, które budują ekspozycję zgodnie z regułą opisującą dotychczasowy kierunek rynku. Przykładem jest kupno po wybiciu wcześniejszego maksimum i wyjście po utracie części wzrostu. To nie obietnica rozpoznania początku i końca trendu. System potrzebuje kompletnych reguł wykonania oraz kontroli ryzyka; sam kanał lub przecięcie średnich ich nie zastępuje.

Co właściwie podlega sprawdzeniu

Wybicie kanału, przecięcie średnich oraz znak stopy zwrotu z określonego okresu są różnymi definicjami sygnału. Nie należy przypisywać im jednej skuteczności. Dodatkowy filtr może zmienić liczbę wejść i opóźnienie, ale dopiero pomiar pokaże jego wpływ na wynik po kosztach. Nie ma zasady, że średnie zawsze odrzucają więcej błędnych sygnałów niż kanał.

Publikacja Hursta, Ooi i Pedersena z 2017 roku bada historyczne time-series momentum na wielu rynkach. Nie jest testem poniższego modelu EUR/USD ani dowodem jego wyniku obecnie. Opowieści o dawnych traderach także nie zastąpią danych i specyfikacji, którą można odtworzyć.

Dodatnia zmiana ceny i wybicie kanału to inne sygnały

Różnicę między rodzinami reguł można pokazać bez oceniania ich rentowności. Własny test syntetyczny używa czterech okresów i dwóch jawnych warunków: dodatniego C4/C1−1 oraz C4 ponad najwyższym H1–H3. Okno trzech okresów służy rachunkowi; nie rekonstruuje wielomiesięcznego badania momentum.

Te same ceny początkowa 100 i końcowa 105; odmienne wcześniejsze drogi
Kolejne zamknięciaH1–H3Zmiana od C1Sygnał kanału
100, 102, 103,105101, 103, 104+5%: dodatnia105 > 104: tak
100, 115, 104, 105101, 120, 106+5%: dodatnia105 > 120: nie

Oba przebiegi mają taką samą zmianę między końcami. Drugi pozostaje jednak pod wcześniejszym szczytem, więc nie spełnia wybicia. Reguła znakowa wybrałaby oba, kanał tylko pierwszy. Wynik nie pozwala ustalić, która rodzina będzie lepsza po kosztach; dowodzi jedynie, że zbiory zdarzeń są różne.

AQR w opisie pracy Moskowitz, Ooi i Pedersena rozróżnia własną wcześniejszą stopę zwrotu instrumentu od jego wyniku względem innych rynków. Nasz prosty przykład pomija także dochód i finansowanie, więc nie jest odtworzeniem ich excess return. Nie przenoś statystyk z pracy o momentum na system kanału tylko dlatego, że oba nazywasz trend following.

Kanał Donchiana bez użycia bieżącej świecy

Górna granica kanału odpowiada najwyższemu maksimum w wybranym oknie, dolna najniższemu minimum. Dla naszego sygnału na świecy t definiujemy U(t) = max(H od t−N do t−1). Próg wyjścia wynosi D(t) = min(L od t−M do t−1). H oznacza maksimum, L minimum, C zamknięcie. W obu oknach świadomie pomijamy świecę ocenianą.

Gdyby do górnej granicy dodać H(t), warunek C(t) > U(t) nie mógłby być spełniony: zamknięcie nie przewyższa własnego maksimum. To błąd definicji wybicia. Osobnym błędem jest użycie końcowego H(t) lub C(t) do decyzji, którą symulacja umieszcza wcześniej wewnątrz tej samej świecy — wtedy test korzysta z przyszłej informacji.

Parametry N = 3 i M = 2 poniżej służą czytelnemu rachunkowi. Nie są rekomendacją ustawień ani rekonstrukcją systemu Turtle Traders. Dłuższe okno trzeba badać osobno. Szczegółową konstrukcję przedstawia artykuł o kanałach Donchiana.

Autorski wariant do badania: tylko pozycje długie
ElementJawna reguła modelu
DaneDzienne świece Bid EUR/USD; decyzje po zamknięciu
WejścieBez pozycji: C bieżące > najwyższe H trzech poprzednich świec
WykonanieZakup przy następnej dostępnej kwotacji Ask; bez dopisywania ceny sygnału jako ceny wykonania
WyjścieC bieżące < najniższe L dwóch poprzednich świec; sprzedaż przy następnej kwotacji Bid
OchronaStały SL 1,0980 w tym przykładzie; jego aktywacja ma pierwszeństwo przed wyjściem na zamknięciu
Ekspozycja10 000 EUR, jedna pozycja, bez dokładania i bez stałego celu zysku

Równość ceny i progu nie spełnia naszych ścisłych nierówności. Po zamknięciu pozycji nie odwracamy jej automatycznie na short. Dalsze wejście wymaga nowej oceny na kolejnym zamknięciu. Takie rozstrzygnięcia zapisuje się przed testem, ponieważ zmieniają liczbę transakcji.

Przykład: poprawny sygnał, stratny wynik

Wszystkie ceny są wymyślone. Zakładamy brak pozycji przed rozpoczęciem tabeli oraz brak wymaganej wcześniejszej historii. Sygnał po świecy 4 powstaje dopiero po poznaniu jej zamknięcia. Na początku świecy 5 przyjmujemy Bid 1,1031 i faktyczne wykonanie kupna po Ask 1,1033. Nie cofamy zakupu do maksimum kanału 1,1020.

Hipotetyczne dane Bid: sygnał i późniejsze wykonanie to różne zdarzenia
ŚwiecaH / L / CPróg istotny dla decyzjiWynik oceny
11,1010 / 1,0990 / 1,1000Brak trzech wcześniejszych świecBudowanie historii
21,1020 / 1,1000 / 1,1010Brak trzech wcześniejszych świecBudowanie historii
31,1015 / 1,0995 / 1,1005Dopiero powstaje pełne oknoBez sygnału
41,1035 / 1,1000 / 1,1030Wejście: max H1–H3 = 1,10201,1030 > 1,1020: sygnał long
51,1060 / 1,1025 / 1,1050Wyjście: min L3–L4 = 1,0995Zakup na początku; brak wyjścia
61,1065 / 1,1040 / 1,1045Wyjście: min L4–L5 = 1,1000Brak wyjścia
71,1050 / 1,1015 / 1,1020Wyjście: min L5–L6 = 1,10251,1020 < 1,1025: sygnał zamknięcia

Po świecy 7 wysyłamy polecenie zamknięcia. Przyjmujemy wykonanie na początku świecy 8 po Bid 1,1018. Zwykły stop 1,0980 w tej ścieżce nie został aktywowany. Warunek oparty na zamknięciu nie oznacza natychmiastowego stopa na linii kanału: cena mogła przekroczyć ją wcześniej, lecz model czekał do końca świecy.

Wynik brutto wynosi 10 000 × (1,1018 − 1,1033) = −15 USD. Odejmujemy umowne 4 USD łącznej prowizji oraz 1 USD łącznego obciążenia finansowaniem: netto −20 USD. Rachunek prowadzimy w USD, więc nie ma konwersji walutowej. Spread jest już zawarty w cenach Ask wejścia i Bid wyjścia; nie odejmujemy go drugi raz. To ilustracja, nie oferta kosztowa brokera.

Chociaż cena po wejściu wzrosła, reguła wyjścia oddała ten ruch i zakończyła transakcję stratą. Brak stałego take profit umożliwia dłuższe utrzymywanie pozycji, ale nie zapewnia dużej wygranej. Wsteczne zamknięcie jej dokładnie na H6 = 1,1065 byłoby inną regułą wymagającą informacji, której na tym maksimum nie mieliśmy.

Ryzyko nie kończy się na odległości stopa

Odległość między wykonanym wejściem 1,1033 a stopem 1,0980 wynosi 0,0053, czyli 53 pipsy przy pipie 0,0001. Dla 10 000 EUR daje to 53 USD zmiany wartości przed kosztami. Nie jest to gwarantowana maksymalna strata: cena realizacji zlecenia może się różnić od poziomu aktywacji. Wolumen w przykładzie służy obliczeniom, nie wskazaniu właściwego ryzyka czytelnikowi.

Przed uruchomieniem systemu sprawdź minimalny wolumen, krok wielkości pozycji, wymagany depozyt, koszty utrzymania i łączną ekspozycję. Kilka różnych symboli może dzielić tę samą walutę oraz wspólny czynnik ryzyka. Sama liczba instrumentów nie dowodzi dywersyfikacji. Jeżeli ograniczenia kontraktu uniemożliwiają wykonanie przyjętego planu, dopuszczalnym wynikiem oceny jest brak transakcji.

Jak ocenić cały system

Zacznij od odtworzenia kilku sygnałów ręcznie. Sprawdź zakres okna, godzinę zamknięcia świecy, stronę kwotowania oraz moment dostępności danych. Następnie porównaj model z transakcjami symulatora. Domyślna realizacja zlecenia na następnym ticku w TradingView jest regułą emulatora, a nie gwarancją ceny u brokera.

W teście uwzględnij koszty oraz mniej korzystne wykonania. Osobno raportuj wynik netto, obsunięcie kapitału z otwartymi pozycjami, długość okresów bez nowego maksimum i koncentrację wyniku w kilku transakcjach. Jeżeli przewaga znika po niewielkiej zmianie parametrów lub kosztów, wymaga dalszej weryfikacji. Nie szukaj jednego ustawienia tylko dlatego, że najlepiej pasuje do znanej historii.

Odłóż część danych do oceny po ustaleniu reguł i prowadź test obserwacyjny bez zmieniania ich po każdym wyniku. Zapisz również warunki wstrzymania systemu, na przykład brak danych lub przekroczenie własnego limitu ekspozycji. Dyscyplina nie oznacza obowiązku handlowania przy awarii. Żadna seria strat nie gwarantuje późniejszej transakcji, która wszystko odrobi. Kolejny krok to przygotowanie rzetelnego backtestu.

Sprawdź, czy rozumiesz

Jedno krótkie ćwiczenie

Zachowaj wielkość 10 000 EUR i wejście Ask 1,1033, lecz w niezależnym wariancie otrzymaj końcowe wykonanie sprzedaży po Bid 1,1043. Prowizja łączna nadal wynosi 4 USD, a finansowanie 1 USD. Ile wynosi wynik brutto i netto? Czy należy dodatkowo odjąć spread?

Sprawdź odpowiedź

Brutto: 10 000 × (1,1043 − 1,1033) = 10 USD. Netto: 10 − 4 − 1 = 5 USD. Spread jest już uwzględniony przez rzeczywiste Ask zakupu i Bid sprzedaży; nie odejmujemy go drugi raz. Ten wariant zmienia końcowe wykonanie, nie jest dalszym ciągiem pokazanej ścieżki cen.

Następny temat: Backtest strategii: reguły, dane, koszty i ocena →