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

Pitmaster
Gaduła
Gaduła
Posty: 201
Rejestracja: 17 kwie 2008, 00:21

Nieprzeczytany post autor: Pitmaster »

pieczarko pisze:No widzę, że jest tu parę interesujących osób :)


aktualnie pisze program w R, prognozowanie na okres N+1, gdzie N to liczba obserwacji (linearyzacja trendu potęgowego[tak kształtują się dane]), wrzucenie prognozy do symulacji montecarlo przemieli mi to 10 000x i będę robił analizy ex post, jak to się wszystko zachowuje. tzn jaka jest wariancja prognozy modelu potęgowego po uliniowieniu ( tam dochodzą rozkłady normalne) - obiecuje, że zamieszczę wyniki

Do tego w wolnej chwili mam zamiar męczyć tęższe głowy mojej uczelni, na tematy prognozowania.
linearyzacja trendu potęgowego - coś więcej o tej metodzie... ?
Wydaje mi się to bez sensu...
Ostatnio zmieniony 13 gru 2009, 16:05 przez Pitmaster, łącznie zmieniany 1 raz.

BAQ
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 11 gru 2009, 20:36

Nieprzeczytany post autor: BAQ »

pieczarko pisze: aktualnie uczę się zaawansowanych metod prognostycznych - fraktale, 'uczace sie' sieci neuronowe jak to powiedział mój doktor-mentor od statystyki - przeżytek, teraz używa się modeli ARIMA itp. (SPSS liczy takie modele)
Z tego co sam zdążyłem się dowiedzieć od ludzi z branży, których męczyłem na ten temat, nie do końca tędy droga. Jak ktoś mi ładnie wytłumaczył "to jak strzelanie z armaty do komara i dużo prostszymi metodami można uzyskać równie dobre wyniki" :)

Co do matematyki wyższej, to z chęcią poznałbym Twoje przemyślenia na temat, który ogólnie nazywa się "volatility adjustment" :)

Dodano po 3 minutach:
StudenTM84 pisze:
pieczarko pisze:'uczace sie' sieci neuronowe jak to powiedział mój doktor-mentor od statystyki - przeżytek, teraz używa się modeli ARIMA itp. (SPSS liczy takie modele)
Hmm, zdaje się, że modele ARIMA były znacznie wcześniej od SSN. Poza tym z tego co mi wiadomo prognozowaniem na rynkach finansowych zajmuje się ekonometria finansowa, która raczej preferuje modele typu (G)ARCH. Modele typu AR,ARMA i ARIMA to takie wprowadzenie to tych bardziej rozbudowanych modeli :). Poza tym z moich badań wynika, że najlepsze rezultaty prognostyczne dają właśnie sieci neuronowe (a konkretniej rekurencyjna Elmana). Fakt, że nie były to jakieś bardzo zaawansowane badania ale różnica w wyniku była dość znacząca. Warto również zauważyć (przypomnieć), że inwestora/spekulanta nie interesuje wysokość ceny, jaka będzie za godzinę/dzień/inny okres a jedynie jej zwrot (czy wzrośnie lub spadnie). Dlatego nawet jeśli modele typu ARIMA czy (G)ARCH dają podobne (lub nawet lepsze) wyniki niż sieci neuronowe to ich możliwości przewidywania zmiany ceny są bardzo ograniczone w porównaniu do SSN. Modele typu (G)ARCH dobrze sprawdzają się np. do zarządzania ryzykiem ale to już inna kwestia.

Jeśli chodzi o narzędzia to ostatnio zaciekawiły mnie modele zrandomizowane ale ostatnio mam mało czasu na zabawę z nimi i jeszcze ich nie do końca zgłębiłem :(. Poza tym zacząłem pisać własną stronę, w której właśnie planuję podzielić się swoją wiedzą z tej tematyki a przy okazji samemu się czegoś nauczyć :)
Pozdrawiam
jak wygląda sprawa z zastosowaniem tego w praktyce? Tzn. budujesz cały system wokół predykcji, czy używasz jej w trakcie analiz?

Pitmaster
Gaduła
Gaduła
Posty: 201
Rejestracja: 17 kwie 2008, 00:21

Nieprzeczytany post autor: Pitmaster »

pieczarko pisze: teraz używa się modeli ARIMA itp. (SPSS liczy takie modele)
Co to znaczy "teraz się używa" ... do czego niby ? W czym widzisz jego mocne strony do tradingu ?

BAQ
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 11 gru 2009, 20:36

Nieprzeczytany post autor: BAQ »

