Pokonać rynek – inspiracje 2

Poniżej jeden z wybranych przeze mnie pomysłów na strategie Arta Collinsa z książki „Beating the Financial Futures Market”, opisanej w poprzednim wpisie.

Lubię możliwie jak najprostsze rzeczy jeśli chodzi o kwestie znalezienia miejsca do otwierania transakcji, oby tylko zawierały w sobie minimalnie niezbędną logikę bilansu sił popytu i podaży. Jako przykład wybrałem trzy-świecową formację o zabawnej ale trafnej nazwie „CUPS and CAPS”. ‘Cups’ to liczba mnoga od ‘cup’ czyli spodek, filiżanka. „Caps” określa również liczbę mnogą od ‘cap’ czyli nakrętka, pokrywka, czapka. I w takiej właśnie wizualnej estetyce prezentuje się owa formacja, która występuje w A.T. w wielu odmianach. Jej znalezienie nie wymaga subiektywnych interpretacji, pytanie „czy działa”? Generalnie opiera na wynajdowaniu szczytów i dołków fal cenowych, zwanych po angielsku „swing high” i „swing low”.

W przytaczanym przez mnie przypadku określa się ją w następujący sposób:

CUP – z trzech kolejnych świec/słupków/ minimum cenowe środkowej  powinno być niższe niż minimum następującej po niej i poprzedzającej je; dodatkowo dla odfiltrowania szumu autor zastrzegł, że minimum drugiej powinno być jednocześnie niższe niż minima 3 ostatnich świec przed nią.

CAP – z trzech kolejnych świec/słupków/ maksimum cenowe środkowej  powinno być wyższe niż maksimum następującej po niej i poprzedzającej je; dodatkowo jak wyżej – maksimum drugiej powinno być wyższe niż maksima 3 ostatnich świec przed nią.

Dwa takie przypadki wyrysowałem na wykresie naszych kontraktów poniżej. Kształty symbolicznie zaznaczone  fioletowymi półokręgami są odniesieniami do użytych nazw jak widać:

 

Rysunek 1. Kontrakt FW20M11 – formacja CUPS and CAPS

Część z Czytelników zna już pewnie ten rodzaj strategii. Inni mają teraz okazję popracować wyobraźnią by popróbować wykreować swoje własne pomysły na trading oparty na tak wyselekcjonowanym układzie cenowym. Wizualnie wydaje się on być może dość obiecujący…

Dla zaspokojenia ciekawości napiszę co wyszło z mechanicznych testów Collinsa. Weryfikuje on powyższy pomysł na 20-stu latach danych kontraktów z kilkudziesięciu rynków towarowych i finansowych, poszukując optymalnych stopów dla stabilnej przewagi mechanicznej i  osiągnięcia minimalnej bazy do regularnej zyskowności. Jak dla większości innych metod w książce traktuje on pozycje krótkoterminowo i w swoich intensywnych testach z wieloma rodzajami stopów uzyskał przewagę dopiero przy następującym sposobie dokonywania transakcji na tak szerokim portfelu rynków:

– wejście na pozycję na zamknięciu świeczki nr. 3 formacji -> zamknięcie pozycji na otwarciu kolejnej sesji; teoretycznie więc potencjał tkwi w luce między sesjami.

Aby znaleźć czystą przewagę nie uwzględnia kosztów prowizji i poślizgów, ani nie używa żadnej taktyki zarządzania pozycjami (cały czas tylko po 1 kontrakcie w grze). Na 36 rynków tylko rynek EURO wypadł negatywnie. Średnia trafność sięgnęła powyżej 50%, przy największej na rynkach zbóż (58,5%) i najniższej na kontraktach na indeks Dow Jones (45%). Najwyższe procentowe zwroty na kapitale przez 20 lat uzyskał na rynkach: owsa (1530%), ryżu (1216%), bydła (1380%) i bawełny (1016%).

Zadaniem autora w książce było znalezienie metod dla tradingu kontraktów indeksowych a te wypadły tutaj dość słabo, najlepiej Russell: 118%, S&P500: 99%, NASD: 46% i DOW tylko ok. 17%. Optymalną przewagę zapewniło nieco dłuższe utrzymanie pozycji (więcej o tym w kolejnym wpisie), które jednak nie było niestety zyskowne dla reszty rynków.

// Choć techniczne formacje wyglądają identycznie dla wszystkich rodzajów instrumentów  to jednak nie generuje jeszcze ich praktycznej użyteczności gdyż rynki różnią się mechaniką/dynamiką. Pole do popisu dla subiektywnego podejścia do zarządzania stopami 🙂 //

 

 

 

 

