Budowa systemu transakcyjnego dla rynku kontraktów futures na indeks WIG20. ANNA CHUDOWSKA ADAM WOSIK



Podobne dokumenty
MACD wskaźnik trendu

Narzędzia analizy technicznej. Narzędzia analizy technicznej. Narzędzia analizy technicznej

Testy popularnych wskaźników - RSI

Oscylator Stochastyczny

Projektowanie systemu krok po kroku

Oscylator Stochastyczny (Stochastic)

WSKAŹNIK RUCHU KIERUNKOWEGO (DMI) ŚREDNI INDEKS RUCHU KIERUNKOWEGO (ADX)

Studenckie Koło Naukowe Rynków Kapitałowych Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence).

Strzał stochastyczny i inne nietypowe wykorzystanie wskaźników

Analiza techniczna. Przemysław Rola. Instytut Matematyki UJ. 7 maja 2012

System transakcyjny oparty na średnich ruchomych. ś h = gdzie, C cena danego okresu, n liczba okresów uwzględnianych przy kalkulacji.

System transakcyjny oparty na wskaźnikach technicznych

ROC Rate of Charge. gdzie ROC wskaźnik szybkości zmiany w okresie n, x n - cena akcji na n-tej sesji,

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

ANALIZA TECHNICZNA WARSZTATY INWESTYCYJNE TMS BROKERS

Strategie arbitrażowe w praktyce Tomasz Korecki

Zastosowanie oscylatorów o łapaniu górek i dołków na wykresach. Szymon Kamiński Szef Pionu AT

System transakcyjny. Sebastian Kowalik Tomasz Roszkowski

ANALIZA TECHNICZNA RYNKÓW FINANSOWYCH

Wskaźniki w Analizie Technicznej

Zmienność. Co z niej wynika?

Interwały.

Komputerowe systemy na rynkach finansowych. wykład systemy mechaniczne

Accumulation Swing Index- skumulowany indeks waha ADX

Studenckie Koło Naukowe Rynków Kapitałowych. Nikkei

Projekt systemu transakcyjnego dla kontraktów terminowych indeksu WIG20.

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Strategie inwestowania na rynku papierów wartościowych. Wykład 4

STANDARD DLA WYMAGAJĄCYCH

ABONAMENT LISTA FUNKCJI / KONFIGURACJA

Wskaźniki w Analizie Technicznej

Test wskaźnika C/Z (P/E)

Analiza techniczna.

Trening. Praktyczny inwestor forex cz. I SPIS TREŚCI

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Analiza techniczna.

W okresie pierwszych dwóch i pół roku istnienia funduszu ponad 50% podmiotów było lepszych od średniej.

ANALIZA SPÓŁEK Witam.

WYKORZYSTANIE ANALIZY TECHNICZNEJ W PROCESIE PODEJMOWANIA DECYZJI INWESTYCYJNYCH NA PRZYKŁADZIE KGHM POLSKA MIEDŹ S.A.

Czy popularny złoty krzyż i krzyż śmierci są najskuteczniejszymi sygnałami przecięć średnich ruchomych?

KOMENTARZ PO SESJI

OBLIGACJE: dane z godziny 21:00

Zastosowanie wstęg i kanałów w analizie technicznej. Krzysztof Borowski KBC Securities Katedra Bankowości SGH

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

ANALIZA SPÓŁEK Witam.

EV/EBITDA. Dług netto = Zobowiązania oprocentowane (Środki pieniężne + Ekwiwalenty)

STRATEGIE INWESTOWANIA NA RYNKU PAPIERÓW WARTOŚCIOWYCH. Wykład 7

KOMENTARZ PO SESJI

Wstęgi Bollingera. Robert Gawron, , Warszawa

WSTĘP DO ANALIZY TECHNICZNEJ RYNKÓW FINANSOWYCH

Strategie inwestowania na rynku papierów wartościowych. Wykład 5

Indeksy: Nikkei 225, S&P 500, Nasdaq 100. Kurs z:

ANALIZA SPÓŁEK Witam.

