Quantitative Trading

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.

Czy korzysztasz z zaawansowanych modeli matematycznych podczas tradingu?

tak
26
23%
nie
88
77%
 
Liczba głosów: 114

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

hm..czy dobrze rozumuje...
mielismy...
R[t] = (P[t] - P[t-1]) / P[t-1];
V[t] = ???
A[t] = R[t] / V[t];
P'[t] = P[t-1] * (R[t] + 1);

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);
Co sie jak na moj gust ostatecznie sprowadza do
P'[t] = P[t+1] + (P[t]-P[t+1])/V[t]

Czyli jak by to ujac slowami, przeskalowanie "skokow" cenowych poprzez pewne "tajemnicze" ;) V, tak aby duza czesc gwaltownych skokow zostala wygladzona i w skutek czego srednie (przeciecia) zaczely by dzialac lepiej...
Tyle jesli chodzi o pierwsza czesc...czyli jak dla mnie jeszcze jestesmy w tym samym miejscu, bo bez wskazowek dotyczacych V nic nie jestestmy w stanie wymyslic.

Druga czesc jest juz rozjasniajaca sytuacje
Mamy..
S[x] = R[x] + R[x-1] + ... + R[x-N+1]
AS[x] = R[x]/V[x] + R[x-1]/V[x-1] + ... + R[x-N+1]/ V[x-N+1]
T[x] = S[x] / AS[x]

i oczekujemy, ze dla dobrego modelu vol funkcja T[x] bedzie mniej wiecej stala (bliska 1) tzn moze "troche" oscylowac wokol dlugoterminowej sredniej. "Troche" moze tu oznaczac np maxymalny ruch rowny 10% od sredniej.
hm...duzo nam to mowi, tylko mam pytanie odnosnie tego "bliska 1" czy 1 jest jak by idealem, czy to liczba przykladowa, i rownie dobrze moze to byc liczba 3?

Jeszcze sobie tego nie przekompilowalem w glowie, ale jak tak patrze na te wzory, to wychodzi mi na to, ze aby T[x] byl jak najblizszy jedynce, to niektore "skoki ceny" sobie musimy odpowiednio przeskalowac w gore inne w dol..

Pomysle w trakcie snu...;)

knx
Stały bywalec
Stały bywalec
Posty: 67
Rejestracja: 22 gru 2009, 14:01

Nieprzeczytany post autor: knx »

LowcaG pisze:hm..czy dobrze rozumuje...
mielismy...
P'[t] = P[t-1] * (R[t] + 1) = P[t-1] * (A[t] + 1) = P[t-1] * (R[t]/V[t] + 1);
Co sie jak na moj gust ostatecznie sprowadza do
P'[t] = P[t+1] + (P[t]-P[t+1])/V[t]
Oj chyba nie bardzo :)
LowcaG pisze:Czyli jak by to ujac slowami, przeskalowanie "skokow" cenowych poprzez pewne "tajemnicze" ;) V, tak aby duza czesc gwaltownych skokow zostala wygladzona...
Te "skoki" to zwroty, a to skalowanie to sprawianie by owe zwroty byly stacjonarne, o czym pisalem :)
LowcaG pisze: hm...duzo nam to mowi, tylko mam pytanie odnosnie tego "bliska 1" czy 1 jest jak by idealem, czy to liczba przykladowa, i rownie dobrze moze to byc liczba 3?
Tak, 1 to ideal. S[x] i AS[x] to calki z gestosci prawdopodobienstwa wiec idealnie powinny byc takie same. W praktyce jest to nieosiagalne. Jesli jestes w stanie stworzyc model, ktory generuje T[x] = 3 i to 3 jest w miare stale to tez dobrze. Jesli jestes w stanie stworzyc N modeli, dla ktorych T[x] = const to ich odleglosc od 1 jest miara ich przydatnosci.
LowcaG pisze: Jeszcze sobie tego nie przekompilowalem w glowie, ale jak tak patrze na te wzory, to wychodzi mi na to, ze aby T[x] byl jak najblizszy jedynce, to niektore "skoki ceny" sobie musimy odpowiednio przeskalowac w gore inne w dol..
No to jest wlasnie to "ustacjonarnianie" zwrotow :)

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

knx pisze: Co sie jak na moj gust ostatecznie sprowadza do
P'[t] = P[t+1] + (P[t]-P[t+1])/V[t]


Oj chyba nie bardzo Smile
hm... dla pewnosci sprawdzilem w excelu, i excel mowi ze to jest to samo :) , chyba ze czegos nie dostrzegam

