System wybicia z kanału ? rynek polski

We wcześniejszych komentarzach pojawiło się naturalne zapytanie o system wybicia z kanału w kontekście polskiego rynku. Jakże mógłbym zostawić je bez odpowiedzi …?

Bierzemy więc na tortury najpłynniejszy kontrakt terminowy FW20 w układzie dziennym i badamy siłę jego trendów, posługując się podstawową wersją systemu kanału cenowego gdzie wybicie z maksimum/minimum X dni oznacza jednocześnie zamianę pozycji na przeciwną (a więc przebicie np. maksimum z ostatnich 20 dni oznacza otwarcie pozycji długiej i zarazem wyjście z pozycji krótkiej). Puściłem symulację dla kanałów o długości X= od 1 do 30. Test z uwzględnieniem prowizji 30 zł za każde otwarcie lub zamknięcie (60 zł cała transakcja w obie strony). Kapitał początkowy 10 000 zł, cały czas tylko 1 kontrakt czyli nie reinwestujemy zysków. Rozkład średnich zysków rocznych (CAGR) i maksymalnych obsunięć kapitału (maxDD) dla każdej długości badanego kanału na wykresie poniżej. 

cbs_fw20.jpg

Pomijając skrajne wartości wszystkie pozostałe okazały się historycznie zyskowne w przedziałach 5-15% rentowności rocznej. Wybicia z kanałów o długości od 4 do 12 dni były proporcjonalnie silniejsze ale i tutaj obsunięcia kapitału były po drodze dość znaczne, sięgając od 40 do 70% a więc często powyżej progu bólu nawet zaprawionych inwestorów. Takie proporcje średnich rocznych zysków do maksymalnego obsunięcia wskazują, że strategia w takiej formie z trudem zarabia na siebie. Dodajmy jej więc stopy, które miałyby za zadanie ograniczyć nadmierne spadki kapitału. 

Aby poczuć przez chwilę oddech historii postanowiłem użyć owych sławnych ustawień stosowanych przez Turtles w latach 80-tych. Przyjąłem więc takie oto założenia:

wybicie ponad maksimum cenowe z 20 dni + 1 tik otwiera pozycję długą, jej zamknięcie następuje przy wybiciu w stronę przeciwną czyli poniżej 10 dniowego minimum , dodatkowy stop loss awaryjny ustawiłem na poziomie otwarcia pozycji minus 2 x wskaźnik ATR z 20 dni. Symetrycznie dla pozycji krótkich.

Prowizje i kapitał jak w symulacji wyżej. Wyniki:

CAGR +13,52 %

Trafność 47%

maxDD 36,5 %

Sharp 0,64

Bez optymalizacji i money management ale zyskownie choć bez fajerwerków no i maksymalne obsunięcie dużo mniejsze niż w wersji bez stopów. Strategia wytrzymała próbę czasu choć oczywiście trudno tak to porównywać gdyż oryginał był dużo bardziej rozbudowany.

Proponuję spojrzeć na tzw. underwater curve czyli przebieg wszystkich obsunięć w całym okresie, który został poddany powyższemu testowi:

fw20_underwater.jpg

Okazuje się, że max DD powstał w 1998 roku czyli w okresie, gdzie płynność niemal nie istniała na kontraktach a luki były notoryczne i spore. Dlatego ten okres najczęściej wyłącza się z testów bez szkody dla ich wiarygodności.

Jeszcze rzut oka na rozkład zysków powyższego testu w czasie czyli rok po roku. Poniższa tabela jest tego obrazem:

cbs_20_10_fw.jpg

Spora część zysku powstała w 1999 roku, kolejne lata silnej hossy nie okazały się dla systemu zbyt efektywne. Po części taki rozkład jest spowodowany matematyczną sztuczką – stała wielkość pozycji powoduje, że pojedyncze zyski liczone są od coraz większego kapitału, ale i tak pojawiły się bezwzględne, roczne straty. Struktura rynku zmienia się i warunki dla jeżdżenia na typowo trendowej strategii stają się trudniejsze.  Manipulowanie samym stopem zabezpieczającym zysk (ów 10 dniowy kanał ) w kierunku jego rozszerzenia lub zwężenia nie poprawia istotnie parametrów zyskowności.

