Rozdział 10.doc

(3072 KB) Pobierz

Dostrajanie standardowych wskaźników

Rozdział 10

 

Dostrajanie standardowych wskaźników

 

              Nie często się zdarza, gdy zdyszany i wyczerpany kończę seminarium, otrzymuję takie pytanie jak: „Czy mogę stosować cykle do optymalizacji RSI?”. Moją natychmiastową reakcję, jak można się domyślić, jest: „Dlaczego ktoś chciałby to zrobić?”. Właśnie skończyłem pokazywać słuchaczom obliczanie, teoretycznie najbardziej korzystne, omawianego wskaźnika Sinewave, który miał kilka błędnych sygnałów w Trybie Trendu oraz skończyłem omawianie Chwilowej Linii Trendu jako narzędzia do zawierania transakcji zgodnie z Trybem Trendu. Po tym wszystkim jak może być coś lepszego, niż to co przedstawiłem jako teoretycznie najbardziej korzystne? Czy rzeczywiście istnieje potrzeba optymalizowania typowych wskaźników? Następnie, po chwili zastanowienia w końcu uświadomiłem sobie, że pytanie to zaintrygowało mnie od strony analizy technicznej. Nie jestem skłonny stosować 14-dniowy okres dla RSI tylko dlatego, że tak twierdzi Welles Wilder. W poszukiwaniu najlepszego sposobu dostosowania się do uwarunkowań rynkowych, przeprowadziłem wiele badań, których rezultaty zostały chronologicznie przedstawione w tej książce.

              Tak więc, co jest najlepszym wskaźnikiem? Nie ma prostej odpowiedzi na to pytanie. Wszystko jest relatywne. Niektóre wskaźniki spisują się na rynku lepiej niż inne. Zależy to także od preferencji gracza. Stosując kilka wskaźników razem, można odkryć synergię, niedostępną dla każdego wskaźnika stosowanego oddzielnie.

              Istnieje wiele użytecznych wskaźników. Ulepszanie ich, stosownie do aktualnego stanu rynku, jest zadaniem każdego gracza giełdowego. Jest to także tematem tej książki. W rozdziale tym dokonałem przeglądu trzech typowych wskaźników: RSI, Stochastic i Commodity Channel Indicator. Przegląd obejmuje omówienie tych wskaźników z uwzględnieniem mierzonych okresów cykli. Dodatkowo, możemy oznaczyć szerokość Cyklu Dominującego. Przy tym podejściu do zagadnienia nie ma potrzeby pomiaru cyklu.

 

RSI

 

              Welles Wilder zdefiniował RSI, jako¹:

 

RSI=100-100/(1+RS)

 

gdzie RS=(zamknięcia po dniach wzrostowych)/(zamknięcia po dniach spadkowych)=CU/CD

 

              RS oznacza Relative Strength. To jest, CU jest sumą różnic cen zamknięcia w obserwowanym okresie, w którym ta różnica jest dodatnia. Podobnie, CD jest sumą różnic cen zamknięcia w obserwowanym okresie, w którym ta różnica jest ujemna, ale suma wyrażona jest jako liczba dodatnia. Gdy zastąpimy CU/CD i uprościmy równanie RSI, otrzymamy:

_________

¹J. Welles Wilder, Jr. New Concepts in Technical Trading Systems.

Hunter Publishing, Winston-Salem, NC,1978.

                                                        RSI=100-100/(1+CU/CD)

                                                              =100-100CD/(CU+CD)

                                                              =(100CU+100CD-100CD)/(CU+CD)

                                                        RSI=100CU/(CU+CD)

 

              Innymi słowy, RSI jest wyrażone w procentach określających stosunek sumy cen zamknięcia w dniach wzrostowych do sumy wszystkich cen zamknięcia w obserwowanym okresie. Aby uzyskać maksymalną efektywność, obserwowany okres powinien wynosić połowę mierzonego cyklu. Jeśli obserwowany okres wynosi połowę Cyklu Dominującego, wtedy dla czystej fali sinusoidalnej, ceny zamknięcia w dniach wzrostowych są dokładnie równe wszystkim cenom zamknięcia podczas części cyklu od dołka do szczytu. W tym przypadku, RSI powinien mieć wartość 100. Podczas innej części cyklu – następnej połowie cyklu – nie powinno być cen wzrostowych. Podczas tej połowy cyklu, RSI powinien mieć wartość 0. Jednakże, w zasadzie połowa mierzonego cyklu jest dokładnym odzwierciedleniem obserwowanego okresu RSI. Na Rysunku 10.1 przedstawiono program w języku EasyLanguage dla TradeStation 2000i lub TradeStation 6.0 stosujący MESA do obliczania Cyklu Dominującego.

 

 

              inputs:              Price(Close),

                                          CycPart(.5),

                                          Window(1),

                                          RegCode(„LPJDPDTBHB);

 

              vars:              dc(0),

                                          CU(0),

                                          CD(0),

                                          count(0),

                                          RSI(0);

 

              defineDllFunc:

                            „c:\mesadll\mesa2kd.dll”,int,”INIT”,int;

              defineDllFunc:

                            „c:\mesadll\mesa2kd.dll”,int,”DomCycle”,

                            int,float,float,float,lpfloat;

