OOPS – testów ciąg dalszy

Najprostsze z możliwych symulacje strategii OOPSa w poprzednim wpisie nie wykazały szczególnie imponujących osiągów. Spróbujmy wycisnąć z nich jakąś przewagę nad rynkiem weryfikując ich stabilność po dodaniu filtrów o różnych zakresach.

Użyty wcześniej stop czasowy (time based exit) w najczystszej postaci pokazuje reakcję i impet rynku w odpowiedzi na zadany powód/wzór otwarcia pozycji.

W naszym przypadku jednosesyjna zmienność była historycznie zbyt mała by na zakończenie sesji, na której OOPS otwarł pozycję, uzyskać zdecydowane zyski.

Zamknięcie naszej oopsowej pozycji na koniec kolejnej sesji pokazało, że ten efekt szybkiego zapełnienia luki przedłuża się w miarę często na kolejny dzień ale też cena pomyłki okazała się dość kosztowna – seria fałszywek na początku 2006 roku wygenerowała spory zjazd kapitału. Bliższe spojrzenie na ten fatalny okres wykazało, że straty pochodzą w zdecydowanej większości z krótkich pozycji w trendzie wzrostowym i długich w trendzie spadkowym, który zagościł wówczas silnie w maju i czerwcu. Najczęstszy scenariusz wyglądał wówczas mniej więcej tak:  w czasie wzrostów rynek otwierał się z optymistyczną luką w górę, zostawał szybko zasypywany podażą zamykającą ową lukę, po czym świeży popyt wyciskał kurs w górę, demolując krótkie pozycje na tej samej lub kolejnej sesji. To był okres gdy silna niewiara analityków w dalsze aprecjacje nie miała pokrycia w tym co rzeczywiście robią fundusze 🙂 Zupełnie odwrotna symetrycznie sytucja miała miejsce w czasie majowo-czerwcowej korekty. Cóż,  gra przeciw średnioterminowym trendom została ukarana…

Natomiast ekstremalnie inaczej i bardziej zdecydowanie wyglądały ostatnie 2 lata – jeśli rynek zamykał lukę to bardzo skutecznie i bez oglądania się w tył. To pokazuje jak na przestrzeni czasu zmienia się charakter i dynamika rynków – to powoduje częste porażki nieprzygotowanych na to traderów.

Symulacje zamknięć pozycji na drugiej, trzeciej i tak dalej sesji po wejściu na pozycję nie wykazują już żadnej poprawy relacji zysków do strat. Formacja OOPSa ma bardzo krótkotrwałe działanie i najczęściej wypala się po 2-3 sesjach. To jednak nie powód by ją przekreślić.

Warto zauważyć pewną jej swoistość, która pomoże w ulepszeniu jej działania. Jest nią wielkość luki. Prześledźmy na przykładzie znaczenie luki w dół (poniżej minimum z wczoraj) o wielkości 10 i 70 punktowej, w kontekście zamknięcia owej luki na tej samej sesji:

jakie są szanse, że rynek nadrobi stracone 70 pkt do poprzedniej sesji (bo wtedy zlecenie otwarcia pozycji długiej dopiero się realizuje) i jeszcze dołoży jakiś zapas?

a jak wyglądają te szanse w przypadku luki tylko 10 punktowej ?

Oczywiście ta druga ma dużo większe szansę na skuteczną realizację gdyż 70 punktów to naprawdę spory dystans i wypalenie się impetu po drodze jest najczęstszym objawem.

Zróbmy w takim razie taką symulację wielkości luki i zbadajmy jej implikacje dla wyników OOPSa. Konstrukcja tego testu była następująca:

pokaż zysk oraz maksymalne obsunięcie kapitału strategii OOPS na danych historycznych FW20 zakładając, że luka otwarcia nie będzie większa niż X punktów. X był wzięty z zakresu 1 do 80. To oznacza, że dla np. X=10 dochodziło do zawarcia transakcji jeśli luka na otwarcie nie była większa niż 10 punktów. Test 1 kontraktem, zamknięcie pozycji na koniec kolejnej sesji, pozycje long i short.

