czwartek, 2 lutego 2012

5 kroków dzięki którym zaczynając od dobrych chęci staniesz się skutecznym i zarabiającym inwestorem giełdowym

5 kroków dzięki którym zaczynając od dobrych chęci staniesz się skutecznym i zarabiającym inwestorem giełdowym

Autorem artykułu jest Rafał Wysocki



Kiedy z jakiegoś powodu zainteresujesz się zarabianiem na giełdzie, właściwa kolejność postępowania pozwoli Ci zostać skutecznym inwestorem mniejszym kosztem, prościej i bez zbędnych rozczarowań. Poznaj tą kolejność bezpośrednio od wieloletniego inwestora i praktyka.

Bez względu na to, czy masz jeszcze mgliste pojęcie o giełdzie, czy też doświadczyłeś już pierwszych inwestycji znasz pojęcie wykresu. Zapewne też wiesz już, że istnieje coś takiego jak analiza techniczna.

Pamiętam jak dziś historię, która przydarzyła mi się gdy jeszcze sam nie miałem o tym zielonego pojęcia. Zainteresował mnie wtedy temat ściśle związany z przewidywaniem zmian cen. Były to zakłady walutowe na platformie Bet On Market. Wystarczyło popatrzeć na wykres np. dolara do jena japońskiego USD/JPY i obstawić jedną z dwóch możliwości. Za godzinę cena będzie wyższa niż teraz, lub będzie niższa niż teraz. Gdy miało się rację po godzinie zarabiałem około 97% tego co postawiłem. Gdy nie miałem racji traciłem postawioną kasę.

Zobaczyłem zygzaki na wykresie i stwierdziłem - to nie może być trudne. Dodatkowo trafiłem gdzieś w literaturze na fascynującą technikę podwajania zakładów i odrabiania natychmiast nawet wielokrotnych strat. Świat stał przede mną otworem. Po co wiedza, pieniądze zaczęły płynąć…

Mam nadzieję, że nie reprezentujesz takiego podejścia. Generalnie pierwszym krokiem dla Ciebie musi być zawsze zdobycie wiedzy. Wiedzy możliwie szerokiej. Obowiązkowo poznaj wiele technik i sposobów analiz. Nie po to, żeby wszystkie z nich stosować. Zrób to po to, aby mieć szeroki wybór w etapie drugim, kiedy będziesz decydować o swojej metodzie inwestycyjnej.

Następnym bowiem etapem jest właśnie wybór metody inwestycyjnej. Ma tu znaczenie która z nich pasuje do Twojej psychiki i tempa inwestycji. Jednak jest jeszcze kluczowa kwestia. Wybraną przez Ciebie metodę musisz sprawdzić czy działa. Gdy masz już zasady wejścia na rynek, gdy masz zasady zamykania i ochrony transakcji, gdy już zdecydujesz jak zarządzasz kapitałem – przeprowadź test na danych historycznych.

Ręcznie lub automatycznie, ale musisz wiedzieć czy metoda ta jest cokolwiek warta na prawdziwym rynku. Jeżeli się nie sprawdzi, udoskonalaj ją lub szukaj innej.

Gdy już masz metodę, otwórz sobie rachunek demo. To nie jest to samo co prawdziwe pieniądze. Emocje też mają znaczenie. Ale najpierw warto, żebyś oswoił się z tempem rynku, z migającymi cyferkami, z żywym wykresem. Naucz się składać zlecenia i zakładać stop. Możesz też przy okazji sprawdzić na ile łatwo stosuje się Twoją metodę w czasie rzeczywistym i na ile jest czasochłonna.

Krok czwarty. W końcu musi przyjść czas na zainwestowanie pierwszego kapitału. Jednak tu zastosuj przyzwyczajanie. Nie daj się ponieść chciwości po pierwszych udanych transakcjach. Inwestuj najpierw małe pieniądze. Takie które nie spowodują stresu czy nerwowego drapania w gardle gdy rynek nie idzie w Twoją stronę. Sam doświadczyłem kiedyś szybkiego przyrostu kapitału, gdy z poziomu 30-40 tys. przeszedłem w krótkim czasie na 130 tys zainwestowanych złotówek. Zbyt szybkiego. Drobne procentowo straty które przedzielały zyski, akceptowane dotychczas - przy takiej kwocie powodowały zbyt duży stres. Wtedy zdecydowałem się na krok wstecz i wycofałem nadmiar kapitału z giełdy. Kolejne zwiększanie odbywało się już znacznie wolniej.