defineDllFunc:

                            „c:\mesadll\mesa2kd.dll”,int,”MATRIX”,lpstr;

 

              if currentbar = 1 then begin

                                          init(1);

                                          Matrix(regcode);

              end;

 

              DomCycle(Window,Price,H,L,&dc);

 

    CU = 0;

              CD = 0;

 

 

 

Rysunek 10.1 Program w języku EasyLanguage do obliczania dostosowanego RSI.

 

              For count = 0 to IntPortion(CycPart*dc + .5) – 1 begin

              If Close[count] – Close[count + 1] > 0 then

                            CU = CU + (Close[count] – Close[count + 1]);

              If Close[count] – Close[count + 1] < 0 then

                            CD = CD + (Close[count + 1] – Close[count]);

              End;

              If CU + CD <> 0 then RSI = 100*CU/(CU + CD);

 

              Plot1(RSI,”RSI”);

 

 

Rysunek 10.1 Ciąg dalszy.

 

              Następnie ten obliczony okres Cyklu Dominującego wykorzystywany jest jako podstawa do znalezienia CU i CD oraz do obliczenia RSI. Ponieważ połowa okresu cyklu może nie być uniwersalną odpowiedzią, dodajemy jako modyfikator sygnał wejściowy CycPart. Ten sygnał wejściowy pozwala optymalizować obserwowany okres w każdej szczególnej sytuacji.

              Optymalizowany RSI ma tendencję do bycia w fazie z oryginalną daną liczbową ceny. Sugeruje to sposób zamiany dobrego wskaźnika na jeszcze lepszy. Jeśli odejmiemy 50 od optymalizowanego RSI to otrzymamy średnio zero i w ten sposób, przy przecięciach zera przez RSI zmierzamy do statystyki Poissona. Jeśli był taki przypadek, to możemy gładzić optymalizowane RSI i utworzyć z niego optymalny filtr przewidujący. W ten sposób możemy antycypować sygnały, a nie czekać na sygnały potwierdzające przecinające linie 30 i 70 procent, tak jak to czyni standardowy wskaźnik. Pozostawię twojej decyzji, która metoda najlepiej nadaje się do wykorzystania przez ciebie.

Definicja RSI umożliwia stosowanie przybliżonego okresu Cyklu Dominującego, gdy rynek jest w Trybie Cyklu. Jeśli okres stosowany do obliczania RSI jest dokładnie równy okresowi Cyklu Dominującego, to ceny zamknięcia w dniach wzrostowych są dokładnie równe całkowitym cenom zamknięcia gdy pole obserwacyjne okienka umieszczone jest pomiędzy dnem a szczytem cyklu. W tym przypadku wartość RSI wynosi 100. Jeśli pole obserwacyjne okienka wynosi dokładnie jedna druga cyklu, to nie ma cen wzrostowych i wartość RSI wynosi zero. RSI jest czystą sinusoidą, gdy obliczony okres wynosi połowę Cyklu Dominującego. Pokazuje to Rysunek 10.2.

              W tym przypadku RSI wygląda jak sinusoida dokładnie w fazie z cyklem danych liczbowych rynku i porusza się pomiędzy ograniczeniami 0 i 100.

              Jeśli szerokość obliczeniowa jest znacznie krótsza niż połowa okresu cyklu, to ceny zamknięcia w górę są równe całkowitym cenom zamknięcia tak długo, aż cykl osiągnie swój szczyt w dodatniej części cyklu. Odpowiednio, ceny zamknięcia w dniach wzrostowych szybko osiągają zero w ujemnej części cyklu. Jest tak dlatego, że RSI jest ograniczany i wygląda jak kwadratowa fala gdy jego szerokość obliczeniowa jest znacznie mniejsza niż połowa okresu Cyklu Dominującego. Ten efekt kwadratowej fali pokazany jest na Rysunku 10.3, gdzie szerokość obliczeniowa wynosi 25 procent Cyklu Dominującego danych liczbowych fali sinusoidalnej.

 

 

 

 

 



 

