Blaski i cienie optymalizacji

W poprzednim wpisie zwróciłem uwagę na średnioterminowe zachowanie kursu akcji Apple po wystąpieniu „formacji krzyża” – złotego krzyża i krzyża śmierci. Pretekstem do opublikowania tej analizy był medialny szum związany z niedawnym wystąpieniem krzyża śmierci.

Jeden z komentatorów słusznie zauważył, że nie musi to oznaczać, że strategie w całości oparta na przecięciu średnich nie działają i pokazał, że takie strategie działały na wielu rynkach w latach 2000-2012. Nie zajmowałem się na blogu strategiami opartymi na przecięcia średnich i zamierzam wyjaśnić dlaczego tak się stało.

Zacznę od wyjaśnienia co rozumiem przez strategie w całości oparte o przecięcia średnich – to strategie, w których sygnały otwarcia długiej pozycji, zamknięcia jej, otwarcia krótkiej pozycji i zamknięcia jej (gdzie zamknięcie długiej pozycji to jednocześnie otwarcie krótkiej pozycji a zamknięcie krótkiej pozycji to jednocześnie otwarcie krótkiej pozycji) generuje przecięcie dwóch średnich kroczących, z reguły krótkoterminowej i długoterminowej. Innymi słowy, inwestor przez cały okres zajmuje pozycję na rynku – raz długą, raz krótką. Z oczywistych powodów takie strategie zestawia się z kup i trzymaj.

Nie miałem okazji zapoznać się z systematycznym badaniem tego typu strategii więc nie posiadam arbitralnej opinii w kwestii tego czy one działają czy nie. Intuicyjnie traktuję takie strategie jako jednocześnie najprostsze i najtrudniejsze sposoby na wygranie ze strategią kup i trzymaj. Dlaczego?

Z jednej strony dopuszczam myśl, że ten prosty sposób podążania za trendem może dodać wartość do idei kup i trzymaj. Z drugiej strony, łatwość optymalizowania tych strategii sprawia, że bardzo łatwo jest „przedobrzyć” w tworzeniu tych strategii.

Szczerze mówiąc, w przypadku strategii opartych o przecięcia średnich ogłaszam kapitulację – nie mam ani intuicyjnych pomysłów ani sprawdzonej metody statystycznej na wyodrębnienie sygnału. Te strategie są także z reguły (to oczywiście zależy od tego z jakiej kombinacji krótkoterminowych i długoterminowych średnich się korzysta) przeznaczone dla inwestorów o długim horyzoncie inwestycyjnym. W przypadku złotego krzyża i krzyża śmierci oznaczało to kilka, kilkanaście transakcji na dekadę w przypadku Apple. Otrzymywanie sygnału zwrotnego od strategii co kilka lat nie odpowiada mojemu profilowi inwestycyjnemu.

Postaram się szybko pokazać co mam na myśli. Załóżmy, że w 1989 roku inwestor chciałby inwestować na akcjach Apple z użyciem strategii przecięcia średnich. Zrobiłby test* (w okresie 1984-1989) i zbadałby wszystkie kombinacje średnich od 10-sesyjnej do 250-sesyjnej (odstęp optymalizacji co 5). Dałoby to 2401 kombinacji. Co by się okazało?

Około 80% strategii przyniosłoby zysk. Około 11% strategii przyniosłoby zysk większy niż strategia kup i trzymaj. Tak wyglądałoby 10 najlepszych strategii**:

ST MA LT MA % Gain 84-90
1 110 165 340%
2 35 40 313%
3 140 185 305%
4 115 250 304%
5 130 155 304%
6 65 170 295%
7 140 180 292%
8 85 185 291%
9 115 230 284%
10 25 30 282%
Średnia 301%
B&H 163%

A teraz zobaczmy jak te strategie spisałyby się w następnej dekadzie:

ST MA LT MA % Gain 84-90 % Gain 90-00 % Gain 00-12 % Gain 84-12
1 110 165 340% -44% 29% 496%
2 35 40 313% -52% -42% 85%
3 140 185 305% -3% 741% 13498%
4 115 250 304% 345% 2352% 12569%
5 130 155 304% -16% 146% 528%
6 65 170 295% -94% 515% 161%
7 140 180 292% -48% 694% 203%
8 85 185 291% -40% 535% 244%
9 115 230 284% 159% 1198% 33598%
10 25 30 282% 44% -50% 2313%
Średnia 301% 25% 612% 6370%
B&H 163% 184% 1690% 17582%

Jak widać 10 najlepszych strategii opartych o przecięcie średnich z okresu 1984-1990 z kretesem przegrałoby (przeciętna z nich) ze strategią kup i trzymaj w następnych 10 latach.

Załóżmy, że podobny test inwestor zrobiłby na koniec 1999, sprawdzając strategie przecięcia średnich w latach 90. Okazałoby się, że 58% strategii przyniosłoby zyski. Około 13,5% pokonałoby strategię kup i trzymaj. Co stało się z 10 najlepszymi strategiami w latach 2000-2012. Te i inne dane pokazuje poniższa tabela:

ST MA LT MA % Gain 84-90 % Gain 90-00 % Gain 00-12 % Gain 84-12
1 45 40 -63% 947% -46% 81%
2 160 120 24% 835% -27% 354%
3 10 40 31% 708% -35% 2761%
4 15 30 120% 647% -57% 1490%
5 160 75 19% 646% -49% 7%
6 235 240 104% 631% 168% 59345%
7 185 55 46% 629% -55% 458%
8 140 65 92% 628% -48% 100%
9 170 55 29% 612% -58% 576%
10 20 30 186% 605% -74% 3554%
Średnia 59% 689% -28% 6873%
B&H 163% 184% 1690% 17582%

W tym przypadku 10 najlepszych strategii opartych o przecięcie średnich z okresu 1990-2000 nie tylko nie pobiłoby (przeciętna z wyników 10 strategii) strategii kup i trzymaj w latach 2000-2012 ale przyniosłoby stratę.

Co ciekawe, gdyby inwestor zbadał pod koniec 1999 roku strategie oparte na przecięciach średnich w okresie 1984-2000 to najlepsza 10 strategii z tego okresu okazałaby się skuteczna także w latach 2000-2012 osiągając wynik lepszy od kup i trzymaj.

ST MA LT MA % Gain 84-00 % Gain 00-12
1 235 240 4249% 168%
2 235 245 2198% 2360%
3 215 250 2189% 5995%
4 215 245 1889% 5892%
5 210 250 1856% 5408%
6 125 65 1854% -53%
7 15 55 1784% -47%
8 175 100 1675% -38%
9 220 45 1654% -58%
10 10 45 1628% -31%
Średnia 2097% 1960%
B&H 666% 1690%

Powstaje pytanie: na ile jest to sygnał a na ile szum?

Konwencjonalna statystyka sugeruje, że badając strategie na różnych rynkach (Lucky testował kombinacje średnich na kilkudziesięciu rynkach!) i korzystając z badań in-sample i out-of-sample można przynajmniej w pewnym zakresie oddzielić szum od sygnału. Na ile skutecznie?

Przed tego typu problemami stoi większość inwestorów konstruujących strategie. Część z nich uważa, że w przypadku niektórych strategii uzyskanie sygnału jest łatwiejsze niż przypadku innych strategii. Część inwestorów i badaczy uważa, że w każdym wypadku trudności są nie do przezwyciężenia.

Moim zdaniem, przypadek strategii opartych na przecięcia średnich dobrze pokazuje skalę trudności.

* Wszystkie testy w Metastock. Dane Stooq. Bez kosztów transakcyjnych. Zlecenia rynkowe. Wielkość pozycji 100% kapitału. Bez stopów.

** ST MA to krótkoterminowa średnia, LT MA to długoterminowa średnia, % Gain to procentowy zysk/strata za okres, Średnia to przeciętna z 10 strategii w danym okresie, B&H to wynik kup i trzymaj w tym samym okresie.

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

