Konkurs – 1 dzień na kontraktach

Pokazałem ostatnio 2 proste strategie jednodniowe na kontraktach indeksowych FW20 z mnożnikiem x20, które mam nadzieję wniosły nieco intelektualnego wigoru do społeczności traderskiej, tym razem daję szansę Czytelnikom.

Wakacyjną nudę zabijmy więc prostym konkursem.

ZASADY:

1/ Cel: uzyskać hipotetycznie jak najwyższy procentowy zysk, używając jako podstawy zajęcia pozycji reguły opisane w punkcie 7. niniejszego regulaminu.

2/ Dane: dzienne dla kontraktów o symbolu FW20 od 20 stycznia 1998 do 11 lipca 2014 pobrane z bazy bossa.pl .

3/ Dozwolone jest zajmowanie długich i krótkich pozycji.

4/ Wielkość pozycji: zawsze tylko 1 kontrakt FW20 w każdej transakcji, kapitał początkowy 10 000 PLN.

5/ Dodajemy prowizję 10PLN za każde otwarcie pozycji oraz 10 PLN za jej zamknięcie.

6/ Nagrodę otrzyma ten/ta ze startujących, który/a uzyska w testach najwyższy zysk liczony w procentach do kapitału początkowego, zgodnie z zasadami zawierania hipotetycznych transakcji zapisanymi niżej oraz przedstawi pełną statystykę i reguły zawierania transakcji w komentarzu pod niniejszym wpisem.

7/ Pozycję zajmujemy wyłącznie w oparciu o następujące warunki:

– pozycję długą lub krótką otwieramy i zamykamy na tej samej sesji (transakcje intra day), dowolną ilość razy o ile pozwolą na to warunki, ale jedynie z uwzględnieniem możliwości weryfikacji na danych dziennych,

– pozycję zajmujemy i zamykamy w dowolnym miejscu i czasie sesji i wg dowolnych warunków, które podajemy w opisie (nie muszą choć mogą to być ceny otwarcia czy zamknięcia),

– mnożnik 1 punktu dla kontraktów FW20 ustawiamy na 20 PLN czyli symulujemy starą serię FW20 z mnożnikiem x20,

– używamy tylko 1 kontraktu w każdej transakcji,

– wszelkie rodzaje stopów i filtrów są dozwolone.

8/ Zamknięcie konkursu – niedziela 27 lipca 2014, godz. 23:59:59.

9/ Wszystkie raporty podajemy w komentarzach tylko pod poniższym wpisem.

10/ Jeśli pojawią się 2 identyczne rozwiązania – nagroda przysługuje temu, który wpisze je w komentarzu jako pierwszy. Jeśli pojawią się zyski o identycznej wielkości wygrywa ten z grających, który uzyska niższe obsunięcie maksymalne kapitału (maxDD).

11/ Swój raport w komentarzu podajemy według następującego wzorca (proszę się tego trzymać dla przejrzystości):

a/ sposób zajęcia pozycji,

b/ sposób użycia stopów i/lub wyjścia z pozycji,

c/ zysk w procentach licząc do kapitału początkowego,

d/ ilość transakcji,

e/ trafność (ilość zyskownych transakcji w liczbie wszystkich transakcji),

f/ maksymalne obsunięcie w procentach (max DD) czyli największa procentowa różnica, liczona wg. cen zamknięcia dnia, między najwyższym poziomem krzywej kapitału a poziomem najgłębszego jej zjazdu; nie jest to najlepszy miernik w przypadku gry 1 kontraktem, ale z braku lepszego pozostańmy przy takim.

// Można linkować również jako pomoc graficzne opisy //.

12/ Każdemu przysługuje prawo do wpisania dowolnej ilości propozycji. Zakładam, że w wyniku testów każdy może uzyskać po czasie lepszy wynik niż podany wcześniej więc nie ma powodu by nie podbić stawki w konkursie.

13/ Uwzględniane w konkursie będą tylko te propozycje, które spełniają wszystkie reguły konkursu, a szczególnie:

– warunki raportowania podane w pkt 11 (gdyż o tym zapominano w poprzednich zmaganiach),

