Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Predikce časových řad


Doporučené příspěvky

Zdravim vsechny,

Musim vam rict, ze diskuzi na takove urovni jsem v cestine (a jeste tu...) teda necekal. Diky vsem za odkazy na zajimave materialy, vsechno jsem si ulozil abych to mohl po zimnich vecerech predcitat vnoucatum...
Ja osobne jsem v oblasti predikce relativne novy. Principy (pouze) SVM, NN, Gen., ... znam uz z drivejska, ale az v posledni dobe jsem vplul do teorie neuronovych siti, abych mel na cem stavet pri programovani. Donutilo me k tomu taky to, ze hledat systemy RUCNE (naprogramovat pravidla a pak cekat, jestli to vyjde...) je proste opruz. Navic vysledky jsou vetsinou mizerne a s NN clovek se citi "dulezite", kdyz pracuje s cutting-edge technologii:).

Vetsina z vas se tady zabyva SVM, muzu se zeptat proc? sals3r0 zminil, ze problem s NN je mnozstvi parametru (pravda), spatne hledani globalniho maxima (pravda) a ze klasicke (asi feed-forward) NN jsou zastarale (...vazne?). Myslite, ze SVM jsou rychlejsi cesta k uspechu nez NN, resp. geneticke programovani?

Ja osobne se chci poustet bud do Evolucnich neuronovych siti - normalni NN, ktere jsou geneticky optimalizovane, nebo normalnich siti s preprocessingem dat. To bych chtel rozkladem ceny na vlnove funkce (Fourierova transformace nebo Wavelet decomposition) a pak jako vstupy do site brat koeficienty vlnovych funkci. Jeste jsem to nezkousel a muze to byt uplne zcestne, ale pokud byste k tomu meli pripominky uz ted, rad je uvitam.

Libos tady daval odkaz: www.forexfactory.com/showthread.php?t=167720. Vazne doporucuju precist, "Mikkom" tam popisuje velmi zajimavy pristup - vytvori obrovske mnozstvi strategii a pak je vybira a kombinuje (to je klic) podle fitness funkce. Tady je clanek o hedge fondu, ktery dela neco podobneho: www.activetradermag.com/index.php/c/The_AT_Interview/d/Jonathan_Kinlay,_Systematic_Strategies.

Ted trosku o me... tohle uz cist nemusite:). Vsechno delam v Matlabu (i kdyz C++/Jave se nebranim). Mam v nem udelany svuj "interface", ktery ma funkce od zpracovani dat, pres (promakane) backtestovani, az po tvorbu portfolia. K tomu mam udelany feed dat z MT4 a svoje "pseudo API" k Oande (haha, to byste museli videt:)). Vsechno co potrebuju k pusteni systemu na live... teda az na system.

Priste to bude kratsi, slibuju... Mojmir

Link to comment
Sdílet pomocí služby

  • Odpovědí 125
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Eubie Napsal:
-------------------------------------------------------
> V nadcházející době se chystám modelovat range
> následujícího dne a chtěl jsem se zeptat, zda tu
> někdo s touto problematikou má zkušenosti.
> Akademická obec nabízí VECM/ARMA modely nebo
> modely z ARCH rodiny, nicméně R-kvadrát se spíš ve
> výjimečných případech přehoupne přes 50%, což je
> pro trading žalostně málo.

Bohuzel, o techto modelech vubec nic nevim...(krome toho, ze existuji)

>
> Ad MSE: Na internetu jsem narazil na jeden paper,
> který do vyhodnocování predikčních modelů na
> obchodních datech zahrnul vedle MSE a podobných
> měr i profit nějaké sample strategie. Výsledek byl
> takový, že vztah mezi kvalitou modelu dle MSE a
> dle profitu není jednoznačný a model s nejhorším
> MSE byl snad v jednom případě nejprofitabilnější.
> Tedy, pokud chcete modelovat něco pro praktické
> použití v tradingu, je použití MSE apod.
> diskutabilní.

Mne se zatim ruzne virtualni fitness funkce postavene na sample strategiich se SVM neosvedcily. Prece jen, SVM o vasi strategii nic nevi (a vy, nez mate vysledky v podstate taky ne). Uloha SVM je provest co nejlepsi regresi/klasifikaci vasich vektoru, takze jedine, co potrebuje vedet je, jak se mu tato konkretni uloha dari. Postavit pak na tom trading strategii, je uplne dalsi uloha, rozsahem klidne i stejna jako samotna predikce.
Takze ja pouzivam vetsinou NMSE v ruznych drobnych modifikacich.
Kazdopadne odkaz na Vami zminovany paper by se hodil, nemate ho jeste nekde prosim v bookmarkach?