Poniższe wykresy przedstawiają :

  • niebieski – profit per bar czyli średni zysk w punktach na każdy dzień transakcji
  • czerwony – max DD czyli maksymalny spadek kapitału

oops-luka.png           

Wnioski:

  • luka 1 punktowa okazała się jedynie szumem
  • luki nie większe od 2 do 4 punktów okazały się dość zyskowne a spadek kapitału (max DD) dość umiarkowany
  • jeśli rynek otwierał się z luką nie większą niż 5 do 16 punktów to powrót do zakresu poprzedniej sesji okazywał się częściej fałszywką
  • luki nie większe w zakresie niż 17-24 punktów były najbardziej stabilne – rynek pewnie je pokonywał dodając jeszcze spory zapas punktów zysku, fałszywek było relatywnie mniej
  • luka nie większa w zakresie niż 25-80 punktów ma swoisty charakter – ich ilość w stosunku do luk 17-24 jest niewiele większa więc zysk nieco się zmniejsza i pozostaje stabilny, za to istotnie rośnie maxDD ze względu na to właśnie, że rynek próbuje zamknąć te szerokie luki, pokonując spory dystans, po czym uchodzi z tego ruchu powietrze…

Załóżmy więc, że na podstawie tych diagramów ustalamy sobie następujący plan gry:

jeśli kurs otworzy się luką nie większą niż 20 pkt wchodzę na pozycję gdy rynek zamknie ową lukę i wychodzę z transakcji dzień później na zamknięciu.

Wynik takiego testu jest następujący (1 kontrakt, 3 pkt prowizja):

  • ilość transakcji 443 w tym 53% trafnych
  • CAGR 11.28%
  • Max DD  386 punktów

To nadal nie zapiera tchu w piersiach. Natomiast wiemy już więcej o statystycznym charakterze samych luk na naszym rynku…

CDN

–* Kathay *–

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