knx pisze:Tak, 1 to ideal. S[x] i AS[x] to calki z gestosci prawdopodobienstwa wiec idealnie powinny byc takie same. W praktyce jest to nieosiagalne.
Jesli jestes w stanie stworzyc model, ktory generuje T[x] = 3 i to 3 jest w miare stale to tez dobrze.
e tam, od razu nieosiagalne, dajesz dla kazdego V[] = 1 i juz T[n] = 1 (dla kazdego V[] = 3 T[n] = 3) ;)

A powazniej..wynika z tego, ze brakuje jakiejs jeszcze informacji o wlasnosciach AS[] , S[] V[] A[] na podstawie ktorych mozemy budowac model..


Wracajac do wzorow, w nocy cos mi sie tam w glowie poukladalo...(choc nie moge powiedziec ze mam cala wizje ;) )

dla przypomnienia
LowcaG pisze:S[x] = R[x] + R[x-1] + ... + R[x-N+1]
AS[x] = R[x]/V[x] + R[x-1]/V[x-1] + ... + R[x-N+1]/ V[x-N+1]
T[x] = S[x] / AS[x]

R[t] = (P[t] - P[t-1]) / P[t-1];

i oczekujemy, ze dla dobrego modelu vol funkcja T[x] bedzie mniej wiecej stala (bliska 1) tzn moze "troche" oscylowac wokol dlugoterminowej sredniej. "Troche" moze tu oznaczac np maxymalny ruch rowny 10% od sredniej.
Patrzac na wartosci R[t], mozemy wywnioskowac ze R[t] ujemne beda troche "znieksztalcone" i beda statystycznie mniejsze (jezeli "odjac" wplyw calego trendu(w dowolnym kierunku)) niz R[t] dodatnie. Stad rozklady prawdopodobienstwa S[t] beda "ciut" (nie chce mi sie liczyc o ile) zawyzone.
Rozumiem ze to nie ma wplywu na model? (z drugiej strony da sie te male roznice zniwelowac).

Teraz zastanowmy sie nad owym V[x],aby T[x] dazylo do 1, V[x] musi w jakims stopniu zalezec od R[n], powiem wiecej, intuicyjnie (roznie to bywa z intuicja ;) ) czuje ze musi to byc dodatkowo jakas relacja miedzy R[] odatnimi a R[] ujemnymi,aby w przypadku trendu i konsolidacji T[x] dalej dazylo do jedynki.

W kazdym razie jak wspominalem wczesniej brakuje jeszcze jakis informacji o wlasnosciach AS[] , S[] V[] A[] R[], ktore by mowily czy model jest lepszy czy gorszy od danego...samo T[x] to bardzo malo, jedynie mowi o jakiejs zmianie funkcji P na P' w taki sposob aby "suma" samych zmian pozostala nie zmieniona.(za bardzo ;) ).( A takich moge majac chwile czasu stworzyc sporo i wszystkie beda malo przydatne :P )
Wg. mnie brakuje jakiegos opisu charakterystyki P', Chyba ze P' jest oceniane na podstawie wynikow samego handlu.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Nieprzeczytany post autor: matka »

knx pisze:liczenie czegokolwiek reprezentatywnego z tickow zebranych w niedziele o 21 to kompromitacja
A ja właśnie myślę jak samplować równomiernie okresy dzienne na forexie i zastanawiam się czy nie warto by oprócz standardowych pięciu, przetestować pobieranie sześciu, biorąc jako EOD 2200 GMT i uwzględniając również niedzielę. Jakieś argumenty przeciw jeszcze w tym roku? :D
Obrazek
Unfortunately, more to come

knx
Stały bywalec
Stały bywalec
Posty: 67
Rejestracja: 22 gru 2009, 14:01

Nieprzeczytany post autor: knx »

LowcaG pisze:
knx pisze: Co sie jak na moj gust ostatecznie sprowadza do
P'[t] = P[t+1] + (P[t]-P[t+1])/V[t]

Oj chyba nie bardzo Smile
hm... dla pewnosci sprawdzilem w excelu, i excel mowi ze to jest to samo :) , chyba ze czegos nie dostrzegam
Masz popsutego excela :). Twoj wzor jest ok jesli przyjmiemy R[t] = P[t] - P[t-1], a nie P[t] = (P[t] - P[t-1]) / P[t-1] jak napisalem.
Tutaj uwaga - Twoj "zwykle" zwroty tez sa ok i dobrze pracuja z ta metoda, ale gorzej w ogolnosci sie z nich liczy vol.

LowcaG pisze:e tam, od razu nieosiagalne, dajesz dla kazdego V[] = 1 i juz T[n] = 1 (dla kazdego V[] = 3 T[n] = 3) ;)
To jest tzw "przypadek trywialny" :) niestety nie spelnia on wymagania dotyczacego zachowania vol dla "gwaltownego" i "spokojnego" rynku.
LowcaG pisze:A powazniej..wynika z tego, ze brakuje jakiejs jeszcze informacji o wlasnosciach AS[] , S[] V[] A[] na podstawie ktorych mozemy budowac model..
Nie potrzeba juz nic wiecej. Mozna co najwyzej wprowadzic alternatywne kryteria.
LowcaG pisze:dla przypomnienia
S[x] = R[x] + R[x-1] + ... + R[x-N+1]
AS[x] = R[x]/V[x] + R[x-1]/V[x-1] + ... + R[x-N+1]/ V[x-N+1]
T[x] = S[x] / AS[x]