Link to comment
Sdílet pomocí služby

Marigold Napsal:
-------------------------------------------------------
> Zdravim vsechny,
>
> Musim vam rict, ze diskuzi na takove urovni jsem v
> cestine (a jeste tu...) teda necekal. Diky vsem za
> odkazy na zajimave materialy, vsechno jsem si
> ulozil abych to mohl po zimnich vecerech predcitat
> vnoucatum...

To jsme radi :) Welcome!

> Vetsina z vas se tady zabyva SVM, muzu se zeptat
> proc? sals3r0 zminil, ze problem s NN je mnozstvi
> parametru (pravda), spatne hledani globalniho
> maxima (pravda) a ze klasicke (asi feed-forward)
> NN jsou zastarale (...vazne?).

Tak ten duvod je ten, ze to tak vidi ostatni. Videl jsem mnoho srovnani modelu na bazi SVM a NN (pro ucel predikce financnich rad), ani jeden nevyznel zatim priznive pro NN (ted se bavime o klasickych NN architekturach a topologiich, jako klasicke feed-forward NN, BPNN, ...). Proste SVM je hrozne pohodlne v tom, ze mu predhodite vektory a dva parametry a ono vam pokazde vyplivne _to same_, vuci danym parametrum nejlepsi reseni.
Hral jsem si kdysi i s NN (konkretne gamma networks) a to byla silena magie a hromady parametru.

> Myslite, ze SVM
> jsou rychlejsi cesta k uspechu nez NN, resp.
> geneticke programovani?
- SVM vs NN - imho je to urcite jednodussi cesta, takze ano, i rychlejsi...
- SVM vs GP - to zalezi, jestli uz s GP mate zkusenosti nebo ne, jestli uz mate nejaky GP framework, nebo ne. Pokud jste na zelene louce, je na hrani asi lepsi SVM, protoze velmi kvalitni implementace SVM jsou volne k dispozici. Rozumny framework na linearni GP jsem zatim nenasel. Samozrejme pokud jste v baliku, kupte si Trading System Lab a nemusite ani nic resit :)
Jinak v materialech, ktere jsem nasel ruzne na netu vetsinou srovnani regrese SVM vs GP dopada lip nebo stejne pro GP. Vyhoda je ta, ze GP sama o sobe resi eliminaci irelevantnich vstupu, tohle SVM neumi, takze stejne musim pouzivat SVM+GA. SVM je take vykonove docela narocne :( Takze osobne take chci proniknout do GP, ale ted je pro me priorita SVM, pripadne hybridni SVM architektury.

> Ja osobne se chci poustet bud do Evolucnich
> neuronovych siti - normalni NN, ktere jsou
> geneticky optimalizovane, nebo normalnich siti s
> preprocessingem dat. To bych chtel rozkladem ceny
> na vlnove funkce (Fourierova transformace nebo
> Wavelet decomposition) a pak jako vstupy do site
> brat koeficienty vlnovych funkci. Jeste jsem to
> nezkousel a muze to byt uplne zcestne, ale pokud
> byste k tomu meli pripominky uz ted, rad je
> uvitam.

Mne to prijde dobry napad (ta kombinace), ale osobne mi prijde jeste efektivnejsi SVM cesta i v tomto pripade. Do SVM muzete totiz namontovat tzv. kernel funkci, ktera vam nadeformuje cely vektorovy prostor vasich dat, klidne i muzete provest Wavelet decomposition. Viz zde: ieeexplore.ieee.org/iel5/5230910/5230911/05230938.pdf?arnumber=5230938 (bohuzel dokument je placeny)


>
> Libos tady daval odkaz:
> www.forexfactory.com/showthread.php?t=16772
> 0. Vazne doporucuju precist, "Mikkom" tam popisuje
> velmi zajimavy pristup - vytvori obrovske mnozstvi
> strategii a pak je vybira a kombinuje (to je klic)
> podle fitness funkce.

Jojo uz to vlakno ctu asi 2-3 tydny vzdycky kdyz jsem v MHD nebo nekde cekam, jsem asi na 60. strance, bohuzel hodne prispevku je tam nezajimavych (ktery programovaci jazyk je lepsi, ktery broker stoji vic za h***o), ale velmi zajimave prispevky hlavne od Mikkoma se tam objevuji.

Good luck!

Link to comment
Sdílet pomocí služby

Evolucne neuronove siete maju jeden velky nedostatok o ktorom sa velmi nehovori a to, ze su velmi nachylne na zmenu topologie. Inak povedane, ak mam natrenovanu neuronovu siet, uz jednoducha mutacia, ci krizenie v topologii, ci v nastaveni parametrov, ma zasadny vplyv na vysledne spravanie siete (rozhasi ju to) a je nutne ju znova natrenovat, co je vypoctovo velmi narocne.

K SVM vs NN. SVM je velmi blizky model k NN. Ak pouzijeme SVM + sigmoid kernel funkciu dostavame dvojvrstvovu perceptronovu NN. NN maju siroku skalu variant. Da sa s nimi namodelovat takmer cokolvek. Ich problem je velmi obtiazna interpretacia, ale ta je obtiazna aj v pripade SVM. No, rozhodovacie stromy to nie su :)