– pokazują wszystkie warunki zawierania transakcji, które można przetestować na danych dziennych oraz są realne do przeprowadzenia (nie „zaglądają w przyszłość” co zdarzało się w konkursach wcześniej).

14/ Strategie biorące udział w konkursie mogą być modyfikacjami tych dwóch pokazanych przez mnie („kontra jednego dnia” i „wybicie jednego dnia”), np. użyty dodatkowy filtr, ale nie mogą być dokładnie takie same w zakresie warunków dokonywania transakcji.

15/ To rodzaj edukacyjnej zabawy w formie otwartej rywalizacji, w przypadku ewentualnych sporów zastrzegam sobie prawo do ich rozstrzygania. Ja również będę liczył prawdziwość podawanych rozwiązań i wyników (choć oczywiście może to robić i podawać każdy z czytelników blogów, szczególnie jeśli podejrzewa nieścisłości czy złamanie warunków konkursu).

16/ Nagrodą jest książka z Wydawnictwa Linia, z dedykacją Grzegorza Zalewskiego, sponsorowana przez właściciela niniejszych blogów czyli DM BOŚ. Nie wiem jeszcze jaka, ale może uda się ustalić listę kilku pozycji do wyboru.

17/ Przyznaję sobie również prawo rozdania dodatkowych nagród książkowych jeśli znajdę ciekawe rozwiązania.

Potraktujmy to jako rodzaj zabawy i rywalizacji, ale też jako popularyzację systemowego czy ilościowego podejścia do szukania własnej przewagi w tradingu.

Czas start!

Powodzenia!

— dopisek 15-07-2014:

Dostałem listę 5 książek, z których jedna może być wybrana przez zwycięzcę w ramach nagrody:

1. Penfold B.- Uniwersalne zasady spekulacji (więcej szczegółów -> tutaj)

2. Bulkowski T.- Podstawy spekulacji. Ewolucja gracza giełdowego (więcej szczegółów-> tutaj).

3. Laidi A. – Międzyrynkowa analiza kursów walutowych (więcej szczegółów -> tutaj).

4. Schwager J. – Czarodzieje rynku. Rozmowy z wybitnymi traderami (więcej szczegółów -> tutaj).

5. Lempart, Zalewski – Leksykon formacji świecowych (więcej szczegółów-> tutaj).

—kat—-

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