Dakhr pisze:Zajmowalem sie troche Sieciami Neurnowymi i musze stwierdzic ze problem z zsatosowaniem NN polega glownie na doborze danych wejsciowych tzn jak bedziesz mial smiecie na wejsciu to otrzymasz smieci na wyjciu, takich wad nie maja Algorytmy Genetyczne ktorymi aktualnie sie zajmuje. Maja one ta zlete ze za dane wejsciowe bierzemy np n ilosc indykatorow ,zakladamy sobie np a priori jakis SL i TP i GA znajdzie nam najbardziej statystycznie skuteczny system tranzakcyjny(dla mnie skuteczny pod wzgledem max zysk -najnizszy drawdown przy jak najwyzszej liczbie tranzakcji czyli jest to moja funkcja fitness)oczywiscie na danych historycznych. Aktualnie testuje nastepujaca HIPOTEZE jesli AG znajdzie skuteczny system tranzakcyjny na danych historycznych to system ten bedzie "jakis" czas skuteczny w foward testach.
Pozwolę sobie nie zgodzić się z hipotezą. Dla każdego, nawet najgorszego systemu, można znaleźć kombinację parametrów, która będzie przynosić zyski w backtestach. Na tego typu systemy mówi się "overoptimized".
Dakhr pisze: Ja juz kilka lat probuje osiagnac sukces na tym rynku i moj aktualny system jest wynikiem kilkuletnich doswiadczen(w tym czasie wyzerowalem tylko jedno konto real na zaledwie 5000 PLN ;))
haha, jestem trochę lepszy od Ciebie bo w krótszym czasie straciłem nieco więcej, ale głowa do góry, co nas nie zabije... ;)

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

BAQ pisze:Z tego co sam zdążyłem się dowiedzieć od ludzi z branży, których męczyłem na ten temat, nie do końca tędy droga
A skąd znasz "ludzi z branży" i skąd pewność, że mówią prawdę ? :)
Myślę, że dróg do sukcesu jest wiele. Tak dużo, że problem mamy ze skupieniem się na jednej jedynej i dopracowaniem jej do perfekcji. Założę się, że jakby dobrze nad tym posiedzieć to świetne wyniki można uzyskać przy pomocy kilku MA. Bez użycia SSN, AG, modeli ARIMA, GARCH itd. Co przecież nie znaczy, że sukcesu nie można osiągnąć posługując się właśnie nimi.
Pozwolę sobie nie zgodzić się z hipotezą. Dla każdego, nawet najgorszego systemu, można znaleźć kombinację parametrów, która będzie przynosić zyski w backtestach. Na tego typu systemy mówi się "overoptimized".
Ogólnie tak - w ten sposób jak Dakhr pisze rzeczywiście można łatwo przeoptymalizować system. Ale jeśli użyć AG i sprytnej funkcji dopasowania uwzględniającej również to jak zachowa się system poza okresem testowym ... to może z tego coś by było :)
StudenTM84 pisze:hmm... właśnie zaczęło mi coś świtać jak można byłoby stworzyć taki program o którym Ty piszesz jednak z kilkoma uwagami - m.in. że użycie "wszystkich" możliwych zmiennych a do tego dodatkowo wprowadzając jeszcze innych warunków (właśnie typu RSI powyżej jakiejś granicy) jest bez sensu
No tak: "wszystko" powinno być w cudzysłowach. Wiadomo, że nie całkiem wszystko, bo życia by nie starczyło na obliczenia :)
Ale wszystko co uważamy za sensowne. Dajmy na to definiujemy średnią, podając parametry w jakim zakresie może zmieniać się jej okres, z jakich cen ma być liczona (otwarcia, zamknięcia, lo, hi), jakiego typu to ma być średnia (prosta, ważona itd.). Kodujemy to w genie i zapuszczamy AG.
Modyfikacje genów (przez mutację i krzyżowanie) będą powodować testowanie najróżniejszych kombinacji warunków które podaliśmy.
Jeśli teraz dodamy do AG możliwość sprawdzania dodatkowych "warunków" tzn. przecięć takich kilku średnich lub osiągnięcia przez nie określonych wartości (lub np. stosunków jednej do drugiej) to otrzymane wyniki mogą być interesujące. Oczywiście prócz średnich w podobny sposób w AG kodujemy "wszystko" wprowadzając odpowiednie punkty graniczne dla każdego kodowanego wskaźnika tak by w populacji nie powstawały geny reprezentujące bezsensowne wartości (w ten sposób odpada problem z RSI o którym piszesz).
Problem w tym, że to wymaga spooorego nakładu pracy, a zakodowanie wskaźników w AG to dopiero początek ...