—*Kat*—

 

 

 

 

 

 

 

19 Komentarzy

  1. vinc

    Lucek, sa kości!! Przybywaj !! 🙂 Dzięki Kat..

  2. Lucek

    WZ27″Lubię możliwie jak najprostsze rzeczy jeśli chodzi o kwestie znalezienia miejsca do otwierania transakcji, oby tylko zawierały w sobie minimalnie niezbędną logikę bilansu sił popytu i podaży.”

    Dlatego lubię spojrzeć na wykres w szerszym układzie.
    Może sie wtedy okazać, że kurs porusza się jakimś kanale.
    Wtedy zamiast liczyć do trzech i do jednego,szukając maximów i minimów, można patrzeć na punkty zwrotne całkowicie subiektywnie.
    http://charts.dacharts.net/2011-06-01/Lucek_EOD.png

  3. Kornik

    Wrzuciłem tego CAPa 😉 na ruszt (dla FW20).

    Taktyka:

    Wejście:

    >> sprzedaj zamknięcie sesji następnej po bazowej, gdy:

    – coraz wyższe maksmima 3 sesji poprzedzających sesję bazową,
    – maksimum sesji bazowej > maksimów 3 sesji poprzedzających sesję bazową,
    – maksimum sesji bazowej > maksimum sesji następującej po sesji bazowej.

    Wyjście:

    >> kupuj otwarcie drugiej sesji po bazowej.

    Sesja przesiadkowa między, seriami została odrzucona.

    Efekt (zysk w punktach):

    http://www.fotosik.pl/pokaz_obrazek/pelny/1f9ecae8ff1b63ba.html

    Wynik nieciekawy. Bez tego pierwszego warunku, wynik byłby jeszcze gorszy. Uwzględniłem prowizję (2 punkty/transakcja).

    Ktoś juz policzył? Jaki wynik wam wyszedł, bo może się po prostu gdzieś machnąłem (nie jestem programistą).

  4. Jacek

    Nic dziwnego – w prawdziwych testach uwzględniających prowizje i przynajmniej 1 pkt na poślizg nie może być inaczej.
    „Czystą przewagę” można łatwo uzyskać stosując losowe wejścia z odpowiednim stopem – ale w praktyce zarobi na tym tylko BM, bo jest ona bardzo niewielka.

    W książce jest sporo różnych pomysłów – kilka też wrzuciłem na ruszt, ale wyniki jak na razie też nieciekawe. Bardzo trudno jest wymyśleć coś nowego, żeby było w miarę nieskomplikowane i dawało wyniki porównywalne choćby do sys. przecięcia dwóch średnich.

  5. Darkh

    if l > l[1] and l[1] c[1] and c[1] < c[2] then buy next bar at market;
    if h highest(h,3)[2] and c c[2] then sell short next bar at market;
    setexitonclose;

    a warunki dla Close ?

  6. Darkh

    str 208 w kazdym razie 😉

  7. Kornik

    @ Darkh

    „a warunki Close?”

    Warunek prosty – nie ma warunków – po prostu zamykamy pozycję na otwarciu kolejnej sesji – tak jak napisałem i widać na załączonym obrazku.

    ***

    Nie potrafię rozczytać tych formuł kodowych, które napisałeś w trzech pierwszych linijkach twojego wpisu, więc nie wiem czy uwzględniłeś wszystkie trzy warunki wejscia, które podałem (sorki, ale dla mnie to hieroglify 🙂 ) Potrafie tylko trochę grzebać w excelu.

    @Jacek

    Na forum wewnętrzym rzuciłem CAPa do gara i ugotowałem z niego zupę 🙂 – patrz wątek „Moje trzy grosze”. Może cię to zainteresuje. Ale to też musiałby ktoś sprawdzić – jak to się mówi – znajęcy magiczne zaklęcia formuł kodowych.

  8. pit65

    @Kornik

    L[1]-to najniższy kurs z poprzedniej sesji i adekwatnie w Easylanguage TS.

    PS. mam nadzieję ,że nienaruszyłem regulaminu niosąc ten „kaganek oświaty” 🙂

  9. Alicja

    Nic z tego nie rozumiem. Przecież w tak ustalonym wejściu/wyjściu nie wiesz czy to formacja CAP&CUP

  10. Darkh

    jakis bug sie wdarl.. warunki close swieczek przy otwieraniu pozycji, Katahy nie podal.. ale soooom ;]
    http://i.imgur.com/0LjUK.png

  11. lesserwisser

    str. 208 „Bijacza rynku”

    Cups and Caps (Day)

    if l > l[1] and l[1] c[1] and c[1] < c[2] then buy next bar at market;
    if h highest(h,3)[2] and c c[2] then sell short next bar at market;
    setexitonclose;

    Cups and Caps—Overnight

    if l > l[1] and l[1] c[1] and c[1] < c[2] then buy this bar on close;
    sell next bar at market;
    if h highest(h,3)[2] and c c[2] then sell short this bar on close;
    buy to cover next bar at market;

    Cups-Caps—Overnight with Stops and Targets

    if l > l[1] and l[1] c[1] and c[1] < c[2] then buy this bar on close;
    if marketposition=1 and barssinceentry=1 then sell next bar at market;
    sell next bar at highest(h,3)+.25*average(range,3) limit;
    sell next bar at lowest(l,3)-(minmove/pricescale) stop;
    if h highest(h,3)[2] and c c[2] then sell short this bar on close;
    if marketposition=-1 and barssinceentry=1 then buy to cover next bar at market;
    buy to cover next bar at lowest(l,3)-.25*average(range,3) limit;
    buy to cover next bar at highest(h,3)+(minmove/pricescale) stop;

    A co se bede szkodował. Raz, dwa, trzy Baba Jaga patrzy. 😉

  12. Lucek

    „A co se bede szkodował. Raz, dwa, trzy Baba Jaga patrzy.”

    No to teraz drżyjcie rynki!
    Obiektywnie patrząc, nie macie szans.
    Będziecie niczym ten Endrju Goooooloooootaaaaaaaa!!!!

  13. Pink Floyd

    No prosze, alez wszyscy wzieli sie za kupowanie tej ksiazki 😀

  14. Pink Floyd

    Wedlug mnie (ale to moze byc zboczenie zawodowe) podawanie kodow zrodlowych w takiej formie jak uczynil to autor ksiazki jest nieco srednim pomyslem…

  15. lesserwisser

    Jest CAP, znajdziemy C(l)ose to może być i CUPcianie.

  16. Kornik

    @ Alicja

    Sprawdziłem proste zależności między świecami – zmajstrowałem formułkę – zgodnie z tym, co widac na obrazku, który wstawił Autor blogu i określił to mianem formacji CAPS. Chciałem się przekonać czy w takim automacie kryje się jakaś przewaga, tyle.

    Ale mówię, mogłem źle zrozumieć Autora, a na dodatek pomylic się gdzieś na etapie programowania w excelu. Dlatego podzieliłem się obrazkiem, przy okazji przedstawiłem warunki WE-WY, żeby nie było żadnych watpliwości, jak kodowałem, i zadałem pytanie czy ktoś liczył i jaki mu wyszedł wynik, abym mógł zweryfikować swoje obliczenia.

    @ Lessser

    CAP i CUPerek – tylko czyj, panie. 🙂

    „Degeneraci! Degeneraci i zboczeńcy!” – S. Anioł 🙂

  17. Jacek

    Kody są OK.
    Copy&Paste i po chwili masz wynik.

    TradeStation jest u nas raczej mało popularne,
    ale to chyba nawet i lepiej…

  18. pit65

    Kod do AB.koniecznie odznaczyć ‚allowsamebarexit”

    SetPositionSize(1,spsShares);
    Buy=Ref(L,-2)==Ref(LLV(L,3),-2) AND Ref(L,-1)>Ref(L,-2);
    Sell=1;
    BuyPrice=O;
    SellPrice=C;
    Short=Ref(H,-2)==Ref(HHV(H,3),-2) AND Ref(H,-1)<Ref(H,-2);
    Cover=1;
    ShortPrice=O;
    CoverPrice=C;

  19. Alicja

    Kornik

    Wiem, wiem. Bardzo dziękuję.

Skomentuj lesserwisser Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


Twoje dane osobowe będą przetwarzane przez Dom Maklerski Banku Ochrony Środowiska S.A. w celu: zapewnienia najwyższej jakości naszych usług oraz dla zabezpieczenia roszczeń. Masz prawo dostępu do treści swoich danych osobowych oraz ich sprostowania, a jeżeli prawo na to pozwala także żądania ich usunięcia lub ograniczenia przetwarzania oraz wniesienia sprzeciwu wobec ich przetwarzania. Masz także prawo wniesienia skargi do organu nadzorczego.

Więcej informacji w sekcji "Blogi: osoby komentujące i zostawiające opinie we wpisach" w zakładce
"Dane osobowe".

Proszę podać wartość CAPTCHA: *