poniedziałek, 20 lutego 2012

Błędy w publikacji

Wczoraj zamieściłem wpis pod tytułem "Badanie 3 wybranych strategii analizy technicznej i ich połączenia na przykładzie S&P 500", w którym opisywałem testy zamieszczone w artykule C. Lento "A Combined Signal Approach To Technical Analysis On The S&P 500". Jeśli ktoś to czytał, na pewno zdziwił się, że do obliczenia średniej kroczącej wykorzystano logarytmiczne stopy zwrotu. Mnie też to zdziwiło - powinno używać się średniej cen z n okresów. Na początku sądziłem, że jest okej, bo może chodzi o to, żeby posłużyć się zlogarytmowanym indeksem. Przepisałem więc wzory i tabele z wynikami. Później jednak zacząłem się zastanawiać nad tymi logarytmicznymi stopami zwrotu wraz z ich sygnałami. Doszedłem do wniosku, że to bzdura. Poszukałem w internecie publikacji, w której ktoś użył tego samego wzoru na średnią kroczącą. Nie znalazłem. Wysnułem wniosek, że C. Lento pomimo dużej wiedzy ekonometrycznej nie przyłożył się; być może nie ma dużego pojęcia o analizie technicznej. Przyjrzyjmy się sygnałowi kupna i sprzedaży na MAC-O lub TRB-O. Przecież każdy zaawansowany technik wie, że trzeba użyć pewnych filtrów procentowych bądź czasowych zanim się dokona się transakcji. Tutaj brakuje takowych. Przejrzałem szybko pracę Brocka, Lakonishoka, i LeBarona "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns" (1992), w której wprowadzają właśnie te metody MAC-O i TRB-O. Po pierwsze w tej publikacji Autorzy stosują metodę bez filtru oraz z filtrem 1%. Po drugie wzoru z logarytmicznymi stopami zwrotu na sygnał kupna i sprzedaży w ich pracy nie zobaczyłem. Dlatego też trzeba stwierdzić, że praca Lento zawiera błędy, czyli nie należy jej traktować poważnie i jej cytować. Co ciekawe wikipedia angielska również posługuje się tą samą pracą Lento w haśle Technical analysis. Świadczy to o tym, że należy bardzo uważać na publikacje naukowe. Jeśli Autor nie jest wybitnym autorytetem w swojej dziedzinie (Brock i Lakonishok są), to należy podchodzić od samego początku nieufnie i krytycznie do treści.

.................................................................................

Poniżej można przeczytać wczorajszy wpis:


Powinniśmy pamiętać, że nawet jeśli analiza techniczna pozwala w niektórych przypadkach poprawnie przewidzieć kierunek kursu, to wcale nie daje to jeszcze przewagi na rynku. W poprzednim artykule dowodziłem (po raz kolejny), że indeks SP 500 podlega pamięci długoterminowej. W tym sensie rynek pozostaje nieefektywny lub co najwyżej staje się ułamkowo efektywny. Oznacza to jedynie, że występują długoterminowe trendy, tak iż ryzyko jest (w pewnych okresach) mniejsze niż dla efektywnego rynku. Metoda "kup i trzymaj" (dla rynku akcji) może się więc okazać równie dobra jak analiza techniczna. Aby analiza techniczna stanowiła zyskowną strategię, to musi pokonać metodę kup i trzymaj.

W artykule "A Combined Signal Approach To Technical Analysis On The S&P 500" C. Lento testuje 3 metody analizy technicznej dla S&P 500, w tym metodę łączonych średnich kroczących. Na końcu nawet zostaje przetestowana strategia połączona, tzn. strategia, w której łączy się te oddzielne metody w jedną całość. Nazywa ją Combined Signal Approach (CSA).

Zajmijmy się metodą średnich kroczących krzyżowanych (łączonych), A moving average cross-over (MAC-O). Autor definiuje reguły tradingu w następujący sposób. Sygnał kupna:



Sygnał sprzedaży:



gdzie:

R(i,t) - logarytmiczna stopa zwrotu w krótkim okresie S (1 lub 5 dni)
R(i,t-1) - logarytmiczna stopa zwrotu w długim okresie L (50, 150 lub 200 dni). Do testu zostały użyte kombinacje (1,50), (1,200) i (5,150).

Metoda filtra generuje sygnał kupna i sprzedaży na następującej zasadzie: kupuj gdy cena rośnie f% powyżej ostatniego dołka i sprzedaj gdy cena spada f% poniżej ostatniego szczytu. Do testu zostały użyte parametry: 1%, 2% i 5%.

Ostatnia z trzech strategii to zasięg przebicia, Trading Range Break-out (TRB-O). Odnosi się ona do poziomu wsparcia i oporu. Generuje sygnał kupna gdy cena przebija w górę opór, a sygnał sprzedaży gdy przebija w dół wsparcie. Poziom oporu został zdefiniowany jako lokalne maksimum, a poziom wsparcia jako lokalne minimum. Matematycznie zostało to zapisane:



gdzie

P(t) - cena w okresie t.

Strategia TRB-O została przebadana dla 50, 150 i 200 dni (n).

Test objął okres 1 styczeń 1950 - 19 marzec 2008 (14646 obserwacji). Opierano się tylko na cenach zamknięcia. Metodologię skonstruowano następująco. W przypadku MAC-O jeśli padał sygnał BUY, zajmowano pozycję long, a gdy następował sygnał SELL, sprzedawano instrument i kupowano instrument bez ryzyka, dla którego zakładano roczną stopę procentową 3%. Z kolei w przypadku filtra cenowego i TRB-O zajmowano pozycję long (dla BUY) i short (SELL).

Najważniejsze wyniki zostały przedstawione w poniższej tabeli:



Okazuje się, że po uwzględnieniu kosztów transakcyjnych tylko strategia oparta na średnich kroczących o parametrach 1/200 i 5/150 jest w stanie pokonać metodę "kup i trzymaj" i to nie więcej niż 0,5% rocznie. W przypadku 1/200 roczna nadwyżkowa stopa zwrotu wyniosła 0,5%, a dla 5/150 0,3%.

Skoro pojedynczo działa jedynie MAC-O, to wydaje się, że należy odrzucić TRB-O i metodę filtra. Jednak Autor sugeruje, że połączenie metod w postaci CSA może dać lepsze rezultaty. Wszystkich reguł razem jest 9. Zatem można kombinować je ze sobą. Liczba danych pozwoliła połączyć ze sobą maksymalnie 6 reguł (6/9). W ten sposób otrzymano wyniki:



De facto jedynie strategia 2/9, tj. połączenie 2 reguł przyniosło nadwyżkę 1,6% po odjęciu prowizji maklerskich. Szczerze mówiąc jednak nie wiadomo do końca o co chodziło tutaj Autorowi, bo przecież nie wiadomo które połączenia najlepiej się sprawdziły.

Podsumowując, mimo iż artykuł Lento prowadzi do konkluzji, że metoda średnich kroczących oraz pewne połączenie strategii pokonuje rynek, to uważam, że jest przeciwnie. Nadwyżka 0,5% rocznie ponad "kup i trzymaj" to przecież ciągle bardzo mało. Z kolei pomysł włączenia do strategii metod które pojedynczo się nie sprawdzają, wydaje mi się nietrafny. Nadwyżka 1,6% ponad "kup i trzymaj" (w sumie też niewiele) uzyskana z połączenia 2 nie wiadomo jakich reguł pozostaje tylko teoretyczną ciekawostką.

Literatura:

C. Lento, A Combined Signal Approach To Technical Analysis On The S&P 500, 2008 - praca jest dostępna w Internecie za darmo. Wystarczy wpisać tytuł w Google Scholar.