Rad citam toto vlakno a som zvedavy k comu sa dostanete. Asi 2r spat som pouzival skryte markovove modely na predikciu volatility, ktoru by som zobchodoval but strangle/straddle alebo VIX futures. Po par simulaciach som to zabalil. Poplatky to cele poslali k vode. Teraz obchodujem opcie velmi jednoducho a zatial mi to vyhovuje.

Link to comment
Sdílet pomocí služby

Co se týká toho paralelizování tak bych chtěl paralelizovat trénování SVM tím stylem, že jedno trénování poběží na více procesorech, ale obávám se, že to nepůjde a libsvm bude podporovat pouze trénování více úloh najednou.

Jinak jsem si v týdnu nastudoval knihu o gen. algo. a pustil se do programování. Jediné co mě trápí je, že pořádně nevím na jakých intervalech hledat ideální nastavení C, gamma a epsilon zatim to mám následovně:

C: x od -10 do 10 po 0.05
hodnota C = 2**x
(vzal jsem to jako exponenciální funkci, inspiroval jsem se zde: A Practical Guide to Support Vector Classication)

gamma: stejný interval jako u C

epsilon: od 0 do 0.1 po 0.0001


Gen. algo. jsem se rozhodl naprogramovat sám abych to měl přesně jak chci. Vcelku mě potěšilo, že už v první generaci se objevují dost nadějní jedinci s accurary > 65%, každopádně zacyklené to ještě nemám, to bude ještě trvat...

Na jakých intervalech hledáte nastavení SVM?

Ať se daří. Honza

Link to comment
Sdílet pomocí služby

Děkuji. To epsilon si upravím abych ho nebral od nuly jinak to tak nechám. Vše mi funguje zatím do vygenerování první populace a tak jsem pro zajímavost nechal vytvořit 1000 jedinců a sledoval jsem kde se pohybuje sharpe ratio: min = -0.047, max=0.32 což mi příjde jako hodně pěkný :-) Co používáte pro fitness? Já mám zatím v plánu sharpe ratio.

Link to comment
Sdílet pomocí služby

fxmagico: Možná už jsou tyhle výsledky překonané, ale už v Golbergovi se píše, že vyšší počet jedinců v GA nemá na rychlost konvergence vliv. O GA v SVM nic nevím, takže pokud jste 1000 jedinců bral z nějakého doporučení, neberte tento komentář v potaz, pokud jste ho ale jen tak nastřelil, zkusil bych i menší počet, až budete mít hotové operátory a selekci.

Link to comment
Sdílet pomocí služby

sals3r0: Diky za radu, ve vsech vecech ohledne NN mas asi pravdu. Fakt, ze nekonverguji ke globalnimu minimu a problem s vyberem topologie jsou dost podstatne duvody proc prejit k SVM. Navic, jak rikal fubu, jsou ekvivalentni s NN ve specifickych pripadech.
A diky za odkaz na paper, stahnu si ho na univerzitnim pocitaci a urcite na nej mrknu!

fubu: NN optimalizovane GA jsem jeste nestudoval, ale vedel jsem, ze s pretrenovanim parametru bude problem. Leda pouzit male site a dobry trenovaci algoritmus. Srovnavas tu NN a SVM, nemas ohledne toho odkaz na nejake materialy? SVM se mi zatim nepodarilo pochopit s tim, co jsem cetl. Diky.

