Testy in-sample / out-of-sample dla strategii wybicia z kana艂u

Zasada dzia艂ania kana艂u Donchiana

    Kana艂 Donchiana to wska藕nik techniczny, kt贸ry pomaga usystematyzowa膰 pod膮偶anie za trendem. Aby go narysowa膰, wyznaczamy maksimum oraz minimum ceny z ostatnich X dni i rysujemy przedzia艂 na wykresie.

Donchian example

    Kana艂 niejako "pod膮偶a" za cen膮. Wybicie z kana艂u g贸r膮 uwa偶a si臋 za sygna艂 do kupna, a wybicie do艂em za sygna艂 sprzeda偶y. Poniewa偶 cena nie mo偶e spada膰 bez obni偶enia kana艂u, system zbudowany w ten spos贸b b臋dzie szybko ci膮艂 straty i pozwala艂 zyskom rosn膮膰. Richard Donchian jest uwa偶any za ojca trend-followingu.

Backtest na danych historycznych

    Kana艂 Donchiana jest znany od dziesi臋cioleci. Przetestujemy, czy nadal mo偶na dzi臋ki niemu zarabia膰. Dodamy kilka regu艂, aby stworzy膰 pe艂niejszy system transakcyjny.

    Sygna艂 sprzeda偶y jest prosty: je艣li cena zamkni臋cia akcji jest najni偶sza od N dni, sprzedajemy akcje na nast臋pnej sesji.
    Sygna艂 kupna: je艣li cena zamkni臋cia jest najwy偶sza od M dni, kupujemy na nast臋pnej sesji.
Kupujemy za 5% warto艣ci portfela (je艣li nie mamy tyle got贸wki, czekamy). Dok艂adamy do istniej膮cych pozycji, ale tylko je艣li obecna warto艣膰 posiadanych akcji nie przekracza 5% warto艣ci portfela. W przypadku sygna艂贸w na wielu sp贸艂kach sprawdzamy, jak mocno sp贸艂ka uros艂a przez ostatni rok (wi臋cej o tym za chwil臋). Ca艂o艣膰 optymalizujemy na danych in-sample z okresu od 9 lipca 2007 (szczyt przed kryzysem) do 1 lutego 2018 (kolejny szczyt). Wybierzemy najlepsze parametry, a nast臋pnie przetestujemy je out-of-sample na okresie od 1 lutego 2018 do czerwca 2024.

Optymalizacja in-sample

    Sprawdzamy r贸偶ne d艂ugo艣ci kana艂贸w z zakresu od 5 do 375 dni. Optymalizujemy r贸wnie偶 warunek wyboru sp贸艂ek, gdy mamy zbyt wiele sygna艂贸w: w jednej wersji systemu wybieramy sp贸艂ki, kt贸re uros艂y najbardziej w ostatnim roku, a w drugiej te, kt贸re uros艂y najmniej (lub wr臋cz spad艂y). Powodem sprawdzenia obu wersji jest to, 偶e nie wiemy "przed czasem", kt贸ry warunek da lepsze sygna艂y. Aby uczciwie wykona膰 test in-sample, musimy niejako "udawa膰", 偶e nic nie wiemy o charakterystyce ruch贸w. Jeszcze bardziej uczciwy test uwzgl臋dni艂by odwr贸cone sygna艂y kupna i sprzeda偶y (kupujemy po wybiciu z dolnego ograniczenia kana艂u, sprzedajemy po wybiciu z g贸rnego). Jednak takie regu艂y nie pozwala艂yby zyskom rosn膮膰, dlatego mo偶emy taki system odrzuci膰. "Hodowanie" zysk贸w jest najprostsz膮 drog膮 do sukcesu - cena mo偶e spa艣膰 tylko o 100%, a wzrosty mog膮 by膰 nieograniczone.

    Po przeprowadzeniu optymalizacji wiemy, 偶e najlepsze d艂ugo艣ci to 47 sesji dla kupna oraz 116 dla sprzeda偶y. Je艣li mamy wi臋cej sygna艂贸w ni偶 got贸wki, powinni艣my kupowa膰 sp贸艂ki, kt贸re uros艂y najwi臋cej w ci膮gu ostatnich 250 sesji.

    Ko艅cowy wynik takiego systemu to ponad 700% zysku, jednak jest to wynik "papierowy" - w rzeczywisto艣ci nie da si臋 go osi膮gn膮膰, poniewa偶 nie mo偶na przewidzie膰, jakie warto艣ci parametr贸w b臋d膮 optymalne. Pozostaje mie膰 nadziej臋, 偶e charakterystyka rynku nie zmieni si臋 zbytnio i parametry, kt贸re by艂y najlepsze w przesz艂o艣ci, b臋d膮 r贸wnie偶 zyskowne w przysz艂o艣ci.

Czy system przesta艂 dzia艂a膰 - testy out-of-sample

    Znaj膮c warto艣ci najlepszych parametr贸w, mo偶na zaryzykowa膰 tez臋, 偶e b臋d膮 one zyskowne r贸wnie偶 w przysz艂o艣ci. Wprawdzie wszyscy uczestnicy rynku mogli wykona膰 taki test i doj艣膰 do tych samych wniosk贸w, ale prawdopodobie艅stwo, 偶e tak si臋 sta艂o, jest bardzo ma艂e.

    Poni偶ej przedstawiamy wykres kapita艂u dla testu out-of-sample za okres 1 lutego 2018 - czerwiec 2024. Warto艣膰 pocz膮tkowa kapita艂u wynosi 65585, czyli warto艣膰 WIG pierwszego dnia testu.

capital

    Jak wida膰, system i WIG sz艂y 艂eb w 艂eb mniej wi臋cej do jesieni 2019 roku. Potem system zacz膮艂 mocno zarabia膰. Ostatnia hossa (od po艂owy 2022 roku) to r贸wnie偶 bardzo dobry okres, w kt贸rym system podwoi艂 sw贸j kapita艂 (艣redni wzrost cen akcji od tego okresu to tylko 51%). Wynik systemu od pocz膮tku out-of-sample to zysk 335%, co daje oko艂o 26% CAGR. W tym czasie WIG wzr贸s艂 tylko o 30%, czyli jakie艣 4% CAGR. 艢rednio akcje wzros艂y w tym czasie o 122%.

     Nawet taki prosty system daje przewag臋. Wybieraj膮c parametry z testu in-sample, unikamy b艂臋du podgl膮du danych z przysz艂o艣ci. Teraz potrzebujemy tylko czasu, kapita艂u i dyscypliny. Kod 藕r贸d艂owy znajduje si臋 tutaj.

Nast臋pny wpis
Pytania lub uwagi? Twitter / X: 艁ukasz Wojt贸w
Software do testowania rynk贸w finansowych: Alis