11 komentarzy:

  1. Czesc
    zaciekawil mnie filtr cenowy nie wiesz jakie dokladnie warunki zostaly przyjete do badania ?

    OdpowiedzUsuń
  2. Cześć, warunek dla filtru cenowego był chyba tylko taki jak napisałem: "Metoda filtra generuje sygnał kupna i sprzedaży na następującej zasadzie: kupuj gdy cena rośnie f% powyżej ostatniego dołka i sprzedaj gdy cena spada f% poniżej ostatniego szczytu. Do testu zostały użyte parametry: 1%, 2% i 5%."

    Możesz ten artykuł przeczytać w internecie i dokładnie przestudiować.

    OdpowiedzUsuń
  3. Jasne chodzilo mi, czy Lento:
    - liczyl to po cenach Close, czy High,Low ?
    - liczyl to tylko dla eLek czy eSki tez ?
    - jaki poziom wyjscia przyjmowal: wartosc filtra cenowego ? Close swieczki ktora przebija linie filtra ? a moze Open następnej swieczki ?
    (nie podaje tego w tekscie)

    ok napisalem swoj kod na filtr cenowy i mam powazne zastrzezenia co do jakosci wyliczen pana Lento ;)

    OdpowiedzUsuń
  4. W wynikach nie podal obsuniecia dla B&H oraz dla srednich.

    OdpowiedzUsuń
  5. Darkh dobre pytania. Nie zauważyłem tego.
    - opierał się tylko na cenach close
    - 1. dla MAC-O tylko pozycja long, a gdy następował sygnał sell, wchodził w instrument bez ryzyka - realnie 3%
    2. dla filtra cenowego i TRB-O pozycja long i short w zależności czy sygnał buy czy sell

    Zaraz to napiszę na blogu, bo to ważne.

    OdpowiedzUsuń
  6. Lucky - nie podał, bo testował tylko wynik końcowy. Z samego założenia stosowania AT wynika, że maksymalne obsunięcie kapitału będzie wyższe dla b&h.

    OdpowiedzUsuń
    Odpowiedzi
    1. No wlasnie. Chodzi o to aby sprawdzic, czy stosowanie ktorejs tej metody zwieksza zysk/ryzyko a nie tylko zysk.

      Usuń
  7. Poprawione. Jeszcze jedno - zastosował 3% z instrumentu bez ryzyka nominalnie a nie realnie, jak napisałem.

    OdpowiedzUsuń
  8. Ok male podsumowanie z mojej strony tych 1,2,5 % Rule, bylem ciekawy czy uda mi sie to zapisac, pozostale kody sa proste, multiplikowanie warunkow mnie nie interesowalo

    wszystko w cenach Close lata 1950-2012 (mam i wersje dla H,L), bez prowizji, ktore moge dodac jako %ceny, pisalem to pod akcje ;)

    po prawo jak dziala kod (czerwona) na przykladzie 2% Rule:

    - jesli cena (niebieska) przecina w dol kod tzn ze od ostatniego szczytu cena spadla o 2% i na Close tej swieczki zamykana jest dluga i jednoczesnie otwierana krotka;

    - jesli cena (niebieska) przecina w gore kod tzn ze od ostatniego dolka cena wzrosla o 2% i na Close tej swieczki zamykana jest krotka i jednoczesnie otwierana dluga;

    Nie widze bledu w kodzie i zalozeniach (otrzymuje 10%-30% mmniej obserwacji niz Lento i gorsze wyniki)

    po lewo podsumowanie (skumulowane %)
    linia - pozycja dluga
    histogram - pozycja krotka

    od roku 2000 (zolta pionowa) zupelnie przestalo dzialac, zapewne jakies algorytmy to wyweszyly ;)

    Nie chce mi sie tego optymalizowac, a tym bardziej na powazne backtesty wrzucac, jesli komus sie bedzie nudzic z checia obejrze raporty ;]

    http://i.imgur.com/efgDw.png
    (obrazek powisi kilka dni na serwerze)

    Ka.

    OdpowiedzUsuń
  9. moze cie zainteresuje ;)
    http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1998036

    OdpowiedzUsuń
  10. Thx, musiałbym dokładniej przeczytać.

    OdpowiedzUsuń