ELEMENTY SUKCESU NA RYNKU KAPITAŁOWYM

ANALIZA FUTURES NA WIG20

Analiza Techniczna Andrzej Klempka komentarz po sesji

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu - metodologia badań

Strategie VIP. Opis produktu. Tworzymy strategie oparte o systemy transakcyjne wyłącznie dla Ciebie. Strategia stworzona wyłącznie dla Ciebie

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Aktywa funduszy inwestycyjnych. Raport r.

Studenckie Koło Naukowe Rynków Kapitałowych Coca-Cola Co. (KO) - spółka notowana na giełdzie nowojorskiej (NYSE).

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktów CFD

Użycie poziomów Fibonacciego do ustawiania zleceń Stop Loss

ICHIMOKU KINKO HYO. Studenckie Koło Naukowe Rynków Kapitałowych. 1. Linia bazowa (Kijun Sen) oznaczoną symbolem ST.

Ebay Inc. (EBAY) - spółka notowana na giełdzie nowojorskiej (NASDAQ).

Studenckie Koło Naukowe Rynków Kapitałowych

Analiza techniczna.

Inwestor musi wybrać następujące parametry: instrument bazowy, rodzaj opcji (kupna lub sprzedaży, kurs wykonania i termin wygaśnięcia.

Co oznaczają te poszczególne elementy świecy?

FOREX - DESK: Komentarz dzienny ( r.)

Automatyczne strategie inwestycyjne nowoczesne inwestowanie dla każdego

Wycena opcji. Dr inż. Bożena Mielczarek

Indeksy: Nikkei 225, S&P 500, Nasdaq 100

Lista wskaźników technicznych na platformie BReTRADER

Inwestowanie w IPO ile można zarobić?

Knoty, cienie i korpusy - wszystko o kształtach świec japońskich

ANALIZA SPÓŁEK

KOMENTARZ PORANNY

Studenckie Koło Naukowe Rynków Kapitałowych. Nikkei

Giełda. Podstawy inwestowania SPIS TREŚCI

Analiza techniczna. Motto dnia: Transakcja się uda lub nie, ale jeśli ryzyko będzie małe to nie stanie nam się nic złego.

ANALIZA SPÓŁEK Witam.

KOMENTARZ WEEKENDOWY Witam.

Analiza techniczna.

KROK 4 OTWIERANIE POZYCJI

FOREX - DESK: Rynek krajowy ( r.)

Analiza Techniczna Andrzej Klempka komentarz po sesji

Poradnik Inwestora część 3. Podstawy inwestowania na rynku Forex, rynku towarowym oraz kontraktach indeksowych

Analiza techniczna indeksów WIG 20

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Trend - róŝne sposoby określania kierunku ruchu ceny Investors Level

Analiza Techniczna Rynków Finansowych

Ćwiczenia ZPI. Katarzyna Niewińska, ćwiczenia do wykładu Zarządzanie portfelem inwestycyjnym 1

Spis treści SPIS TREŚCI...V PRZEDMOWA...11 PODZIĘKOWANIA Wstęp

Lekcja 5: Oscylatory i wskaźniki nastroju

ANALIZA SPÓŁEK

Analiza praktyk zarządczych i ich efektów w zakładach opieki zdrowotnej Województwa Opolskiego ROK 2008 STRESZCZENIE.

Analiza techniczna.

Transkrypt:

Budowa systemu transakcyjnego dla rynku kontraktów futures na indeks WIG20. ANNA CHUDOWSKA ADAM WOSIK WARSZAWA 2008

WSTĘP Przystępując do budowy systemu transakcyjnego musieliśmy najpierw opracować pewną wizję tego, na czym opierać się będzie nasz system. Postanowiliśmy skonstruować taki system, który będzie w stanie odróżnić siłę trendu rynkowego i następnie zastosować odpowiednie wskaźniki. System będzie mierzył siłę trendu w oparciu o wskaźnik ADX (Average Directional Movement Index). Wskaźnik ten niestety nie pokazuje kierunku trendu oraz działa z opóźnieniem, co ogranicza jego skuteczność w najbardziej interesujących inwestorów momentach odwrócenia trendu (formacjach V). Przyjmujemy jednak, że wartość ADX>=15 pokazuje silny trend, dodatkowo gdy ADX rośnie mamy do czynienia z coraz silniejszym trendem. ADX będzie więc pewnego rodzaju przełącznikiem pomiędzy wskaźnikami generującymi sygnały w okresie silnych trendów oraz wskaźnikami generującymi sygnały w okresach horyzontalnych. Wskaźnikiem generującym sygnały w silnych trendach w naszym systemie będą dwie wykładnicze średnie kroczące a dokładniej ich odpowiednie przecięcia. Oczywiście rozważyć możemy przecięcie trzech średnich lub zastąpienie średnich kroczących wskaźnikami DEMA bądź TEMA w celu eliminacji zbyt dużej liczby mylnych sygnałów (niestety dobre sygnały też zostaną ograniczone). To samo możemy osiągnąć poprzez odpowiednie wydłużenie okresów, z jakich mają być liczone średnie. W okresach, kiedy brak wyraźnego trendu na rynku, system powinien generować sygnały w oparciu o RSI (Relative Strenght Index) i Oscylator Stochastyczny. Wykorzystujemy dwa wskaźniki w celu uzyskania bardziej pewnych sygnałów. RSI powinien generować sygnały kupna gdy znajduje się w strefie wyprzedania (poniżej wartości 30) i wychodzi z niej (przebija od dołu linię 30). Sygnał sprzedaży powinien być generowany po opuszczeniu strefy wykupienia (przecięcie lini 70 od góry). Oscylator Stochastyczny będzie generował sygnał kupna przy wzroście wskaźnika ponad poziom wysprzedania (przyjmujemy wartość 10) a sygnał sprzedaży zostaje wygenerowany przy spadku wskaźnika poniżej poziomu wykupienia (przyjmujemy wartość 90). Możemy również rozważyć występowanie dywergencji. W systemie nie można zapomnieć o uwzględnieniu odpowiednich stopów. Nasz system na pewno będzie zawierał stop loss. Jego wielkość oraz ewentualnie użycie innych stopów i ich wielkości zostaną dobrane po części metodą prób i błędów. Parametry wykorzystywanych wskaźników dobrane zostaną na podstawie optymalizacji na danych

historycznych (FW20, okres od 20-01-1998 do 20-01-2006). Działanie systemu sprawdzimy na danych dla FW20 od 21-01-2006 do 16-05-2008. Pierwszym zbudowanym przez nas systemem, który spełniałby powyższe założenia był system, którego formuły wyglądały następująco: formuła kupna IF((ADX(OPT3)>=15 AND adx(opt3)>=ref(adx(opt3),-opt4)), Cross(Mov(c,opt1,e),Mov(c,opt2,e)), ((ALERT(CROSS(RSI(OPT5),30),OPT8) and CROSS(STOCH(opt6, opt7),10)) OR (ALERT(CROSS(STOCH(OPT6,OPT7),10),OPT8) and CROSS(RSI(OPT5),30)))) formuła sprzedaży IF((ADX(OPT3)>=15 AND adx(opt3)>=ref(adx(opt3),-opt4)), Cross(Mov(c,opt2,e),Mov(c,opt1,e)), ((ALERT(CROSS(70,RSI(OPT5)),OPT8) and CROSS(90,STOCH(opt6, opt7))) OR (ALERT(CROSS(90,STOCH(OPT6,OPT7)),OPT8) AND CROSS(70,RSI(OPT5))))) Powyższy system zakłada, że podczas występowania silnego trendu (czyli w sytuacji kiedy ADX jest większe od 15, oraz nadal rośnie), korzystamy z przecięcia się krótkookresowej i długookresowej średniej kroczącej. W przeciwnym wypadku (podczas słabego trendu), system niniejszy korzysta ze wskaźnika względnej siły - Relative Strenght Index oraz oscylatora stochastycznego. W tej pierwotnej wersji zastosowaliśmy jedynie tzw. stop loss na poziomie 10%. Wynik optymalizacji tego systemu możemy zaobserwować poniżej. Linia equity wygląda następująco: Widzimy zatem, że linia equity nie przynosi jakichś szczególnych obsunięć kapitału i jest względnie stabilna przynosząc w miarę ciągły zysk. Dochód jaki został wypracowany po zastosowaniu tego na historycznych danych systemu wyniósł 4980,8 punktów. Ilość zawartych transakcji pozwala stwierdzić, że stworzony przez nas system jest bardzo ostrożny,

gdyż suma zawartych kontraktów to tylko 12. Pocieszający jest jednak fakt, że 9 z nich jest transakcjami zyskownymi, a średnia korzyść jaką otrzymujemy z nich jest ponad 10 razy większa niż średnia poniesiona przez nas strata. Szczegółowy wydruk dotyczący tego systemu znajduje się w załączniku 1. W dalszej części pracy próbowaliśmy polepszyć swoje zyski ustawiając różnorodne kombinacje tzw. stopów. Najbardziej optymalne (zyskowne) ustawienie zamieściliśmy poniżej. Dzięki takiej kombinacji stopów udało nam się podnieść zyskowność naszych operacji do 5044,610 punktów. Niestety nie zmienił nam się stosunek ilości trafionych operacji do kontraktów nietrafionych. Na niekorzyść wypadła też relacja średniego zysku do średniej straty. Przytaczamy jednak ten system gdyż przynosi on większe korzyści niż poprzednia wersja. Co do linii equity, którą się wspieramy, wydaje się być ona bardziej wyrównana, niż tożsama wersji poprzedniej.

Szybsza jest także reakcja tego systemu na wejście na rynek., dzięki czemu po dość niedługim czasie możemy odnosić korzyści z obrotu rynkowego. Szczegółowe informacje dotyczące systemu w wersji 2 znajdują się w załączniku 2. Ze względu na dość wyrównany kształt tej linii, ta wersja systemu była pierwszą, na której sprawdziliśmy skuteczność systemu na okresie prognozy (danych rzeczywistych). Wersja systemu nie była już wtedy optymalizowana. Wyniki badania zamieszczamy poniżej. Jak widzimy, linia equity wygląda znacznie gorzej. Podczas całego badanego czasu ponosimy znaczne straty, aczkolwiek ostatecznie wychodzimy na niewielkim plusie otrzymując zysk na poziomie 377,58. Podczas tego dwuletniego okresu prognozy nasza linia equity jest bardzo niestabilna i generuje na zmianę zarówno zyski jak i znaczne straty. Nie jest to system, któremu bylibyśmy w stanie zaufać jeśli chodzi o rzeczywiste pieniądze i rzeczywiste ryzyko towarzyszące zawieranym kontraktom. Widzimy zatem, iż mimo bardzo ładnie wyglądającej linii equity na danych optymalizowanych, system nie do końca sprawdził się na danych prognozowanych. Dalsze poszukiwania najlepszego systemu transakcyjnego rozpoczęliśmy od zweryfikowania poprzednio użytej formuły. Wydało nam się bowiem, że zbyt dużo obwarowań w poprzedniej wersji powodowało, że tracimy szansę zawarcia kontraktu, nawet w dość pewnych sytuacjach. Była to bardzo zachowawcza wersja dobra dla ostrożnych inwestorów. W kolejnej wersji naszego systemu postanowiliśmy zatem złagodzić warunki, w których system dawałby sygnały na zawarcie transakcji kupna bądź sprzedaży.

W kolejnym systemie, nie skorzystaliśmy z indeksu RSI. Co prawda, nasze rozumowanie było dość zbliżone do poprzedniej wersji, czyli kiedy wskaźnik ADX wskazywał na silny trend, korzystaliśmy z 2 średnich kroczących, jednak zwiększyliśmy próg ponad którym miała znajdować się linia ADX, z 12 do 20. Dzięki temu, byliśmy pewni, że jesteśmy w momencie bardzo silnego trendu, a jednocześnie pozwoliliśmy aby oscylator stochastyczny mógł wygenerować więcej sygnałów, kiedy ten warunek nie zostanie spełniony. Zmieniliśmy także samą formułę dotyczącą tego oscylatora opierając go nie tyle na poziomach wykupienia i wyprzedania, ale na przecięciu się go z linią sygnalną. Dzięki temu uzyskujemy także więcej sygnałów generowanych przez ten wskaźnik. Formuła tego systemu była zatem następująca: Dla kontraktu kupna IF((ADX(OPT3)>=20 AND adx(opt3)>ref(adx(opt3),-opt4)), Cross(Mov(c,opt1,e),Mov(c,opt2,e)), CROSS(STOCH(opt6, opt7),mov(stoch(opt6,opt7),3,s))) Dla kontraktu sprzedaży IF((ADX(OPT3)>=20 AND adx(opt3)>ref(adx(opt3),-opt4)), Cross(Mov(c,opt2,e),Mov(c,opt1,e)), CROSS(MOV(STOCH(OPT6,OPT7),3,S),STOCH(opt6, opt7))) Dzięki tak zapisanej regule, otrzymaliśmy naprawdę zadowalającą linię equity widoczną poniżej. Linia ta sugeruje, że system jest dość prężnie działający i zawiera transakcje właściwie już od początku bycia na rynku. Dodatkowo cechuje go stabilny, równomierny wzrost. Spełnione zostały także nasze oczekiwania dotyczące ilości zawartych kontraktów. Ich liczba wzrosła z 12 aż do 504! Zatem nasze założenia były skuteczne. Ilość transakcji trafionych, do tych mało korzystnych była porównywalna 225/279, a średni zysk był prawie 2 razy większy od średniej straty. Niestety łączny zysk jaki otrzymaliśmy na danych obserwowanych

był nieco niższy i wyniósł 3209,2. Szczegółowy wydruk z programu Metastock znajduje się w załączniku 3. Zachęceni tym sukcesem, rozpoczęliśmy dalszą modyfikację wcześniejszej wersji, zmieniając warunki optymalizacji. Korzystając z nowej wersji systemu, podnieśliśmy uzyskane przez nas zyski do 3306,4 punktów oraz bardzo na korzyść zmieniła się proporcja operacji zyskownych do mało korzystnych. System ten generuje nam bowiem aż 160 prawidłowo rozpoznanych sygnałów i tylko 153 błędne, a średni zysk dodatkowo jest prawie 2 razy większy niż średnia strata. Linia equity dla tego systemu wygląda następująco: Widzimy zatem, że linia ta charakteryzuje się dość wygładzoną strukturą, bez większych wahań, co pozwala na stały i dość pewny zysk. Szczegóły dotyczące tej wersji systemu zawiera załącznik 4. Zastanawiając się nad prawidłowym działaniem tej wersji programu, postanowiliśmy zbadać jaką skuteczność ma ona jeśli chodzi o okres prognozy. Okazało się, że dzięki naszemu systemowi udało nam się wygenerować niewielki zysk w wysokości 644 punktów. W porównaniu do wcześniej badanego na tym okresie systemu, jest to całkiem niezły wynik. Linia equity wygląda natomiast następująco: Możemy zaobserwować (mimo nieznacznych wahań) dość stabilny wzrost. Aby otrzymać jeszcze lepsze wyniki, stworzyliśmy kombinacje stopów, która pozwoliłaby nam na osiągnięcie jeszcze lepszych wyników i na bardziej równomiernie zdobywane zyski.

Dzięki takim ustawieniom, nasz system powiększył swoje zyski do 3844,44 punktów. Zdecydowaliśmy, że będzie to ostateczna wersja naszego systemu o następującej formule: dla transakcji kupna IF((ADX(9)>=20 AND adx(9)>ref(adx(9),-1)), Cross(Mov(c,4,e),Mov(c,12,e)), CROSS(STOCH(5, 3),MOV(STOCH(5,3),3,S))) dla transacji sprzedaży IF((ADX(9)>=20 AND adx(9)>ref(adx(9),-1)), Cross(Mov(c,12,e),Mov(c,4,e)), CROSS(MOV(STOCH(5,3),3,S),STOCH(5, 3)))

Linia equity dla tego systemu wygląda następująco: Wybraliśmy ten system, gdyż charakteryzuje się on względną stałością- nie ma strasznych załamań, nie odnosi znaczących strat. Dodatkowo zawiera optymalną liczbę zawieranych transakcji i prawie dwa razy większy średni zysk od średniej straty. Szczegółowe wydruki z programu Meastock znajdują się w załączniku 5. System ten został zbadany przez nas także na okresie prognozy. Widzimy zatem, że mimo dość licznych zawirowań system ogólnie osiąga stałe zyski. Dochód jaki otrzymaliśmy dzięki takiej konstrukcji systemu jest ponad dwa razy większy niż w ostatniej wersji i wynosi 1351 punktów. Według nas, porównując do otrzymanych wyników podczas całego poszukiwania idealnego systemu, jest to naprawdę dobry wynik. Wydruki dla ostatecznej wersji sprawdzanej dla okresu dwuletniej prognozy znajdują się w załączniku 6. Dojście do wersji ostatecznej wymagało od nas przebadania wielu systemów bazujących na innych pomysłach niż nasza ostateczna wizja. Niektóre z nich zamieszczamy w załączniku 7 wraz z odpowiednimi dla nich liniami equity oraz zastosowaną formułą, aby pokazać, jak na tle innych systemów wygląda system przez nas wybrany.

Załącznik 1

Załącznik 2

Załącznik 3

Załącznik 4

Załącznik 5

Załącznik 6

Załącznik 7 Poniżej przedstawiamy linie equity dla kilku innych systemów, które konstruowaliśmy: 1. System oparty na przecięciu dwóch średnich kroczących Buy Order: Cross(Mov(c,2,e),Mov(c,11,e)) Sell Order: Cross(Mov(c,11,e),Mov(c,2,e)) 2. System oparty na przecięciu dwóch średnich koroczących oraz na silnym trendzie (wartości ADX) Buy Order: ADX(5)>=15 and Cross(Mov(c,2,e),Mov(c,13,e)) Sell Order: ADX(5)>=15 and Cross(Mov(c,13,e),Mov(c,2,e)) 3. System oparty na przecięciu dwóch wskaźników DEMA Buy Order: CROSS(DEMA(C,4),DEMA(C,14)) Sell Order: CROSS(DEMA(C,14),DEMA(C,4)) 4. System oparty na przecięciu dwóch wskaźników TEMA przy silnym trendzie oraz sygnałach generowanych przez RSI i Oscylator Stochastyczny przy braku wyraźnego trendu.

Buy Order: IF((ADX(10)>=20 AND ADX(10)>=REF(ADX(10),-1)), Cross(TEMA(c,4),TEMA(c,12)), ((ALERT(CROSS(RSI(12),30),1) and CROSS(STOCH(5, 3),10)) OR (ALERT(CROSS(STOCH(5,7),10),1) AND CROSS(RSI(12),30)))) Sell Order: IF((ADX(10)>=20 AND ADX(10)>=REF(ADX(10),-1)), Cross(TEMA(c,12),TEMA(c,4)), ((ALERT(CROSS(70,RSI(12)),1) and CROSS(90,STOCH(5, 3))) OR (ALERT(CROSS(90,STOCH(5,3)),1) AND CROSS(70,RSI(12))))) 5. System oparty na przecięciu trzech średnich kroczących. Buy Order: ALERT(CROSS(MOV(C,5,E),MOV(C,8,E)),3) AND CROSS(MOV(C,5,E),MOV(C,20,E)) Sell Order: ALERT(CROSS(MOV(C,8,E),MOV(C,5,E)),3) AND CROSS(MOV(C,20,E),MOV(C,5,E)) 6. System oparty na MACD Buy Order: MACD() > Mov( MACD(), 12, EXPONENTIAL) AND macd()<12 Sell Order: MACD() < Mov( MACD(), 12, EXPONENTIAL) AND macd()>22