BAQ
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 11 gru 2009, 20:36

Nieprzeczytany post autor: BAQ »

green7 pisze:
BAQ pisze:Z tego co sam zdążyłem się dowiedzieć od ludzi z branży, których męczyłem na ten temat, nie do końca tędy droga
A skąd znasz "ludzi z branży" i skąd pewność, że mówią prawdę ? :)
skąd pewność, że cokolwiek co Wy piszecie tutaj na forum, ma jakikolwiek związek z prawdą ? :) z nikim z Was nie przegadałem wielu godzin na tematy forexa, więc tym bardziej nie jestem w stanie zweryfikować tego co piszecie

To, że spotkałem kogoś, kto wytłumaczył mi wiele podstaw na jakich opiera się automated trading w wielkich funduszach, uznaję za największe szczeście, jakie spotkało mnie w tym roku.

Może, jeśli osoba ta się zgodzi, napiszę artykuł w stylu "wywiadu" i zaprezentuję szerszemu gronu.
green7 pisze:Myślę, że dróg do sukcesu jest wiele. Tak dużo, że problem mamy ze skupieniem się na jednej jedynej i dopracowaniem jej do perfekcji. Założę się, że jakby dobrze nad tym posiedzieć to świetne wyniki można uzyskać przy pomocy kilku MA. Bez użycia SSN, AG, modeli ARIMA, GARCH itd. Co przecież nie znaczy, że sukcesu nie można osiągnąć posługując się właśnie nimi.
Zgadzam się, niestety jak wielu tutaj pisze, chcieliby, a nie mają czasu :) I chyba to jest ostateczne kryterium.

Dodano po 12 minutach:
green7 pisze:
Pozwolę sobie nie zgodzić się z hipotezą. Dla każdego, nawet najgorszego systemu, można znaleźć kombinację parametrów, która będzie przynosić zyski w backtestach. Na tego typu systemy mówi się "overoptimized".
Ogólnie tak - w ten sposób jak Dakhr pisze rzeczywiście można łatwo przeoptymalizować system. Ale jeśli użyć AG i sprytnej funkcji dopasowania uwzględniającej również to jak zachowa się system poza okresem testowym ... to może z tego coś by było :)
Zawsze można zaimplementować jakiś algorytm typu "walk forward test"
http://findarticles.com/p/articles/mi_q ... ntent;col1
Aczkolwiek dalej w to nie wierzę, po części ze swych własnych doświadczeń.

Sam kiedyś napisałem EA w którym sygnał kupna był złożeniem paru sygnałów (przecięcia średnich, SAR, coś z wstęgami bollingera). Każdy z tych sygnałów był parametrem, można go było włączyć lub wyłączyć. MT4 ma niby jakiś optymalizator z algorytmem genetycznym, nie przelicza wszystkich możliwych kombinacji.
Okazuje się jednak, że jeśli każdy z sygnałów ma 2-3 parametry (długość EMA, odległość odchylenia i inne), to potencjalnych kombinacji jest tyle, że każdy optymalizator się na tym wysypie.

Jeśli natomiast zoptymalizujecie każdy z sygnałów osobno, a potem będziecie próbowali je złożyć, to wyjdzie jeszcze większa kiszka :)

StudenTM84
Stały bywalec
Stały bywalec
Posty: 53
Rejestracja: 07 maja 2009, 21:08

Nieprzeczytany post autor: StudenTM84 »