fxmagico: Ja treba taky pouzivam sharpe ratio. Problem je, ze je dost citlive na casovy usek v jakem se pocita (denni return vs rocni return). Klasicke strategie se lisi v SH bezne o 0.5 v zavislosti na periode.

Link to comment
Sdílet pomocí služby

Maringold,
na internete najdes mnozstvo dokumentov o SVM. Ak nie je problem anglictina, tak napr. www.svms.org/tutorials/. Ak hladas knihu celkovo o Machine Learning, kde je vsetko postupne vysvetlene mozem doporucit Machine Learning and Pattern Recognition od Bishop-a research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm. Je tam rozobrana vacsina aktualne pouzivanych pristupov (vseobecne, nie pre trading).

Ako zacat pri pochopeni SVM? Pozri si najskor co su to linearne modely, potom co je to jednoduchy linearny klasifikator a mozes pokracovat s SVM. Zakladna myslienka napr. pre 3-rozmerny priestor: mame kocku (priestor parametrov) a snazime sa ju rozdelit na 2 casti vlozenim papiera (2d, rovina, pre vyssi rozmer hyper-rovina) tak aby sme oddelili jednu triedu bodov od druhej.

Link to comment
Sdílet pomocí služby

fubu: Díky za radu s tou menší populací, ale ono to bude i nutnost až zařadím více trénovacích a validačních setů ...

Marigold:
No já shapreR počítam jako avg. trade/std(z rady vsech obchodu). Říkal jsem si, že bych tam pak mohl zavést jestě jeden parametr, který by zachycoval robusnost tím stylem, že by jsme sledoval rozdil sharpe ratia na jednotlivých validačních setech, ale to chce zkusit jestli to k nečemu bude...
Co se SVM týka tak to chapu nasledovně: d-rozměrný prostor rozšíříme o další dimenze tak aby počáteční problém byl lépe řešitelný, dejme tomu, že jsme ve 2D a jeden bod je definován souřadnici [x1,x2] potom hledám x3 takový aby se body od sebe daly šikovněji rozdelit např.: f1=x1^2, f2=x2^2, f3 = sqrt(2)*x1*x2, z toho mi vypadne x3 čímž jsem daný prostor rošířil o další dimenzi a z 2D mám teď 3D. Toto by například mělo být řešním pro tento problém: www.youtube.com/watch?v=3liCbRZPrZA , který se díky tomuto postupu stal řešitelný s pomocí jedné roviny. Dál po tom rošíření se hledá oddělovač kde se počíta s těmi C, gamma atd.
Více do hloubky to nechápu, ale tohle mi k té mé aplikaci stačí.

Link to comment
Sdílet pomocí služby

Tak jsem tak trochu zmatenej: jedinec má chromozony (delka_predikce, pocet_vstupu, C, gamma, epsilon), první generaci seřadím dle sharpe ratia a rozdam intervaly dle rank selection, trefuju se do intervalu čímž vyberu jedince ke křížení, křížím je tak, že vygeneruju nahodné číslo N , které určí kolik chromozonu se vymění a druhé náhodné číslo vygeneruji N-krát čímž určím, které to budou.

Nekonverguje to k lepšímu řešení a to tak brutálně, že po 10 generacích má top jedinec sharpe ratio 0.05 ikdyz v první generaci byl jedinec třeba s 0.3.

Nevíte co stím?

Link to comment
Sdílet pomocí služby

fxmagico:
za vsetkym hladaj jednoduchost. SVM je linearny model a nelinearita sa dosahuje krasnym odrbom zvanym "kernel trick". Nieco na sposob, ktory si opisal.

Nerobis tam toho krizenia az prilis? Nechavas aj niekolko zlych jedincov aby si neskoncil len v lokalnom extreme? A naopak, nechavas aj najlepsich?

Link to comment
Sdílet pomocí služby

Mne osobne prijde cokoliv od dvou tri parametru vejs jiz opodstatnene na pouziti GA :-) Hlavne v pripadech, kdy je primo evaluace fitness funkce bottleneck, jako tady...

fxmagico:
- zkousels Tvoji GA aplikovat na nejaky testovaci problem se znamym reseni? Treba najit globalni extrem nejake funkce dvou/tri promennych v danem intervalu? Aby sis potvrdil, ze funguje spravne...
- pouzivas mutace? bez tech se asi obejit neda
- doporucuju pouzivat elitism - nejlepsiho jedince vzdycky vzit i do dalsi populace

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...