13 Komentarzy

  1. Pompon

    A moim zdaniem próba dopasowania schematu do chaosu przypomina tworzenie systemów w totka.

  2. trendfollowerpl

    @Trystero
    >Moim zdaniem, przypadek strategii opartych na przecięcia średnich dobrze pokazuje skalę trudności.

    Zastanawiam się, o jakiej trudności piszesz?
    Wg mnie testowanie próbki z 16 lat skazane jest z góry na porażkę.
    W tak długim okresie, dany walor/rynek, kilkukrotnie może zmienić swoją dynamikę/charakterystykę ruchu. Nie mówiąc już o kolejnej dekadzie testu insample.

    1. trystero (Post autora)

      @ trendfollowerpl

      Piszę o trudności ustalenia tego czy masz do czynienia z jakimś wzorem czy z losowością. Przy czym zakładam możliwość, że to w ogóle jest zadanie niewykonalne. Zakładam możliwość a nie “jestem pewien” albo “uważam tak”.

      Wg mnie testowanie próbki z 16 lat skazane jest z góry na porażkę.
      W tak długim okresie, dany walor/rynek, kilkukrotnie może zmienić swoją dynamikę/charakterystykę ruchu. Nie mówiąc już o kolejnej dekadzie testu insample.

      Nie rozumiem. Sugerujesz krótsze okresy testów? To byłoby trudne w przypadku długoterminowych średnich gdzie masz kilka sygnałów na dekadę. Sugerujesz dynamiczne optymalizowanie w oparciu o jakiś inny wskaźnik? Po pierwsze, to trudne w przypadku kilku sygnałów na dekadę. Po drugie, jakikolwiek drugi poziom optymalizowania czy filtr w strategiach z przecięciem średnich wniesie optymalizowanie na niebotyczne poziomy.

  3. Harry

    Każda strategia jest dobra, jeśli wiemy jak jej używać. Problemem jest to, że ludzie nie rozumieją, iż strategia powinna być dopasowana do osobowości tradera! Sam ostatnio zacząłem zostawiać pozycje na okres do kilku tygodni i muszę stwierdzić, że dla swing tradera jak ja jest to nie lada wyzwaniem! W zeszłym roku, gdy zaczynałem swoja przygodę z forexem, testowałem systemy oparte na przecięciu 2-3 EMAs i muszę przyznać, że nie było tygodnia, w którym bym był na minusie. Jednakże, jak w każdej strategii opartej wyłącznie na sygnałach technicznych, będziemy mieli wiele whipsaws, tak więc niezbędnym staje się rozwijanie wiedzy na temat fundamentów i doświadczenie. Trudno mi mówić o akcjach, ale na forexie przecięcie powiedzmy 50 i 200 EMAs jest zazwyczaj poparte zmianą określonych wskaźników w gospodarkach danych krajów. Optymalizacja zrobiona na past data nie jest odpowiedzią na pytanie co zrobić w przyszłości. Należy rozwijać swoją wiedzę dotyczącą makroekonomii i dużo czytać. Łącząc to z doświadczeniem, cierpliwością i dobrym money management uzyskujemy filtr, który powinien pozwolic nam na spokojne zarabianie pieniędzy!

    1. trystero (Post autora)

      @ Harry

      Optymalizacja zrobiona na past data nie jest odpowiedzią na pytanie co zrobić w przyszłości. Należy rozwijać swoją wiedzę dotyczącą makroekonomii i dużo czytać.

      Poruszyłeś interesującą kwestię, której chce poświęcić cały wpis w przyszłości. Im lepiej rozumiemy działanie systemu, im lepszą mamy teorię wyjaśniającą działanie systemu tym lepszą strategię możemy zrobić, tym lepiej możemy prognozować. Nate Silver kładzie na to wielki nacisk podając przykłady sejsmologii (nie ma teorii) i meteorologii (jest teoria). Tutaj jest też różnica w tym co robią dodatkowe pokłady danych – gdy mamy teorię wyjaśniającą działanie systemu i model dobrze oddający rzeczywistość (meteorologia) to dodatkowe dane mogą ulepszyć naszą strategię. Gdy nie mamy teorii to dodatkowe dane wnoszą po prostu dodatkowy szum (sejsmologia).

  4. trendfollowerpl

    @Trystero
    > Sugerujesz dynamiczne optymalizowanie w oparciu o jakiś inny wskaźnik

    Zamiast cyklicznego optymalizowania jednego systemu można działać jednocześnie kilkoma automatami zachowującymi się różnie w różnych warunkach rynkowych, skalując ich zaangażowanie w zależności od wyników w okresie poprzednim (lub innych założeń/testów).
    Rynek jest po prostu zbyt zmienny aby przez (jak w przykładzie Apple) 30 lat bazować na 1 systemie.

  5. Lucky

    Ja bym to sprawdził tak:
    Bierzemy 496 różnych systemów (systemy podążania za trendem, 3 rodzaje, duża ilość systemów wynika z różnych parametrów dla każdego). Testujemy na latach 1992 – 2002 dla około 30 rynków. Część systemów przyniosła zyski (dla uproszczenia liczymy bez prowizji, chodzi nam o sprawdzenie zależności między wynikami systemu w przeszłości i przyszłości) a część straty. Mediana zysków to 222%. Teraz bierzemy te same systemy i rynki za okres 2002 – 2012. Mediana zysków to 1732%. Nie chodzi o konkretne wartości tylko zależność czy system lepszy od mediany w przeszłości pozostanie lepszym od mediany w przyszłości. Nie możemy sprawdzać absolutnych stóp zwrotu ponieważ one w dużej mierze zależą od tego jaki był rynek. Jeśli na rynku były trendy to systemom jest łatwo zarabiać. Jeśli rynki tylko rosły (każdego dnia) to każdy system zarobi.
    Wpisujemy do excella dwie kolumny: nazwa systemu oraz wynik 1992-2002. W trzeciej kolumnie wpisujemy różnicę: wynik – mediana. W ten sposób połowa systemów ma w trzeciej kolumnie plus a połowa minus. W czwartej kolumnie wpisujemy wynik za lata 2002-2012, a w piątej różnicę między wynikiem a medianą (2002 – 2012). W szóstej kolumnie mnożymy kolumny trzy i pięć. Jeśli dwie liczby były dodatnie lub dwie ujemne dostaniemy liczbę dodatnią, w przeciwnym razie ujemną. Dla uproszczenia w siódmej kolumnie wpisujemy warunek: jeśli szósta jest dodatnia to siódma przyjmuje wartość 1, w przeciwnym razie 0. Teraz sumujemy kolumnę 7, czyli po prostu liczmy ile razy system, który był poniżej mediany w pierwszym okresie pozostał poniżej mediany w drugim okresie, oraz ile razy system, który był powyżej mediany w pierwszym pozostał powyżej mediany w drugim.
    Suma kolumny 7 wynosi 291 (na 496 systemów) czyli jakieś 58,8%. Jakie prawdopodobieństwo, że to przypadek?
    http://www.wolframalpha.com/input/?i=496+flips+291+heads
    Interesuje nas dwustronne p-value czyli około 1:10000.
    Jak dla mnie prawdopodobieństwo jest wystarczająco małe aby optymalizować.

    1. trystero (Post autora)

      @ Lucky

      Pierwsza sprawa jest taka: nie jestem w stanie powtórzyć wyników Twoich testów. Robiłem badania na 20 (z 22 rynków, które podałeś w odpowiedzi Bogdanowi – wyrzuciłem Nasdaq i ryż bo nie były notowane w latach 90.) i rezultat wyszedł o rzędy wielkości mniejszy. Robiłem in-sample 90-00 i out-of-sample 00-12.

      Bardzo dawno nie pracowałem na Metastocku (używam albo specjalnie napisanej dla mnie aplikacji albo Amibrokera) więc mogłem popełnić błąd ale ponieważ zakodowanie przecięcia średnich i optymalizacji to jest bułka z masłem odnoszę wrażenie, że problem leży w sposobie w jaki Ty zliczasz wyniki.

      W teście na 20 rynkach, przy maksymalnych jednoczesnych pozycjach i wielkości pozycji 5% dostępnego kapitału (co ma sens bo w tym systemie cały czas jesteś na rynku raz na długiej, raz na krótkiej) maksymalny wynik w okresie 2000-2012 wynosił około 360% co daje CAGR na poziomie 15%.

      Moja robocza hipoteza jest taka, że te wyniki, które Ty pokazujesz możesz osiągać tylko jeśli na wielu rynków masz wiele pozycji o maksymalnej wielkości 100% kapitału a potem sumujesz wyniki a nie wyciągasz średnią. Tylko w taki sposób możesz otrzymać czterocyfrowe stopy zwrotu – to jest moja robocza hipoteza.

      Bardzo doceniam to, że wrzucasz tu wyniki swoich testów – trudno sobie wyobrazić lepszy fundament do dyskusji o systemach inwestycyjnych, ale miałbym prośbę żebyś sprawdził to co robisz. Jest całkiem możliwe, że to ja popełniam jakiś błąd ale możliwe jest też, że coś u Ciebie podwyższa wyniki.

      Druga sprawa: zwróciłem uwagę, że moim zdaniem w przypadku takich strategii jak przecięcia średnich trudno jest ustalić na ile ma się do czynienia z sygnałem a na ile z szumem. Starałem się pokazać jak zwodniczy może być szum w takim przypadku. Jeśli uważasz, że jesteś w stanie przezwyciężyć ten problem i dzięki temu zarabiać to mogę jedynie zasygnalizować potencjalne pułapki i ewentualnie uznać, że radzisz z tym sobie lepiej ode mnie.

  6. Lucky

    @Trystero
    Co do wynikow masz racje. Nie symuluje equity konkretnego systemu transakcyjnego, uwzgledniajacego zarzadzenie wielkoscia pozycji, dzwigni, prowizji, rolowania kontraktow itd. W tych testach wyzej, jeden system gra na kazdym rynku z osobna za 100% kapitalu. Potem sumuje wyniki ze wszystkich rynkow dla danego systemu i to jest wynik. Tym sposobem jest mozliwe aby wynik systemu byl duzo mniejszy -100%. Oczywiscie taka gra nie jest mozliwa w rzeczywistosci, ale chodzi wyeleminowanie jak najwiekszej ilosci zmiennych i sprawdzenie tylko ‘sily’ systemu. Nam nie chodzi o konkretne wartosci, chodzi o sprawdzenie zaleznosci miedzy wynikami z przeszlosci a wynikami w przyszlosci.
    Jesli uwazasz, ze podane przeze mnie wyniki nie sa prawidlowe (ze wzgledu na sposob liczenia wynikow) zachecam Cie do przeprowadzenia tych samych testow z pelnymi systemami. Podejrzewam, ze wyniki beda takie same. Jesli uwazasz, ze powtorzenie wyniku systemu na poziomie 58% to za malo, prosilbym o wyjasnienie i wskazanie lepszej metodologii.
    Testy pelnych systemow zrobie wieczorem jak bede mial czas, tak dla czystego sumienia.

    1. trystero (Post autora)

      @ Lucky

      Jesli uwazasz, ze podane przeze mnie wyniki nie sa prawidlowe (ze wzgledu na sposob liczenia wynikow) zachecam Cie do przeprowadzenia tych samych testow z pelnymi systemami. Podejrzewam, ze wyniki beda takie same. Jesli uwazasz, ze powtorzenie wyniku systemu na poziomie 58% to za malo, prosilbym o wyjasnienie i wskazanie lepszej metodologii.
      Testy pelnych systemow zrobie wieczorem jak bede mial czas, tak dla czystego sumienia.

      Moim bardzo skromnym zdaniem, jeśli testujesz system na kilka rynków i dajesz wielkość pozycji na 100% kapitału to powinieneś liczyć średnią a nie sumę. Ale nie wiem nawet w jakim programie to robisz więc trudno mi stwierdzić czy Twoje wyniki są prawidłowe czy nie. Do tego w niektórych programach, na przykład w Metastocku, ustawienie wielkości pozycji na 100% daje “dziwne rzeczy*” takie jak anulowanie zleceń na krótką pozycję przy niewielkim ruchu rynku w przeciwną stronę.

      Jak napisałem, testowałem te 20 rynków (Twoje 22 minus Nasdaq i ryż), przy wielkości pozycji na 5% kapitału i wyniki wyszły na poziomie 360% w 00-12 i chyba 250% w 00-90.

      Jedną z najważniejszych rzeczy, które się nauczyłem o rynku jest to, że jest wiele efektywnych strategii i efektywne strategie mogą opierać się na przeciwnych założeniach i dalej być jednocześnie efektywne więc do głowy by mi nie przyszło krytykować Twoich strategii, tylko dlatego, że odbiegają od tego jak ja wyobrażam sobie efektywne strategie.

      * To znaczy to jest pozornie dziwne bo to bezpośrednio wynika z wielkości depozytu na krótką pozycję.

  7. Lucky

    @Trystero:
    Srednia i tak nie odda prawdziwego wyniku strategii, wiec z naszego punktu widzenia nic nie zmienia. Powtorze jeszcze raz: dla naszych potrzeb nie ma znaczenia wartosc koncowego wyniku, interesuje nas czy lepsze systemy pozostaja lepszymi w przyszlosci. Testuje srednie na 10000 kombinacji, zobaczymy co wyjdzie.

  8. Lucky

    Ciag dalszy…
    Okazało się, że w przypadku pełnych systemów optymalizacja nie zadziałała tak jak się spodziewałem. Powody mogą być dwa:
    1. System przecięcia średnich jest raczej słaby a już jakiś czas temu zauważyłem, że słabe systemy raczej nie odpowiadają na optymalizację zbyt dobrze. Wydaje się, że jeśli system nie ma wystarczająco mocnej przewagi to ciężko jest ją zwiększyć optymalizacją (Mój system po zastosowaniu WFO ma wyniki mieszczące się w górnych 10% wszystkich kombinacji).

    2. Drugi okres (2001 – 2012) był dużo lepszy dla przecięcia średnich niż pierwszy. Oznacza to, że trendy były wyraźniejsze a więc krótkie średnie które topiły przez prowizjęw pierwszym okresie, w drugim zyskiwały dzięki temu, że są szybsze.

    W każdym bądź razie, aby ocenić optymalizację trzeba sprawdzić więcej systemów i więcej okresów. Nie zmienia to jednak faktu, że przecięcie średnich 50-200 dało w moich testach zysk 348% w 11 lat. Dlatego zawsze stoję w obronie średnich. Po pierwsze zarabiają, po drugie są dość proste i każdy może je stosować. Niestety, wyniki nie nadają się do wygrywania konkursów, a brokerzy też ich nie lubią bo raz, że mało transakcji i nie będzie kaski z prowizji, dwa że market makerzy muszą zabezpieczać takie pozycje a to tylko problem. Tymczasem zysk 348% w 11 lat i to z obsunięciem tylko 27% to wynik dużo lepszy niż osiągneła większość aktywnych trejderów.

  9. DOCIEKLIWY

    @Lucky
    Pozwolę się wtrącić do rozmowy o średnich(choć minął ponad miesiąc).
    Moim zdaniem zasadniczą wadą średnich jest ich niestacjonarność. Bardziej stacjonarne systemy, to te które opierają się na zależnościach cenowych, gdyż to rynek płaci(lub karze), a nie średnia. Ktoś używa średniej “x”, ktoś “y” ale nie ma siły, która sprawi by wszyscy używali jednej. Słusznie więc piszesz o małej przewadze(Edge) jaką one dają. Pzdr.

Dodaj komentarz

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

Proszę podać wartość CAPTCHA: *