Po tym przychodzi czas na krok piąty. Dopiero po doświadczeniach drobnych możesz przejść do prawdziwego zarabiania pełną gębą. Jesteś już wtedy prawdziwym inwestorem gotowym na zarządzanie całym kapitałem który masz na giełdę. Na dodatek, nie wiadomo kiedy z inwestora początkującego przeistoczyłeś się w inwestora doświadczonego. Przyjmij gratulacje!

Inwestując natomiast we wspomniane na początku zakłady walutowe natrafiłem nagle na wielokrotną stratę. Miałem zainwestowane 7 tys. i byłem w stanie przeżyć 8 strat pod rząd. Przyszedł jednak taki moment, gdy trafiło się ich 9 jedna po drugiej i było po sprawie. Zostałem bez kapitału.

Dopiero potem dowiedziałem się o prawdziwym zarządzaniu kapitałem. Dowiedziałem się, że strategia podwajania zakładu jest tragiczna gdy spojrzy się na jej podstawy matematyczne. Dopiero wtedy wziąłem się też za prawdziwą naukę analizy technicznej.

---

Zbuduj swój własny, skuteczny system inwestycyjny.
Więcej dowiesz się na
http://zobacz.CzarodziejAFL.pl/

Akcje, Kontrakty FW20, DAX, S&P500, Forex.


Artykuł pochodzi z serwisu www.Artelis.pl

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #6

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #6

Autorem artykułu jest Rafał Wysocki



Język AFL w Amibrokerze jest potężnym narzędziem konstruowania systemów inwestycyjnych. Można też przeprowadzić bardzo rozbudowane testy zanim zainwestuje się prawdziwe pieniądze. Jednak te kilka błędów może spowodować, że wszystkie testy będą przekłamane, a Twoja inwestycja będzie zagrożona. Zobacz jak się przed tym uchronić.

Błąd szósty polega na braku płynności waloru. Możesz go popełnić przy testowaniu na danych giełdowych za pomocą dowolnego programu. Choć trzeba przyznać, że niektóre z nich zabezpieczą Cię lepiej, inne gorzej. Na szczęście Amibroker należy do tych pierwszych. Jednak nawet przy jego użyciu dużo zależy od Ciebie.

W kolejnych etapach tworzenia systemu inwestycyjnego najczęściej zaczyna się jego konstruowanie od zasad wejścia w rynek i wyjścia z niego. Dobra praktyka twórcy jest taka, aby dokładał on i doskonalił kolejne składowe dopiero po skonstruowaniu poprzednich.

Tak więc na początku najczęściej brakuje zarządzania kapitałem. Dla instrumentów z dźwignią zazwyczaj również pomija się ją i pierwsze testy przeprowadza się bezpośrednio na punktach lub pisach.

Nadchodzi jednak moment w którym nad zarządzaniem kapitałem należy pomyśleć. Dla wspomnianych walorów z dźwignią przejdziesz na obliczenia w prawdziwych pieniądzach. I tu kryje się pułapka. Bowiem jeżeli nie przypilnujesz, wyniki testu mogą wyjść całkowicie niezgodne z rzeczywistymi możliwościami jakie na rynku istniały.

Jeżeli test zaczynasz np. z kapitałem 100 tys. zł i w momencie zawierania transakcji Twój system przewiduje zainwestowanie 50% posiadanych pieniędzy, możesz mieć problem. Wystarczy, że walor na którym testujesz ma średni obrót na sesję 20 tys. zł. Oczywiście przy braku kontroli program przyjmie zakup za 50 tys. zł i nie zaprotestuje. Jednak ten wynik jest już oderwany od rzeczywistości. Nawet gdyby średni obrót był równy potrzebnym 50 tys. zł, to i tak nie możesz zakładać, że jednego dnia rynek będzie należał wyłącznie do Ciebie.

Jak poradzić sobie z tym problemem? Metody jak zwykle są dwie.

Po pierwsze możesz przewidzieć i zaprogramować taką sytuację w kodzie AFL. Jednak jest to rozwiązanie trudniejsze i nie do końca skutecznie.

Jednak drugi sposób jest prosty i uniwersalny. Otóż przy zaawansowanych testach które wykonasz Amibrokerem włącz sobie najpierw okienko "Backtester Settings" i tam w zakładce "Portfolio" znajdziesz dwie pozycje.