14 Komentarzy

  1. PiotrB

    Wolno mieć otwartą tylko jedną pozycję, czy w jednym czasie (np. 1H, 1M) można otworzyć tylko jedną pozycję? Nie bardzo też rozumiem: ale jedynie z uwzględnieniem możliwości weryfikacji na danych dziennych.

  2. pit65

    @PiotrB

    Skoro zabawa jest na danych dziennych to raczej jedna pozycja na dzień.
    Więcej odpada bo na jednym słupku dziennym nie będzie możliwości zweryfikowania logiki z 1H czy 1M, a także weryfikacji kilku wejść na dzień bo mamy do dyspozycji tylko OHLC i nie znamy sekwencji dochodzenia tego w intra.
    No ale ostatnie zdanie ma pomysłodawca.

    @KAthay
    Ad7.
    NA dziennym dla intra prawie wcale nie będziesz mógł zdefiniować stopa bo nie zweryfikujesz na jednym słupku czy pierwszy był stop czy wejście.
    Program policzy wg swego se czarnoskrzynkowego uznania 🙂
    Wiekszość poprawnie liczy od następnęgo słupka.

    Ad11.

    Skoro żądasz MDD z 1 kontraktu wypadałoby znormalizować też “Kapitał początkowy”

  3. Tomek

    Hmm, interesująca propozycja 🙂 Na pewno będę obserwował przebieg konkursu.

  4. kathay (Post autora)

    Celowo wprowadzam konieczność użycia danych dziennych, chodzi z jednej strony o to by nie komplikować zasad, a z drugiej z powodu problemów z użyciem danych intra. Żeby sprawdzać intra potrzeba by danych tikowych i cała zabawa przestaje być warta zachodu.

    Nie wykluczam użycia stopów czy wielokrotnych pozycji w czasie dnia, bo może jeszcze coś będzie w stanie mnie zaskoczyć. Konieczność weryfikacji na danych dziennych jest z mojej strony w najprostszy sposób użytą zasadą, która likwiduje właśnie problemy potencjalnie konfliktowe. Jeśli logika danych dziennych nie pozwoli zweryfikować systemu to niestety nie będzie brany pod uwagę.
    Ale jest jeden sposób, który pozwoli na wielokrotne pozycje. Ciekawi mnie czy ktoś na niego wpadnie…

    pit – jakiej normalizacji chciałbyś poza kapitałem początkowym w pkt 4?

  5. kathay (Post autora)

    Jeśli trzeba gruntowniejszego wyjaśnienia “danych dziennych” to proszę pytać.
    Generalnie nie używamy żadnych innych danych niż dzienne co zaznaczam w tym mini regulaminie, a więc żadnych M czy H. Może w innym konkursie, dlaczego by nie.
    Moje dwa systemy daje się logicznie testować na danych dziennych i o to chodzi właśnie. Nawet prosty system: kup otwarcie – sprzedaj zamknięcie pozwala próbować z dużą ilość filtrów, większego kombinowania tym razem nie potrzeba.

  6. pit65

    “pit – jakiej normalizacji chciałbyś poza kapitałem początkowym w pkt 4?”

    Zapomnij . Ne zauważyłem .

    “Nie wykluczam użycia stopów czy wielokrotnych pozycji w czasie dnia,”

    Ja też nie , ale nie jestem w stanie odpowiedziec , czy jakikolwiek program byłby w stanie prawidłowo to policzyć mając do dyspozcji tylko 4 zmienne O H L C bez dodatkowych danych.
    1.Jedynym odniesieniem do właściwego policzenia wejścia dla gry na jednym słupku dziennym jest O.C się nadaje jedynie do wyjścia. Dla H lub L kod będzie look-ał w przyszłość.
    2. kilka wejśc zgoda , ale jakim sposobem program poradzi sobie z kolejnością mając do dyspozycji OHLC bez dodatkowych znaczników czasowych z intra.IMO niewykonalne przynajmniej na poczet takiej zabawy.
    3.Druga sprawa stopy , nie wiem czy na tym samym barze mając do dyspozycji tylko OHLC jakikolwiek program jest w stanie wykryć czy pierszy był stop loss czy take profit przykładowo, poza jednym przykładem gdzie wyjściem jest C , a kurs nie dosięgnął stopa i vice versa, a i to pod warunkiem ,że programiści poprawnie i czy w ogóle taki sposób zaimplementowali.
    JAkoś policzy , ale dasz głowę ,·że poprawnie wg tego jak sobie wyobrażasz ,że jest poprawnie.
    Przykłądowo AB liczy takimi priorytetami na tym samym barze.

    Fixed Ruin stop (loosing 99.96% of the starting capital)
    Max. loss stop
    Profit target stop
    Trailing stop
    N-bar stop

    MAx loss ma większy priorytet niż take profit.
    A sekwencja zdarzeń w ciągu dnia niewidoczna na słupku dziennym OHLC była, że najpierw take profit. Będzie dobrze???

    Jest jescze kilka przełączników w AB gdzie można by coś jeszcze wymyśleć tylko…..to nie upraszcza.

    NIe wiem czy warto w takie rzeczy wchodzić.
    MOże tak , ale każdy dodaje sążniste wyjaśnienie , że kod to policzył poprawnie.

  7. NieObliczalny

    Podpisuję się obydwiema rękoma pod zarzutami pita n/t braku możliwości ustalenia sekwencji zdarzeń H/L L/H na słupkach, w których O>L oraz H>C. Chyba, że umówimy się na jakieś konserwatywne założenia, np że dla pozycji długiej low zawsze wypada przed high a dla krótkiej kolejność jest odwrotna.

    Uważam, że powyższy problem (Zasada Nieoznaczoności Pita ? :)) w zasadzie eliminuje możliwość budowania systemów grających intra.

  8. kathay (Post autora)

    Dlaczego zaraz “zarzuty” Nieobliczalny ? 🙂
    Pit ma oczywiście rację, a ja zrobiłem dopisek “że może coś mnie jednak zaskoczy”. I jeszcze raz podkreślę – system musi mieć możliwość weryfikacji na danych dziennych, realnej czyli takiej, którą da się zaaplikować w realu bez dwuznaczności.

    Nie ukrywam, że konkurs w takiej formie ma być formą edukacji. M.in. tego jak nie spieprzyć logiki w systemie.

    Poza tym dorzuciłem we spisie listę 5 książek do wyboru w ramach nagrody.

  9. Immortal

    Coz, chyba jestem pierwszy i ostatni a wiec nagroda murowana.

    zasady:
    System jest dwupoziomowy.
    Poziom pierwszy jest niemal kopia systemu Kathaya. Jesli wczoraj Close mniejszy niz Open a Open dzis mniejszy od Close wczoraj to wejscie na pozycje dluga Open+6 tików. Krotka symetrycznie.
    Albo dodatkowo:
    Jesli wczoraj Close wiekszy od Open i Open dzis wyzej niz H wczoraj to otwarcie pozycji Open+6 tikow. Short symetrycznie.
    Raport:
    profit: 2016,2%
    maxDD:18,28%
    annual return: 20,34%
    all trades: 1815
    winners: 58,73%

  10. kathay (Post autora)

    @Immortal
    Czytasz w moich myślach z tymi wielokrotnymi pozycjami 🙂
    Zrobię kod i przetestuję poprawność. Tak czy inaczej skontaktuj się proszę ze mną na kathay.w.bossa.pl

    A ja naiwny myślałem, że to prosty konkurs i strona się zawiesi od nadmiaru propozycji… 🙂

  11. pit65

    @kathay

    NO to teraz wiem co znaczy u Ciebie termin “wielokrotne pozycje” 🙂
    To jest raczej wielokrotna logika do otwrcia 1 pozycji, wielokrotnej pozycji /więcej niż jedna na słupku dziennym w moim rozumieniu/ założyć nie można biorąc pod uwagę interwał dzienny.

    @Immortal
    Logika.
    Zważ jedno:

    Krótka symetrycznie z “poziomu pierwszego” może pokrywać się z długą symetrycznie z “poziomu drugiego” i na odwrót w jednym czasie w sytuacji gdy jeżeli Open >H == open>C.MAmy więc rownoważny wybór z dwóch dla otwarcia pozycji.

    NIe znamy sekwencji na słupku dziennym czy najpierw wystąpi od otwarcia poziom drugi czy też poziom pierwszy /dla dlugiej/ , a program tester kierując się maksymalizacją zysku wybierze z dwojga poziomów tę która wygrywa , a nie ta która była pierwsza 🙂

    Poza tym wynik świetny lecz podrasowany ukrytą logiką IMO.

  12. kathay (Post autora)

    @Immortal
    Właśnie skończyłem kodowanie i test.
    Niestety nie mogę uznać wyniku.
    Powód jest prosty – prawdopodobnie pominąłeś dni podczas których pozycja może być zajęta w obie strony i nie sposób na danych dziennych ustalić właściwej kolejności. Jeśli kodowałeś w AMI to w tym programie algorytm przyjmuje optymistyczną wersję i stąd taki wysoki wynik.
    Przykro mi , ale konkurs nie zostaje rozstrzygnięty.
    Chyba jednak zadanie okazało się zbyt trudne. Nieco mnie to dziwi ponieważ istnieje jeszcze kilka strategii jednodniowych, które wykazują przewagę na FW20 przy mnożniku x20.
    Mam nadzieję, że przynajmniej była to pouczająca lekcja 🙂

  13. kathay (Post autora)

    @pit
    Ten system był od strony logiki położony.
    Ale to nie zmienia faktu, że dobra była sama idea zbudowania systemu opartego na kilku podstystemach, które nie kolidują ze sobą tego samego dnia. Mam takie kombajny w swoich zbiorach, ty pewnie też 🙂

    Ewentualnie można również jeden system podzielić na kilka podsystemów biorąc różne parametry. Np. pierwszy system wchodzi na O+3 tiki, drugi na O+6 tików , trzeci na O+10 tików. W niektóre dni wszystkie 3 pozycje wchodzą a przewagi się nakładają.

  14. skrzat

    Jak w AMI zapisać warunek otwarcia pozycji np. open + 6 tików?

Dodaj komentarz

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

Proszę podać wartość CAPTCHA: *