Rysunek 10.2 RSI czystego cyklu wykorzystujący połowę cyklu jako szerokość obliczeniową.

     (Wykres utworzono w oparciu o program TradeStation2000i®)

 

             

 

Rysunek 10.3 RSI, którego szerokość obliczeniowa jest mniejsza, niż połowa Cyklu Dominującego, jest ograniczony

(Wykres sporządzono w oparciu o program TradeStation2000i®)

 

              Mówiąc inaczej, jeśli szerokość obliczeniowa RSI jest dłuższa niż połowa okresu Cyklu Dominującego, ceny zamknięcia w dniach wzrostowych nigdy nie będą równe całkowitym cenom zamknięcia dla cyklu teoretycznego. W tym przypadku, RSI nie może odchylać się od 0 do 100. Jednakże faza RSI jest opóźniona w stosunku do fazy sinusoidy. Na przykład, przypadek szerokości obliczeniowej wynoszący 75 procent okresu Cyklu Dominującego, pokazany jest na Rysunku 10.4.

 



Rysunek 10.4 RSI, którego szerokość wynosi 75 procent okresu Cyklu Dominującego, posiada zredukowaną amplitudę i opóźnia się w stosunku do danych liczbowych cyklu.

(Wykres sporządzono w oparciu o program TradeStation2000i®)

 

              Im dłuższa staje się szerokość obliczeniowa, tym mniejsza rozpiętość RSI. RSI będący rezultatem zastosowania szerokości obliczeniowej takiej samej jak Cykl Dominujący, przedstawia Rysunek 10.5.



Rysunek 10.5 RSI, którego szerokość jest równa okresowi Cyklu Dominującego posiada bardzo małą amplitudę.

(Wykres sporządzono w oparciu o program Tradestation2000i®)

 

              Możemy wykorzystywać te charakterystyki RSI aby przybliżyć okres Cyklu Dominującego. Zwiększając szerokość obliczeniową i obserwując kiedy RSI przestanie ograniczać amplitudę oraz nadal będzie w przybliżeniu w fazie z danymi liczbowymi cyklu, okres Cyklu Dominującego jest w  przybliżeniu podwójną szerokością RSI. Jeśli zwiększymy szerokość RSI zbyt mocno w stosunku do połowy okresu Cyklu Dominującego, RSI przestaje tworzyć pełne wychylenia i jego faza opóźnia się w stosunku do danych liczbowych cyklu.

 

Stochastic

 

              Nazwa tego wskaźnika jest myląca, ponieważ nie ma ona absolutnie nic wspólnego ze statystycznym procesem stochastycznym. Proces stochastyczny jest zdefiniowany jako przypadkowo określone sekwencje obliczeniowe. Gdy Rick Redmont przesyłał ten wskaźnik do Tima Slatera, przyszłego prezydenta Compu-Trac, słowo stochastic było naprędce nabazgrane na marginesie. Tim pomyślał, że była to dobra nazwa i zaczął ją stosować. Wskaźnik następnie spopularyzował Dr. George Lane.

              Stochastic mierzy aktualną cenę zamknięcia w stosunku do najmniejszego minimum (LL) w obserwowanym okresie. Wynik ten jest następnie dzielony przez rozpiętość pomiędzy najwyższym maksimum a najmniejszym minimum w obserwowanym okresie. Jego równanie przedstawia się następująco:

 

Stochastic=(close-LL)/(HH-LL)

 

              Jeśli aktualna cena zamknięcia jest równa największemu maksimum w obserwowanym okresie, to Stochastic przyjmuje wartość 1. Jeśli aktualna cena zamknięcia jest równa najmniejszemu minimum w obserwowanym okresie, to Stochastic przyjmuje wartość zero. Są to granice rozpiętości Stochastica.

              Aby przystosować Stochastic do mierzonego cyklu, należy wziąć połowę tego cyklu, ponieważ rozpiętość od minimum do maksimum tego wskaźnika osiągana jest co połowę cyklu w danym okresie. Podobnie jak wcześniej, program w języku EasyLanguage dla optymalizowania Stochastica (pokazany na Rysunku 10.6), mierzy Cykl Dominujący stosując pomiar MESA Cyklu Dominującego i następnie stosuje ten okres Cyklu Dominującego jako podstawę do znalezienia HH i LL oraz obliczenia Stochastica. Ponieważ połowa okresu cyklu może nie być uniwersalnym rozwiązaniem, dodajemy sygnał wejściowy CycPart jako modyfikator. Ten sygnał wejściowy pozwala optymalizować obserwowany okres dla każdej poszczególnej sytuacji.

 

 