"Limit Trade size as % of entry bar volume" oznacza Twoje niezbędne ograniczenie inwestycji. Podajesz tu jaki procent wolumenu słupka możesz użyć dla swojej transakcji. Wartość 0 oznacza brak takiego limitu. Natomiast wartości (0;100> dają faktyczne ograniczenie. Sam musisz uznać jak dużym graczem chcesz być na danym walorze, ale zazwyczaj lepiej testować to z wartościami 20% lub mniej.

Dodatkowo jeszcze musisz przypilnować, żeby wyłączone pozostało "Disable trade size limit when bar volume is zero". Jego włączenie spowodowało by bowiem ignorowanie pierwszego warunku dla danych o zerowym obrocie. Jest to potrzebne w specyficznych sytuacjach, ale np. dla polskiej giełdy może jedynie generować błędy.

---

Zbuduj swój własny, skuteczny system inwestycyjny.
Więcej dowiesz się na
http://zobacz.CzarodziejAFL.pl/

Akcje, Kontrakty FW20, DAX, S&P500, Forex.


Artykuł pochodzi z serwisu www.Artelis.pl

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #5

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #5

Autorem artykułu jest Rafał Wysocki



Język AFL w Amibrokerze jest potężnym narzędziem konstruowania systemów inwestycyjnych. Można też przeprowadzić bardzo rozbudowane testy zanim zainwestuje się prawdziwe pieniądze. Jednak te kilka błędów może spowodować, że wszystkie testy będą przekłamane, a Twoja inwestycja będzie zagrożona. Zobacz jak się przed tym uchronić.

Błąd piąty jest charakterystyczny dla programowania systemów inwestycyjnych w Amibrokerze. Wynika on ze specyficznego podejścia w nim do zmiennych tablicowych. Oczywiście wynika też z niezrozumienia do końca jak są one obsługiwane.

Ciekawe jest to, że błędy takie trafia się głównie ludziom znającym już język AFL. Dzieje się tak w wyniku tego, że zaczynają swoją drogę od systemów prostych do bardziej skomplikowanych.

Akurat tydzień przed pisaniem tego artykułu otrzymałem zapytanie od jednego z moich uczniów: "czemu nie działa?". Był tam właśnie dokładnie taki błąd.

Nie zdradzę oczywiście jego kodu. Wyobraź sobie jednak prosty system np. na wybicie z formacji świecowej. Założenia są takie, że nie inwestujesz od razu gdy formacja wystąpi, tylko czekasz na potwierdzenie. Wybicie z zakresu formacji w jedną stronę daje sygnał kupna, wybicie w drugą daje zanegowanie formacji. Klasyczna interpretacja.

W takim razie, gdy występuje formacja chcesz zapamiętać jej najwyższą wartość, oraz najniższą. Dzięki temu uzyskasz kanał dwóch cen i możesz obserwować jego przebicie.

I tu pojawił się problem. Niektórzy bowiem próbują stosować konstrukcję:

//w zmiennej "formacja" są już miejsca gdzie ona występuje.
kanalGorny = High;
kanalGorny = Iif( formacja, kanalGorny, Ref(kanalGorny,-1));

Okazuje się jednak, że to nie tworzy kanału. Działa tylko dla następnego słupka, a potem jest lipa.

Wtedy pojawiają się pytania o kolejność przetwarzania danych. No bo przecież jeżeli od lewej strony tablicy, to powinno wstawić High tam gdzie występuje formacja, a w następnych słupkach powinno przepisywać tą wartość z poprzedniej komórki.

Jeżeli też spotkałeś taki problem, to musisz sobie zadać inne pytanie. Jak w ogóle przetwarzane są zmienne w funkcjach?

Otóż wywołanie funkcji powoduje utworzenie kopii zmiennej. Dlatego tworzona na nowo zmienna kanalGorny jest inną zmienną niż zmienna kanalGorny w parametrach funkcji. Przy obliczaniu kolejnych słupków dane są czytane z oryginalnej zmiennej, a zapisywane w nowej. Dopiero po policzeniu wszystkiego stara zmienna jest zastępowana nową. Dlatego nie ma dostępu do wyniku obliczeń w trakcie liczenia.

Jak w takim razie poradzić sobie z tym problemem?

Rozwiązań jest jak zwykle kilka. Najłatwiejsze jednak do zrozumienia jest to z pętlą.

kanalGorny = High;
for(i=1; i {
if( !formacja ) kanalGorny[i] = kanalGorny[i-1];
}

Taki kod przeciągnie wartość kanału od formacji do końca wykresu lub do następnego wystąpienia formacji. Tam gdzie jest formacja zostawia High, a dla kolejnych słupków pobiera wartość ze słupka wcześniejszego. Tu nie ma problemu zmiennej i jej kopii. Tym prostym sposobem możesz już badać przecięcie wykresu i kanału.

Sposób zapisu za pomocą instrukcji tablicowych tu pominę. Jest on krótszy, ale znacznie trudniejszy do zrozumienia.

Zaczynaj od podstaw. Zobaczysz wtedy, że tworzenie systemów jest proste.

---

Zbuduj swój własny, skuteczny system inwestycyjny.
Więcej dowiesz się na
http://zobacz.CzarodziejAFL.pl/

Akcje, Kontrakty FW20, DAX, S&P500, Forex.


Artykuł pochodzi z serwisu www.Artelis.pl

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #4

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #4

Autorem artykułu jest Rafał Wysocki



Język AFL w Amibrokerze jest potężnym narzędziem konstruowania systemów inwestycyjnych. Można też przeprowadzić bardzo rozbudowane testy zanim zainwestuje się prawdziwe pieniądze. Jednak te kilka błędów może spowodować, że wszystkie testy będą przekłamane, a Twoja inwestycja będzie zagrożona. Zobacz jak się przed tym uchronić.

Błąd czwarty nie jest błędem charakterystycznym tylko dla programowania systemów inwestycyjnych, czy dla Amibrokera i języka AFL. Jest to błąd dokuczający programistom w wielu językach programowania, choćby w C/C++, PHP i kilku innych.

Chodzi o drobny błąd zapisu. Jeden znak za mało, ale rezultaty są bardzo nieprzewidywalne. Zwłaszcza, że akurat Amibroker nie ma porządnego debuggera z wykonywaniem kodu linijka po linijce i podglądaniem zawartości zmiennych.

Ten błąd zapisu, to użycie znaku = zamiast == w instrukcjach warunkowych.

W AFL zapis

sesja = Close - Open;

oznacza, że do zmiennej sesja zostanie przypisany wynik obliczenia. W tym wypadku różnica między zamknięciem i otwarciem słupka.

Natomiast porównanie wymaga dwóch znaków równa się "==". Czyli dla przykładu, jeżeli chcesz wyłapać wszystkie sesje które zamknęły się na tym samym poziomie co otworzyły (tak zwana świece doji), możesz zapisać to wg potrzeb:

if( Close[i] == Open [i] ) ...

lub

Iif( Close == Open, ...

lub wreszcie możesz przypisać to do zmiennej

doji = ( Close == Open );

Co się jednak stanie, gdy np. w ostatnim zapisie pomylisz się i zapomnisz o drugim "="?

doji = ( Close = Open );

Otóż Amibroker potraktuje to jako przypisanie. Do zmiennej Close przypisze wartość z Open, a następnie tą sama wartość przypisze do zmiennej doji. Czyli wykona:

Close = Open;
doji = Close;

Nie będzie w tym żadnego sprawdzania i porównywania. Wyjdzie zwykłe podstawienie zmiennych.

A co z instrukcjami warunkowymi If i Iif? Błędnie zapisane:

if( Close[i] = Open [i] ) ...

lub

Iif( Close = Open, ...

również spowodują podstawienie wartości z prawej do zmiennej z lewej strony. I wartość tego podstawienia będzie brana pod uwagę przy decydowaniu o spełnieniu warunku.

W AFL fałsz (False) jest równy 0. Prawda (True) natomiast jest domyślnie liczbą 1. Jednak każda wartość różna od 0 jest uznawana za wynik prawdziwy. Czyli w takich dwóch zapisach jak powyżej, warunek będzie prawdziwy dla wszystkich Open różnych od 0, a fałszywy dla wszystkich Open równych 0. Natomiast Close będzie miało skasowaną oryginalną zawartość i przyjmie wartości z tablicy po prawej stronie zapisu.

Jak bronić się przed tym błędem? Najlepiej pamiętać o "==" w trakcie pisania. Jednak dodatkowo po napisaniu kodu możesz wyszukać w nim wszystkie "if" i sprawdzić czy któryś nie zawiera samego "=" w wyniku pomyłki. Cofnij się kursorem tekstowym na sam początek programu i wciśnij Ctrl-F. Wyskoczy okienko w którym wpiszesz "if". Następnie obserwując wciskaj [Enter] aż do końca kodu. Komputer po kolei pokaże Ci wszystkie miejsca, gdzie znajduje się instrukcja "if". Dodatkowo pokaże także wszystkie instrukcje "Iif". Ty musisz tylko patrzeć uważnie czy zapisy są prawidłowe i ewentualnie dokonać poprawek.

---

Zbuduj swój własny, skuteczny system inwestycyjny.
Więcej dowiesz się na
http://zobacz.CzarodziejAFL.pl/

Akcje, Kontrakty FW20, DAX, S&P500, Forex.


Artykuł pochodzi z serwisu www.Artelis.pl

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #3

6 największych błędów przez które Twój system inwestycyjny w AFL będzie oszukiwał przy testach, a potem będzie tracił na giełdzie - błąd #3

Autorem artykułu jest Rafał Wysocki



Język AFL w Amibrokerze jest potężnym narzędziem konstruowania systemów inwestycyjnych. Można też przeprowadzić bardzo rozbudowane testy zanim zainwestuje się prawdziwe pieniądze. Jednak te kilka błędów może spowodować, że wszystkie testy będą przekłamane, a Twoja inwestycja będzie zagrożona. Zobacz jak się przed tym uchronić.

Błąd trzeci wiąże się również z ceną, ale ma również cechy sięgania do danych przeszłych. Tak samo trudny jest do wykrycia gdy zostanie już mocno obudowany innym kodem. Aby się przed nim uchronić trzeba wyrobić sobie prawidłowy nawyk analizy już na etapie tworzenia założeń systemu.

Błąd ten sięga do danych przeszłych, ale robi to subtelniej. Nie używa on bowiem funkcji Ref(), a jedynie steruje ceną i sygnałem w sposób nie do powtórzenia na rzeczywistym rynku.

Przykładem jego jest wygenerowanie sygnału w trakcie trwania lub na koniec słupka i zawarcie transakcji po cenie otwarcia tego samego słupka.

Zobacz bardzo prosty, ale skrajny kod takiej sytuacji:

Buy = (Close>Open);
Sell = Buy;
BuyPrice = Open;
SellPrice = Close;

Wszystko wygląda w porządku. Amibroker nie wniesie żadnych poprawek do transakcji, bo ceny przyjęte do transakcji rzeczywiście występowały na rynku. Nie ma instrukcji Ref(), więc wydaje się, że nie ma nawet co sprawdzać, czy przypadkiem nie sięgasz do danych przyszłych. Jednak zastanów się nad chronologią.

Kupujesz w cenie otwarcia wg. jakiegoś sygnału - możliwe.

Sprzedajesz w cenie zamknięcia zaraz w tym samym dniu - możliwe.

Sygnał kupna masz gdy słupek jest rosnący, czyli gdy zamknie się wyżej niż się otworzył - jak najbardziej możliwe.

Ale ale. Sygnał przecież jest generowany po zamknięciu słupka. Wtedy dopiero znasz prawdziwą cenę Close. Załóżmy, że inwestujesz na interwale dziennym. Jak zamierzasz wieczorem na koniec sesji zawrzeć realną transakcję w cenie z samego rana?

Musisz zachować uważność nie tylko w trakcie użycia funkcji Ref(). Tak samo w trakcie wyznaczania ceny transakcji nie wystarczy sprawdzić, czy jest ona realnie osiągalna na rynku. Musisz jeszcze pomyśleć nad chronologią.

Po prostu zawsze sprawdź w jakim momencie występuje sygnał, a w jakim momencie występuje przyjmowana cena. Amibroker ma bardzo ograniczone możliwości przypilnowania Ciebie w takiej sytuacji. Jeżeli cena jest dostępna równocześnie z sygnałem - ok. W wielu przypadkach tak będzie dobrze. Jeżeli cena jest brana z otwarcia kolejnego słupka lub transakcja jest jeszcze bardziej opóźniona - masz sytuację idealną i najbardziej zgodną z tym jak inwestowanie wygląda w rzeczywistości.

---

Zbuduj swój własny, skuteczny system inwestycyjny.
Więcej dowiesz się na
http://zobacz.CzarodziejAFL.pl/

Akcje, Kontrakty FW20, DAX, S&P500, Forex.


Artykuł pochodzi z serwisu www.Artelis.pl