R[t] = (P[t] - P[t-1]) / P[t-1];

Patrzac na wartosci R[t], mozemy wywnioskowac ze R[t] ujemne beda troche "znieksztalcone" i beda statystycznie mniejsze (jezeli "odjac" wplyw calego trendu(w dowolnym kierunku)) niz R[t] dodatnie.
??? Skad taki wniosek? Przyznam, ze nie rozumiem jak do tego doszedles.
LowcaG pisze:Teraz zastanowmy sie nad owym V[x],aby T[x] dazylo do 1, V[x] musi w jakims stopniu zalezec od R[n], powiem wiecej, intuicyjnie (roznie to bywa z intuicja ;) ) czuje ze musi to byc dodatkowo jakas relacja miedzy R[] odatnimi a R[] ujemnymi,aby w przypadku trendu i konsolidacji T[x] dalej dazylo do jedynki.
Ciekawe spojrzenie, choc nie wiem czy poprawne :)
Uwaga, ze V[x] powinno zalezec od R[x] jest jak najbardziej poprawna.
LowcaG pisze:W kazdym razie jak wspominalem wczesniej brakuje jeszcze jakis informacji o wlasnosciach AS[] , S[] V[] A[] R[], ktore by mowily czy model jest lepszy czy gorszy od danego...samo T[x] to bardzo malo, jedynie mowi o jakiejs zmianie funkcji P na P' w taki sposob aby "suma" samych zmian pozostala nie zmieniona.(za bardzo ;) )
I wlasnie o taka "jakas zmiane" nam chodzi. Jak napisalem, kryteria, ktore podalem sa wystarczajace. Jesli to za malo to mam dodatkowa podpowiedz: vol powinien wykazywac cechy anty-persystentne, nawet jesli jest uzywane do szeregow persystentnych.
LowcaG pisze:( A takich moge majac chwile czasu stworzyc sporo i wszystkie beda malo przydatne :P )
To ja poprosze o dwa albo trzy. Powaznie.

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

knx pisze:
LowcaG pisze:Patrzac na wartosci R[t], mozemy wywnioskowac ze R[t] ujemne beda troche "znieksztalcone" i beda statystycznie mniejsze (jezeli "odjac" wplyw calego trendu(w dowolnym kierunku)) niz R[t] dodatnie.

??? Skad taki wniosek? Przyznam, ze nie rozumiem jak do tego doszedles.
mamy:
R[t] = (P[t] - P[t-1]) / P[t-1];

W celu uproszczenia przykladu
Wezmy sobie dla przykladu jakas funkcje np. sin(x)+2 (dlatego plus 2 zeby nie bylo dzielenia przez zero).
Jezeli wezmiemy za badany okres wielokrotnosc okresu tej funkcji trend ogolnie wyjdzie jako zero. Czyli cena P[start] = 2 i cena P[koniec]= 2.

Mozemy wyliczyc R dla naszego zakresu, gdy zsumujemy wszystkie R, zobaczymy ze R jest dodatnie, i im wiecej wiekszy bedzie nasz badany przedzial tym ta roznica bedzie rosla..
Wynika to z samego wzoru...

E co ja bede sie rozpisywal, skrocmy to do przykadu, cena wynosi 100 i wzrosla do 120 a pozniej spadla spowrotem do 100

R[1] = 20/ 100 = 0,2
R[2] = -20/120 = - 0,1666

myle sie?

Pytajnik
Stały bywalec
Stały bywalec
Posty: 46
Rejestracja: 20 gru 2009, 15:30

Nieprzeczytany post autor: Pytajnik »

LowcaG pisze:E co ja bede sie rozpisywal, skrocmy to do przykadu, cena wynosi 100 i wzrosla do 120 a pozniej spadla spowrotem do 100

R[1] = 20/ 100 = 0,2
R[2] = -20/120 = - 0,1666