inputs:              Price(Close),

                                          CycPart(.5),

                                          Window(1),

                                          RegCode(„LPJDPDTBHB);

 

              vars:              dc(0),

                                          HH(0),

                                          LL(0),

                                          count(0),

                                          Stochastic(0);

 

              defineDllFunc:

                            „c:\mesadll\mesa2kd.dll”,int,”INIT”,int;

              defineDllFunc:

                            „c:\mesadll\mesa2kd.dll”,int,”DomCycle”,

                            int,float,float,float,lpfloat;

 

 

Rysunek 10.6 Program w języku EasyLanguage dostosowujący Stochastic.

 

 

 

defineDllFunc:

                            „c:\mesadll\mesa2kd.dll”,int,”MATRIX”,lpstr;

 

              if currentbar = 1 then begin

                                          init(1);

                                          Matrix(regcode);

              end;

 

              DomCycle(Window,Price,H,L,&dc);

 

              HH = High;

              LL = Low;

              For count = 0 to IntPortion(CycPart*dc + .5) – 1 begin

                            If High[count] > HH then HH = High[count];

                            If Low[count] < LL then LL = Low[count];

              End;

              If HH – LL <> 0 then Stochastic = (Close – LL)/(HH – LL);

 

              Plot1(Stochastic,”Stoc”);

 

 

Rysunek 10.6 Ciąg dalszy.

 

              Optymalizowany Stochastic ma tendencję do bycia w fazie z oryginalną daną liczbową ceny. Sugeruje to sposób zamiany dobrego wskaźnika na jeszcze lepszy. Jeśli odejmiemy 50 od optymalizowanego Stochastica, to otrzymamy średnio zero i w ten sposób, przy przecięciach zera przez Stochastic zmierzamy do statystyki Poissona. Jeśli był taki przypadek, to możemy gładzić optymalizowany Stochastic i utworzyć z niego optymalny filtr przewidujący. W ten sposób możemy antycypować sygnały, a nie czekać na sygnały potwierdzające przecinające linie 20 i 80 procent, tak jak to czyni standardowy wskaźnik. Pozostawię twojej decyzji, która metoda najlepiej nadaje się do wykorzystania przez ciebie.

 

 

Commodity Channel Index (CCI)

 

              Commodity Channel Index² oblicza średnią mediany ceny każdego słupka w obserwowanym okresie. Oblicza on także odchylenie główne (MD) na podstawie tej średniej. CCI jest przedstawiane jako aktualne odchylenie od średniej ceny normalizowanej do odchylenia głównego. Na podstawie krzywej rozkładu prawdopodobieństwa Gaussa, 68 procent wszystkich możliwych wyników zawarte jest w obrębie odchylenia standardowego wynoszącego jeden w porównaniu do odchylenia głównego. CCI jest skalowane, tak więc wartości powyżej +100 oznaczają, że wynik znajduje się powyżej górnego odchylenia standardowego wynoszącego jeden w stosunku do odchylenia głównego. Wartości, znajdujące się poniżej –100 oznaczają, że wynik znajduje się poniżej dolnego odchylenia standardowego wynoszącego jeden w stosunku do odchylenia głównego.

 

______________

²Donald R. Lambert. „Commodity Channel Index” Commodities Magazine, październik 1980, strony 40-41.

Mnożenie odchylenia głównego (MD), w przedstawionym programie w języku EasyLanguage przez 0.015, służy do jej normalizowania. Wielu graczy giełdowych stosuje ten wskaźnik jako sygnał wykupienia/wyprzedania, przyjmując, że gdy wynosi on +100 lub więcej, to rynek jest wykupiony. Gdy jego wartość jest mniejsza niż –100, to przyjmują, że rynek jest wyprzedany. Tak więc jest oczywiste, że kanał cenowy kształtowany przez ten wskaźnik w obserwowanym okresie, jest taki sam jak szerokość cyklu. Ponieważ  okres cyklu może nie być uniwersalnym rozwiązaniem, dodajemy sygnał wejściowy CycPart jako modyfikator. Ten sygnał wejściowy pozwala optymalizować obserwowany okres dla każdej poszczególnej sytuacji.

 

...
Zgłoś jeśli naruszono regulamin