Te najprostsze, nieoptymalizowane testy to dla mnie pewien benchmark, odniesienie dla bardziej zaawansowanych przeróbek kodu systemowego, których liczba jest wprawdzie nieskończona ale niekoniecznie wprowadza większą stabilność. Ja jak zwykle wolę zająć się optymalizacją wielkości pozycji niż mnożeniem filtrów. Albo jednym i drugim z przewagą tego pierwszego 🙂

Dla ciekawości jeszcze test wybicia z kanału dla akcji.

Wrzuciłem wersję podstawową wybicia z 20 dni na akcje TPSA, ale tylko pozycje długie wchodzą w grę ze zrozumiałych względów. Nie brałem pod uwagę prowizji. Za każdym razem wystawiałem 80% dostępnego kapitału (jest więc reinwestycja zysków). Wyniki:

CAGR + 7,7 %

MaxDD 37,4%

Trafność tylko 33,3 %

36% czasu system siedzi na pozycji, 64% poza rynkiem

Bez żadnej rewelacji niestety, dodając prowizję mielibyśmy katastrofę…

Dodanie drugiego, węższego kanału jako stopa, niewiele tu zmienia, nie pomaga również zmiana wielkości podstawowego kanału na inne ustawienie niż 20 dni.

To jeszcze dla porównania test na KHGM z podobnymi ustawieniami jak TPSA:

CAGR +10,9%

MaxDD 49%

Takie osiągi to raczej dla desperatów, pomęczymy więc jedynie same kontrakty w kolejnych wpisach 🙂

–* Kathay *–

[Głosów:0    Średnia:0/5]

