Volatility adjustment. Price back-adjustment.
Witam, to bedzie pierwszy post opisujacy proste, ale zyskowne meotdy qt uzywane z powodzeniem od kilkunastu lat. Obie metody bazuja na tych samych zalozeniach i przeksztalceniach szeregow danych, jednak stosuje sie je inaczej. Obie metody bardzo dobrze sprawdzaja sie na rynkach commodities (szczegolnie) i futures. My bedziemy chcieli zastosowac je do forexa, co bedzie
wymagalo pewnych zmian koncepcyjnych, ale o tym pozniej. Z tego co wiem nikt tych metod nie stosuje profesjonalnie na rynkach fx. Dlaczego?
Dlatego, ze - jak ustalilismy - forex w przeciwienstwie do commodities and futures zachowuje sie anty-persystentnie, zatem nie wpada w dlugotrwale trendy.
Jedna z tych metod to trend follower (o niej innym razem), druga to swego rodzaju trick, ktory stosujemy do przeksztalcenia szeregu cen do dalszych jego zastosowan.
Jak napisalem obie metody maja wspolna koncepcje i baze wyjsciowa i o bazie tej (vol adjustment) teraz napisze.
Majac szereg cen P[t], dla t = 0 do N liczymy wzgledne zwroty:
R[t] = (P[t] - P[t-1]) / P[t-1]; - tu uwaga: w mt4 zamiast t-1 piszemy t+1
Szereg R[t] bedzie wygladal mniej wiecej tak:
Jak widac rozrzut R[t] jest dosc spory. To co bedziemy chcieli uzyskac to stacjonarne zwroty. Po co nam to? Po to by po pierwsze zawezic rozrzut zwrotow w przyszlosci, a po drugie miec niejako wezsze spektrum zmian zwrotow co pozwala na "wykrycie" poczatku badz konca trendu oraz pozbycie sie falszywych sygnalow kupna/sprzedazy.
Przyklad: Jesli najbardziej prawdopodobne ruchy sa okreslone (w pipsach) liczbami 0, +1, -2, +2 to pojawienie sie ruchu +15 w kierunku przeciwnym do obecnego trendu jest najprawdopodobniej przypadkiem, a nie odwroceniem trendu.
Aby "ustacjonarnic" zwroty uzywamy volatility danego jako szereg:
V[t] = ???
a nasz stacjonarny szereg zwrotow wygladac bedzie tak:
A[t] = R[t] / V[t];
przy czym nalezy dodac, ze "stacjonarny" oznacza raczej "zawezony" niz "staly".
Szereg z powyzszgo obrazka po vol adjustment znajduje sie tu:
Jak widac zwroty sa teraz bardziej zbite wokol 0, a amplitudy po stronie + i - sa niemal takie same.
To wlasnie jest volatility adjustment. Teraz pojawia sie pytanie co mozemy zrobic z takim szeregiem A[t].
Odpowiedz: mnostwo ciekawych rzeczy. Dzis zajmiemy sie tzw price back-adjustment.
Wiemy, ze z szeregu R[t] zdefiniowanego jak powyzej mozemy zbudowac szereg P[t] stosujac proste przeksztalcenie:
P'[t] = P[t-1] * (R[t] + 1);
za P[0] mozemy przyjac dowolna liczbe C. Wtedy szereg P' bedzie przesuniety od oryginalnego P wlasnie o C.
To nie ma znaczenia bo nas interesowac bedzie ksztalt i zmiany P', a nie konkretne jego wartosci.
Teraz zrobmy trick i zastapmy R[t] przez A[t] dostaniemy:
P'[t] = P[t-1] * (R[t] + 1) = P[t-1] * (A[t] + 1) = P[t-1] * (R[t]/V[t] + 1);
Jak widac udalo nam sie zbudowac szereg cen zawierajacy w sobie volatility.
Przyklad takiego szeregu na obrazku ponizej i porownanie z oryginalnym P:
Mozna zauwazyc, ze ksztalt P' jest zblizony do P, jednak wzgledne polozenia lokalnych minimow i maksimow zmienia sie znacznie.
To jest wlasnie najwieksza sila tej meotdy - przez reorganizacje ekstremow, jak i splaszczenie ruchow pomniedzy nimi uwydatniaja sie trendy, ktorych nie
widac w szeregu P. Sila bywa czesto przeklenstwem - zle dobierzemy model volatility i moze nas spotkac niemila niespodzianka (ku przestrodze):
Oryginalny P robi ruch o niemal 1000 pipsow, a nasz P' jest plaski i raczej nie da nam zarobic. Dlatego tez - jak juz pisalem - nie da sie przecenic dobrych
modeli volatility. Do vol zaraz wrocimy.
Nasuwa sie kolejne pytanie: co mozemy teraz zrobic z szeregiem P'. Odpowiedz: wszystko - mozemy liczyc przeciecie MA, mozemy liczyc RSI, mozemy probowac odkurzyc kazda metode, oparta na "standardowych" wskaznikach, ktore probowalismy w przeszlosci. Przykladowo ponizszy obrazek pokazuje roznice dla zwyklego moving average crossover miedzy P a P'. W obu przypadkach srednie to 8 i 32. Jak widac P' wnosi nowa jakosc - tam gdzie crossover dla srednich z P generuje kilka falszywych sygnalow, nasz system oparty na P' cierpliwie czeka na koniec trendu. Oczywiscie system ten to nie swiety grall i bedzie generowal sporo falszywch sygnalow, ale bedzie ich mniej i beda mniej uciazliwe dla konta niz w przypadku szeregu P.
W powyzszych rozwazaniach nie podalismy wzoru na vol. Nie jest to przeoczenie. Jako, ze nie zamierzam podac tu gotowego systemu, tworzenie modeli vol zostawiam tym, ktorzy sie metoda zainteresowali. Bardzo chetnie pomoge, podpowiem, wyjasnie, ale zadnego gotowego modelu nie podam. Tym bardziej, ze sam nie znam takich, dzieki ktorym nie musialbym juz pracowac

Jak pisalem jest to bardzo scisle pilnowana tajemnica.
Kilka porad jak sie zabrac do tworzenia modelu:
- vol nie musi byc liczone ani z R[t] ani z P[t] choc tak jest najwygodniej. To moze byc dowolna funkcja, ktora rosnie gdy rynek "zachowuje sie gwaltownie" i maleje gdy "rynek sie uspokaja" - np odleglosc miedzy pasmami Bollinger Bands tak sie zachowuje, podobnie ATR, mozna kombinowac ze zmianami adaptive moving averages, kwadraty zwrotow itp.
- vol powinna byc target'owana pod konkretny rynek tzn to co dziala dla EURUSD niekoniecznie musi dzialac dla GBPUSD, podobnie z TF'ami.
- nalezy pamietac o tym, ze vol ma zawezac rozrzut zwrotow - i to bedzie najlepszy test "przez liczby"
Na razie tyle. Pozniej napisze o pewnych trudnosciach zwiazanych z systemami trend follower zbudowanymi na P'.