BAQ pisze:jak wygląda sprawa z zastosowaniem tego w praktyce? Tzn. budujesz cały system wokół predykcji, czy używasz jej w trakcie analiz?
Tak, budowałem SSN w celu predykcji logarytmicznych stóp zwrotu jak również badałem ich efektywność (trafność kierunku zmian)
green7 pisze:Dajmy na to definiujemy średnią, podając parametry w jakim zakresie może zmieniać się jej okres, z jakich cen ma być liczona (otwarcia, zamknięcia, lo, hi), jakiego typu to ma być średnia (prosta, ważona itd.). Kodujemy to w genie i zapuszczamy AG.
hmm, zacznę może od pytania czy nie można tego zrobić w optymalizacji testera? jak go kiedyś używałem to zdaje się, że on również używa AG - niestety jego obliczenia trwają wieki i dlatego rzadko z niego korzystam (zastanawiam się również czy on rzeczywiście korzysta z AG czy przeszukuje wszystkie możliwości...). Jednak jeśli korzysta on z AG to jeden problem z głowy ^^.
green7 pisze:Problem w tym, że to wymaga spooorego nakładu pracy, a zakodowanie wskaźników w AG to dopiero początek ...
Wydaje mi się, że nie jest to aż tak trudne do wykonania ^^ - kwestia wolnej chwili i wiedzy jak to działa i co chce się zrobić... Poza tym nie koduje się wskaźników a jedynie wyniki, które on daje co akurat nie jest chyba trudne... :)
green7 pisze:Jeśli teraz dodamy do AG możliwość sprawdzania dodatkowych "warunków" tzn. przecięć takich kilku średnich lub osiągnięcia przez nie określonych wartości (lub np. stosunków jednej do drugiej) to otrzymane wyniki mogą być interesujące.
To powinno być zakodowane razem z resztą zmiennych tylko jako jedna zmienna binarna, tzn. przykładowo jeśli wartość jakiegoś wskaźnika x>od jakiejś granicy to 1 jeśli nie to 0. Jeśli chodzi np. o przecięcie średnich to dać np. if(MA1(parametry, 1)>MA2(par, 1) && MA1(par, 0)<MA2(par, 0)) to 1 else 0 <- to tak na szybko :D (nie chcę się za bardzo rozpisywać - kto wie o czym piszemy chyba zrozumie :P).
green7 pisze:Oczywiście prócz średnich w podobny sposób w AG kodujemy "wszystko" wprowadzając odpowiednie punkty graniczne dla każdego kodowanego wskaźnika tak by w populacji nie powstawały geny reprezentujące bezsensowne wartości
Każdy zapis binarny wymaga przyjęcia jakiegoś przedziału dla zmiennej co często jest kłopotliwe (lub nawet wadą AG)... Im większy przedział (lub większa dokładność po przecinku) tym dłuższy kod (a biorąc pod uwagę, że potem się łączy ten kod z każdej zmiennej i powstaje baaardzo dłuuugi kod (szczególnie przy wielu zmiennych przyjmujących duży rozkład wartości) często AG są nieefektywne... Wówczas stosuje się Algorytmy Ewolucyjne, które mają kod zmiennoprzecinkowy lub jakoś tak (ale to już inna bajka)

Natomiast jeśli chodzi o własny tester to wydaje mi się, że nie powinno być problemem napisać coś takiego w MQL-u ale to również zostawię na inny post :)
Pewnych rzeczy nie można odkryć;
lecz tego nie stwierdzisz odgadywaniem ani snuciem domysłów;
nie, musisz być cierpliwy i przeprowadzić doświadczenia,
aż odkryjesz, że nie możesz czegoś poznać.
Mark Twain :)

vindemiatrix
Gaduła
Gaduła
Posty: 100
Rejestracja: 22 kwie 2009, 12:12

Nieprzeczytany post autor: vindemiatrix »

..............

Po edicie:

No cóż moja opinia na temat rynków jest prosta, rządzi nimi statystyka i rachunek prawdopodobieństwa. Właściwie już od samego początku wszyscy o tym mówią :" nie możesz zawsze wygrywać " , " w dłuższej perspektywie liczy się tylko wysokie r/r"...... Czy zajmował się ktoś z was analizą statystyczną rynków.

BAQ
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 11 gru 2009, 20:36

Nieprzeczytany post autor: BAQ »

Właśnie porządkując swoje bookmarki natknąłem się na to:
http://www.goldengem.co.uk/

Fani sieci neuronowych powinni to znać, jeśli nie, zachęcam do zaglądnięcia.

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

Nieprzeczytany post autor: matka »

BAQ pisze:Zgadzam się, niestety jak wielu tutaj pisze, chcieliby, a nie mają czasu :) I chyba to jest ostateczne kryterium.
Ciężko jest samemu zapanować nad rozległymi projektami. Z pomocą przychodzą tu zjednoczenia i spółdzielnie :D Próbowałeś kiedyś działać nie w pojedynkę?
BAQ pisze:Zawsze można zaimplementować jakiś algorytm typu "walk forward test"
http://findarticles.com/p/articles/mi_q ... ntent;col1
Aczkolwiek dalej w to nie wierzę, po części ze swych własnych doświadczeń.
Też w to nie wierzę.. To znaczy sama koncepcja cykli w testach coś w sobie ma, tylko może nie realizowana w taki sposób jak w tym artykule, o ile poprawnie zrozumiałem artykuł :twisted:
Obrazek
Unfortunately, more to come

ODPOWIEDZ