14 Komentarzy

  1. Jacek

    Nie uwzględniłeś w testach ostatniego okresu z 2008 ?
    (od 22 stycznia 2008 do dzisiaj)
    Dlaczego ?

  2. marek

    Potestuj wybicie z kanału na danych intra tak jak to robiłeś dla funta,no i jakbyś mógł to system z Bankiera.pl 😉

  3. kathay

    @Jacek
    Zostawiam sobie pewien margines na walk forward test czyli test na danych nie widzianych przy tworzeniu wpisów; to po to by za jakiś czas wrócić do opisywanych systemów i sprawdzić je na tych ostatnich, najnowszych danych.
    Poza tym chcę żeby okresy w testach były porównywalne przynajmniej przez jakiś czas. Jeśli zrobię wpis o jakiejś strategii i wracam z jakąś modyfikacją za kilkanaście dni to robię symulacje na tych samych danych co pierwszy wpis.

    @Marek
    OK, będziemy testować do upadłego 🙂

  4. Jacek

    OK, zrobię taki sam i porównam.
    mam tylko pytanie o jedą rzecz –

    " Symetrycznie dla pozycji krótkich." –

    czy to znaczy dokładnie, że :

    wybicie ponad minimum cenowe z 20 dni – 1 tik otwiera pozycję krótką, jej zamknięcie następuje przy wybiciu w stronę przeciwną czyli powyżej 10 dniowego max , dodatkowy stop loss awaryjny na poziomie otwarcia pozycji plus 2 x wskaźnik ATR z 20 dni

    ?

  5. TK

    Dla tych, którzy chcą naprawdę dowiedzieć się, jak działają kanały na FW20, proponuję takie testy:

    1) kanał wejścia o długości od 1-20 dni, kanał wyjścia o długości 1-20 dni
    2) stop = 2xATR, wartość ATR od 1-20 dni
    3) sprawdzić, czy daje coś zastosowanie filtra otwierania pozycji zgodnych tylko z głównym trendem, np. kurs powyżej/poniżej 100-dniowej średniej dla pozycji długich/krótkich
    4) wielkość pozycji – fixed fractional MM oparty na stopie 2xATR
    5) pamiętając o tym, że rozkład cen giełdowych nie ma charakteru stacjonarnego, przed każdym kolejnym rokiem wybrać te długości kanałów, które w 8 ostatnich latach (lub od początku notowań) dały najwyższy wskaźnik Sharpe’a albo najwyższy wskaźnik Annual Sharpe * MAR ratio

    Wówczas potencjał kanałów na FW20 może zdziwić. Choć rok 2007 był trudny dla każdej kombinacji. W tym roku świetny początek i obsunięcie od końca stycznia również nie powinno zaskakiwać.

    A swoją drogą faktem jest, że systemy wybicia zmienności (należy do nich tzw. system z Bankiera) na FW20 mają jeszcze większy potencjał niż kanały.

  6. kathay

    @ Jacek
    Tak właśnie jest dla pozycji short
    minimum z 20 dni na otwarcie, maksimum z 10 dni zamknięcie

    Ale de facto testować możesz całe zakresy kanałów, stopów i wielkosci pozycji jak sugeruje TK

  7. Jacek

    Ok, potestuję w długi weekend.
    Jedak wydaje mi się, że ludzie czytający tego bloga zamiast żmudnego testowania woleliby otrzymać jakiegoś gotowca w rodzaju "Mapa by Lucek", na której byłoby podane jak na tacy kiedy kupić a kiedy sprzedać.

    BTW. Po pewnych modyfikacjach polegających na uzupełnieniu tego arkusza o funkcję wyliczania ATR i współczynnika X i Y jestem zaskoczony jej skutecznościa w real-time. Obawiam się nawet, że jest trochę przeoptymalizowana, bo w dłuższym czasie nie da się chyba utrzymać tak wysokiego procentu udanych transakcji.

  8. GiełduGiełdu

    @KatHay
    A ile transkacji było zawieranych?. Przyjmując niższe prowizje (a takie teraz mamy), przy dużej ilości transkacji można uzyskać nieco inne wyniki, a nawet przyzwoite , przykładowo 500 transakcji x 44 zł (przyjęta prowizja 60zł -aktualna prowizja dla w mairę aktywnego tradera 16 zł) = 44 000 zł .

    Pozdrowienia,
    GiełduGiełdu

  9. anonim

    …Ja jak zwykle wolę zająć się optymalizacją wielkości pozycji niż mnożeniem filtrów. Albo jednym i drugim z przewagą tego pierwszego…

    A wlasnie – sporo o systemach juz napisano.
    A o zarzadzaniu wielkoscia pozycji, systemach piramidowych itp. a przynajmniej nic konkretnego nie znalazlem.
    Moglby Pan przyblizyc troche ten temat?

  10. Jacek

    Ostatnie transakcje z 2008 :
    99 2008-02-14 Buy 1 3161.00 BuyH
    2008-02-27 LExit 1 3014.00 BuyHx (148.50) 2872.50
    100 2008-03-03 Sell 1 2850.00 SelL
    2008-03-27 SExit 1 2981.00 SelLx (132.50) 2740.00
    101 2008-04-01 Buy 1 3021.00 BuyH
    2008-04-11 LExit 1 2919.00 BuyHx (103.50) 2636.50
    102 2008-04-23 Sell 1 2821.00 SelL
    2008-05-05 SExit 1 2955.00 Money Mngmt Stop (135.50) 2501.00
    103 2008-05-13 Buy 1 3044.00 BuyH
    2008-05-21 LExit 1 2953.00 BuyHx (92.50) 2408.50

    czyli piąta, kolejna wtopa … i aktualny DD = 825 pkt,
    czyli 8250 zł straty na jednym kontrakcie.

    Od takich systemów to Luckowa Mapa jest 100 razy lepsza 😉

  11. adam

    Lucka mapa sprawdziła sie wczoraj co do joty , nikt tego nie zauważył , czyżby nikt nie testował ? Luck -gratulacje

  12. Big Boi

    Dziwny człowiek z tego Lucka..
    filantrop jakiś ?
    zamiast samemu spokojnie trzepać kasę to porozdawał za darmo ten skoroszyt z mapą.
    Na szczęście jest chyba tak jak piszesz, bo jak na razie to sprawdza sie bardzo dokładnie.

  13. myst

    A gdzie tę mapę można zobaczyć?

  14. Hurricane Chris

    http://www.charts.dacharts.com/2008-05-21/mapa_by_lucek.png

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Proszę podać wartość CAPTCHA: *