myle sie?
Nie, nie mylisz się - weź jednak pod uwagę, że są to procentowe stopy zwrotu...
Jak chcesz, żeby zmiana była "symetryczna" (chociaż to zależy do czego się odnosisz z tą "symetrią" :P) to możesz skorzystać z logarytmicznych stóp zwrotu (R[t]=Log(P[t]/P[t-1]) lub po prostu z różnic (tak jak ty to podałeś tj. P[t]-P[t-1]).

Weź jednak pod uwagę, że później masz taki zapis:
"P'[t] = P[t-1] * (R[t] + 1)" (czyli wracasz do pierwotnej wartości) więc procentowe stopy są w tym wypadku nieco lepsze bo inaczej faworyzowałbyś zmiany w dół (kontynuując twój przykład to będzie: R[1] = 100*120% i R[2] = 120*83(3)% = 100 -> oczywiście 120% bo: 0,2+1 = 1,2 i 83,3(3)% bo -0,166+1 = 0,83,3(3)) :)
Dlatego jak podmienisz R[t] na A[t] w celu ponownego przeskalowania wartości (P[t-1] * (A[t] + 1)) to również zasadna byłaby zmiana procentowa :p (przynajmniej tak na pierwszy rzut oka :) )

Pytajnik
Stały bywalec
Stały bywalec
Posty: 46
Rejestracja: 20 gru 2009, 15:30

Nieprzeczytany post autor: Pytajnik »

Zastanawiam się czy w ogóle czy jest jakiś sens tworzenia procentowych stóp zwrotu jeśli potem z powrotem to przeskalowujemy - czy przypadkiem nie jest tak, że wychodzimy na wzór: P'[t] = P[t]/V[t] <= taki zapis jest chyba równoznaczny wszystkim operacjom przedstawionym wcześniej... tj. zmiana ceny na stopy zwrotu -> zmniejszenie wpływu większych skoków przez podzielenie przez V[t] -> ponowne przeskalowanie czyli powracamy do poprzedniego wykresu (z nieco innym zakresem zmian) - czy nie jest tak?

knx
Stały bywalec
Stały bywalec
Posty: 67
Rejestracja: 22 gru 2009, 14:01

Nieprzeczytany post autor: knx »

LowcaG pisze: R[t] = (P[t] - P[t-1]) / P[t-1];

E co ja bede sie rozpisywal, skrocmy to do przykadu, cena wynosi 100 i wzrosla do 120 a pozniej spadla spowrotem do 100

R[1] = 20/ 100 = 0,2
R[2] = -20/120 = - 0,1666

myle sie?
OK. Widac inaczej zrozumialem co znaczy "znieksztalcone" :)
To jest prawda, ale - jak napisano - to sa procentowe zwroty wiec wszystko jest ok. Te "znieksztalcenia" nie maja wplywu na ostateczny wynik tzn w modelach, ktorych ja uzywam nie ma to znaczenia. Na tym etapie nie przejmowalbym sie tym.

Dodano po 22 minutach:
Pytajnik pisze:Zastanawiam się czy w ogóle czy jest jakiś sens tworzenia procentowych stóp zwrotu jeśli potem z powrotem to przeskalowujemy
Sens tworzenia procentowych stop zwrotu jest taki, ze z procentowych wartosci w ogolnosci tworzy sie lepsze modele vol.
Stosowanie "zwyklych" stop zwrotu tez jest jak najbardziej ok.
Pytajnik pisze: - czy przypadkiem nie jest tak, że wychodzimy na wzór: P'[t] = P[t]/V[t] <= taki zapis jest chyba równoznaczny wszystkim operacjom przedstawionym wcześniej...
Sprawdz czy uda CI sie dojsc z P'[t] = P[t-1] * (R[t]/V[t] + 1) do P[t]/V[t] :)
Jesli tak, to masz racje. Mi sie nie udalo.

Tutaj uwaga - nie uwazam ze P' = P / V jest bledne. Jest to po prostu zupelnie inna metoda bazujaca na zupelnie innych zalozeniach. Nie bardzo tylko wiem jakie kryteria doboru V mozna by w tym przypadku wymyslec.

Pytajnik
Stały bywalec
Stały bywalec
Posty: 46
Rejestracja: 20 gru 2009, 15:30

Nieprzeczytany post autor: Pytajnik »

knx pisze:Sprawdz czy uda CI sie dojsc z P'[t] = P[t-1] * (R[t]/V[t] + 1) do P[t]/V[t]
Jesli tak, to masz racje. Mi sie nie udalo.
Chyba mam rację... :)
Jednak z małą korektą (rąbnąłem się wmyśleniu ale idea była chyba dobra...):
Jeśli:
R[t] = P[t]-P[t-1]/P[t-1]
A[t] = R[t]/V[t]
P'[t] = P[t-1] * (R[t] + 1) = P[t-1] * (A[t] + 1) = P[t-1] * (R[t]/V[t] + 1)

to całe te przekształcenia można zapisać znacznie prościej:
P'[t] = P[t-1]* (V[t] + 1) bez żadnych przekształceń (wcześniej przez pomyłkę podzieliłem...) :)

W ten sposób można się bawić w szukanie V[t] bez żadnych przekształceń w stopy i z powrotem... -> sprawdziłem :)

ODPOWIEDZ