10 Komentarzy

  1. astanczak

    Kathay nie chcę ci psuć twojego poukładanego świata ;), ale wiedza o lukach w punktach jest tylko pozorem wiedzy. Statystycznie wygląda to wszystko pięknie, ale nie mówi o rynku właściwie nic. Zdanie typu “rynek próbuje zamknąć te szerokie luki, pokonując spory dystans, po czym uchodzi z tego ruchu powietrze?” to już twoja interpretacja, bo słowo szeroka nie jest żadną miarą statystyczną. Jak piszesz szeroka luka, to bez podania relacji – szeroko wobec czego – nie mówisz nic. To jest jakościowy opis. W istocie twój podział luk jest podziałem typologicznym – z płynnymi granicami. Upraszczając 17 punktów jest szeroką luką przy wartości kontraktu 1000 pkt wąską przy wartości 2000 pkt. Jeśli mielibyśmy rozmawiać o statystycznym opisie luk, to chciałbym jednak analizę z podziałami, gdzie “szerokie luki” analizujemy tnąc wcześniej bazę do próbkowania na widełki. W stylu – przy wartości kontraktu 1600 do 1800 ooops wygląda tak a tak. Przy wartości kontraktu 1800 do 2160 luki X dają wyniki Y a przy wartości 2160 do 2592 dają… – dzięki temu uwalniasz się od szerokich luk, bo widełki są podziałem procentowym – luki są zawsze tak samo szerokie. Druga sprawa, iż nie uwalniasz się od psychologii rynku – luka na poziomie 100 punktów zawsze robi wrażenie przy 3000 pkt i przy 2500 pkt.

  2. kathay

    Adam- tak naprawdę tą repliką próbujesz dopiero poukładać mi świat, zupełnie niepotrzebnie 🙂 A to dlatego, że robienie tego typu porządków jak sugerujesz wprowadza zbyt dużo optymalizacji i liniowości a więc tego co staram się unikać !
    A co do szczegółów:
    Znajomość faktu że luka o wielkości 17 pkt przy poziomie 1000 jest ‘szeroką’ czy ‘wąską’ luką jest praktycznie (przynajmniej jeśli o mnie chodzi) zupełnie niepotrzebna, tak samo jak luka 17 punktowa na poziomie 1586 czy 2579. Właśnie z tego powodu, który umieszczasz na końcu – luka 100 punktowa robi wrażenie na każdym poziomie, ale luka 60 punktowa niewiele mniejsze i to bez względu na poziom. Ba, nawet luka 30 punktowa powoduje skurcze zwieraczy… Więc de facto szczegółowszy podział uważam za niepraktyczny i nieco nad-skwantyfikowany.
    Cezura 25 punktowa, która wyszła w testach, dała wystarczający podział na luki tradowalne i zbyt szerokie w kontekście oopsa. Już na tym poziomie testy w przyszłości mogą się okazać niestabilne (np. na S&P luki niemal zniknęły dzięki Globexowi i oops stracił moc). Dalsza parametryzacja typu “luka a poziom” to dodawanie stopni swobody zabójcze niestety dla systemów a w tym przypadku nie poprawiajace istotnie relacji zysk/ryzyko.
    Podział na wielkość luk wyszedł w tych symulacjach tylko przy okazji a koncept “zbyt wielka luka zabija oopsa” okazał się prawdziwy i tylko to się w tym przypadku liczyło. Dziś “zbyt wielka” oznacza więcej niż 25, za 5 lat może to być 15.

    O ile ktoś miałby zamiar zrobić dużo szczegółowsze studia to przestrzegam tylko: można je sensownie policzyć tylko na pojedynczych seriach kontraktów. Wykres kontynuacyjny (punktowy czy procentowy) przesuwa całe historyczne poziomy na sztuczne poziomy więc wyniki tak liczone będą nieprawdziwe.

  3. wuli

    Wydaje mi sie, ze warto byloby skierowac badania w nowa strone – mianowicie dodac jakis stop dzialajacy w czasie sesji. Stosowanie stopu wylacznie czasowego uwazam za ryzykowne. Ten stop o ktorym pisze mozna wyobrazic sobie np tak: jesli luka miala 20 pkt, a rynek przykryl ja i zrobil jeszcze 10 pkt (czyli caly ruch to 30 pkt) to ustawiamy stop na np. 50% calego ruchu (15 pkt w tym przypadku). Zakladamy, ze jesli rynek zakrywa luke, a nastepnie cofa sie "zbyt daleko" to formacja OOPS staje sie malo wiarygodna.

    Tyle tylko, ze zeby to przetestowac potrzebne sa dane intraday. Nie wiem czy takie posiadasz?

  4. astanczak

    >Znajomość faktu

    Problem w tym, że piszesz o jakimś fakcie, który jest artefaktem. Na rynku nie ma obiektywnie dużych i małych luk – są luki postrzegane, jako duże i małe. To nie ja napisałem o szerokich lukach. Problem z opisem statystycznym jest taki, że bardzo często ludzie powołują się na statystyczne miary a de facto dokonują jakościowego opisu próbując jednocześnie wyśmiewać tych, którzy używają opisu jakościowego. Cała filozofia quants na rynku jest OK, tylko ja bardzo często dostrzegam mechanizm bicia pałką statystyczną po głowie innych mimo tego, że ze statystyką nie ma to wiele wspólnego. Moje doświadczenie jest takie, że wystarczy w dyskusji rzucić kilka statystycznych miar lub danych i 99 procent towarzystwa milknie, bo nie mają wiedzy statystycznej. Siedzisz w tym, to zrób sobie mały eksperyment, jak będziesz rozmawiał z kimkolwiek, to powołaj się w dyskusji na fikcyjne badania statystyczne – 99 procent dyskusji masz wygranych zanim zawodnik podniesie rękę, żeby zabrać głos.

  5. kathay

    @wuli
    Stop czasowy był tylko potrzebny do wykrycia siły impetu luk na wykresie w kontekscie formacji OOPSa. Oczywiście do dalszych symulacji potrzebne są stopy – albo żeby sprawdzić ich użyteczność albo odrzucić. Stop czasowy nie zawsze jest gorszy niż inne stopy a czasem może być użyty komplementarnie z innymi stopami.

  6. kathay

    Adam, trochę naginasz moje cytaty 🙂
    Ja piszę , że znajomość jakiegoś faktu jest mi niepotrzebna PRAKTYCZNIE (choć nie neguję jego istnienia) a ty nazywasz ten fakt artefaktem…

    Gdybym miał wysmażyć jakąś akademicką pracę na temat tych luk to zapewne policzyłbym je tak piszesz – w odniesieniu do poziomów, do czasu, do volumenu i do czego tam jeszcze a potem jeszcze zweryfikowałbym ich poziom istotności, zrobił modele, policzył błędy szacunkowe i co tylko.
    Tyle, że praktycznie nie wykorzystałbym tego do niczego oprócz może do posłuzenia się tym jako statystyczną pałką jak to nazywasz…

    Jeśli uważasz, że określenie ‘szeroki’ jest w moich opisach nieadekwatne statystycznie to nie ma problemu. Zaproponuj inną nazwę a ja się z nią zgodzę. Bo to nic nie zmieni w ich znaczeniu w tych symulacjach. Wąski i szeroki był tu użyty tylko w kontekście luk poniżej i powyżej 25 pkt. Jesli jest bardziej elganckie określenie – będzie mi miło je użyć w kolejnych opisach.

  7. wuli

    Nie mowie, ze stop czasowy jest gorszy. Jednak zeby zarobic kilka punktow nie warto ryzykowac duzo wiecej. Zatem jakis dodatkowy stop uwazam za wielce pozadany 😉

  8. GiełduGiełdu

    Popieram podejście KatHay’a, a to co stwierdza AStanczak "Statystycznie wygląda to wszystko pięknie, ale nie mówi o rynku właściwie nic" nie ma związku, bo moim zdaniem żeby wygrać trzeba mieć przegagę nad rynkiem (np. statystyczną), a nie koniecznie trzeba ten rynek znać (wiem, że samolot jest szybszy niż samochód, ale niekoniecznie muszę wiedzeć dlaczego).

    A co zrobić w sytuacji, kiedy opracowałem system w którym mam statystyczną przewagę (tzn. dobre współczynniki CAGR, DD, liczba transackji, itp.) ale dla rynku WIG20. Zastosoawnie tego systemu dla np. CAC40 i SMI kończy się kompletną porażką, a zastosowanie z kolei do rynku DAX daje wyśminiete rezultaty.

    Czy nie jest to klasyczna sytuacja dopasowania do konkretnego rynku?. Być może moje wątpliwości wynikają z faktu, że eksploatowany system dał mi już 10 przegranych z rzędu, aczkolwiek w testach historycznych było ich tylko 7 (na szczęście DD jest akceptowalne).

    Ciekawe w jakim kierunku rozwinie się dalsza analiza OOPS.

    @wuli
    Gwrantuje, że zastosowanie w tej strategii stopów innych niż czasowe na pewno znacznie pogorszy wyniki (chociaże nie testowałem tego). Po prostu część transakcji aktualnie zyskownych zostanie z powodu przejściowego generowania straty.

  9. GiełduGiełdu

    @KatHay

    Odnośnie uwagi "Wykres kontynuacyjny (punktowy czy procentowy) przesuwa całe historyczne poziomy na sztuczne poziomy więc wyniki tak liczone będą nieprawdziwe." mam pytanie czy dotyczy to również wykresów kontynuacyjnych tworzonych przez Bossę wg definicji " Dla celów tworzenia wykresu kontynuacyjnego serii kontraktów na indeks WIG20 stworzono syntetyczny papier FW20. Źródłem bieżących danych są notowania kontraktu FW20XX o największej liczbie otwartych pozycji" (definicja z forum futures.pl).

    Pozdrowienia,
    GiełduGiełdu

    Pozdrowienia,
    GiełduGiełdu

  10. astanczak

    @Kathay

    >Tyle, że praktycznie nie wykorzystałbym tego do niczego oprócz może do posłuzenia się tym jako statystyczną pałką jak to nazywasz?

    OK – wrócę do twojego wpisu w wolnej chwili, bo chyba zgubiłem cel tego wyliczenia albo – lepiej – poczekam na końcowe wnioski.

Dodaj komentarz

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

Proszę podać wartość CAPTCHA: *