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

Ja bych tady rad rozjel diskusi o metodach predikcich casovych rad a jejich vyuziti v tradingu, se zamerenim na to:

- co predikovat (jake vystupy), jak na predikovanych hodnotach zalozit strategii
- jake vstupy pouzit pro predikce, jak je vybirat
- jak preprocessovat vstupy (normalizace, pre-clustering)
- jake metody funguji, jake nefunguji (ARIMA, regrese, neuronove site, SVM/SVR, gamma networks, genetic programming)
- parametry a topologie vyse zminenych metod, metody jak vybrat optimalni kombinace
- jak nejlepe ocenit vykon predikcniho systemu (cost functions - MSE, NMSE, DS)
- metody jak otestovat robustnost reseni (walk forward, out of sample tests)
- softwarove reseni (implementace), software pro datamining a AI-based trading (Neuroshell trader, KXEN, Synapse)
- hybridni architektury a zkusenosti s nema (SOM+SVM, multi-level SVM)

Ja osobne se snazim predikovat FOREX pohyby, zatim pouzivam SVR s geneticky optimalizovanymi vstupy a parametry, vysledky nejsou spatne (zda se, ze tam to SVM ruzne opakujici se vzory najde), ale zaroven ne uplne uspokojive, porad mam v hlave napady ktere by mohly presnost vylepsit (custom kernel funkce pro SVM, vice SVM instanci a pre-clustering pomoci SOM), bohuzel overovat moje napady stoji pomerne hodne meho (jakozto zamestnaneho cloveka draheho) casu a vypocetniho vykonu.

Ted nestiham, jsem v praci, ale casem postnu nejake svoje vysledky a odkazy na relevantni zajimavou literaturu.
Doufam, ze se pripoji mistni odbornici na casove rady a datamining, jako Olympusko a flakac, mohla by se tu rozjet zajimava diskuze, ktera by mohla byt prinosem pro vsechny, kteri se rozhodli zkusit vydat touto cestou.

Zatim doporucim tento (free) ebook, zajimave cteni na zacatek:
www.neuroshell.com/Successful%20Trading%20Using%20Artificial%20Intelligence.pdf

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

Nádherné téma :-) pokouším se o něco podobného, ale jsem teprve s počatcích.
Zatím jsem zkoušel naprosto trivialní věci, které nemají s AI nic společného. Například vzít aktuální průběh, najít přes klasickou korelaci r= COV(x,y)/(s(y)*y(x)) podobné v historii. Následně dle share ratia určit zdali něco predikují v případě, že ano tak jít do pozice. Výsledek na ES je cca 100bodu ročně, stím že je mizerná četnost vzorku, podle kterého chceme jít do pozice, což se dalo očekávat a výsledky jsou dost nachylné na nastavení. (celé jsem to sjížděl jako forward)
Každopadně na tak neohrabanou metodu to beru jako úspěch.
Potom jsem se také pokoušel něco vytvořit pomocí fuzzy toolboxu v Matlabu, ale výsledky nebyly slavné.

Co se diskuze týká, tak se obávám, že schopných lidí, kteří dokážou konstruktivně diskutovat na dané téma se tu moc nesejde. Nechtěl by jste to pojmout spíše jako seminář? Stím že by se zvolilo téma(třeba ARIMA), ve kterém by se nováčci jako já snažili něco vykutit, stím že by zde měli oporu a celý průběh diskuze by neležel pouze na pár zkušených?
Neboť pokud se tu mají bavit tři lidé, tak je jasné, že toto téma zapadne.

Děkuji za pěkné pdf.

Honza

Link to comment
Sdílet pomocí služby

Honza K.: Ja si myslim, ze i tak to za pokus stoji. Duvod, proc jsem zalozil toto vlakno neni to, abych se dovedel co nejvic o tech bodech co jsem napsal - uz toho o nich vim pomerne dost, nebot se predikcemi casovych rad jiz aktivne zabyvam. Chci tu proste rozjet diskusi o tomto konkretnim nahledu na trading. Tento web se timto naopak vubec nezabyva, tak si myslim, ze by to treba mohlo obohatit ty, ktereri tu tohle postradaji.

Prazdne toto tema nezustane, uz jen proto, ze sem obcas hodim nejake postrehy a vysledky z meho vlastniho vyzkumu, pro inspiraci ostatnich traderu.

Taky sem budu davat odkazy na zajimavou free literaturu.

Link to comment
Sdílet pomocí služby

fxmagico: Ano, je pomerne pravdepodobne, ze sem bude ze zacatku prispivat pouze omezeny pocet lidi, ale pomuze to lidem, kteri o predikcich casovych rad a jejich metodach nic nikdy neslyseli nebo o tom vi velmi malo. Jak jsem napsal vyse, budu sem davat odkazy na zajimavou relevantni literaturu a svoje pripadne vysledky, takze casem by to mohlo zaujmout vice lidi, kteri se pak treba pripoji. No uvidime...

S tim seminarem to promyslim...

Jinak dalsi must-have e-book - aplikace SVM pro predikce financnich casovy rad (na tom vesmes stavim ja ve svem vyzkumu):
www.svms.org/finance/TayCao2002b.pdf

Link to comment
Sdílet pomocí služby

Sals3r0, moje zkušenosti jsou takové, že zvyšující se komplexita systému s sebou přináší spoustu nových rizik a problémů. Znám několik šílenců, co už 5 let vytvářejí zaručeně profitabilní strategie se statisíci řádky kódu a stále nejsou hotoví. Mají prostě pocit, že musej zmáknout co nejsložitější a nejnesrozumitelnější věci, zpracovávají šíleně složité matematické popisy, aby byli před ostatními. Jak jsou potom nas...štvaní, když přijde típek, co ví z jejich pohledu totální prd a přesně podle pravidla "nejhloupější sedlák má největší brambory" slízne smetanu a oni mají pořád velký kulový.

Pokud bych měl tedy něco doporučit, tak k jednotlivým bodům:


[ital]- co predikovat (jake vystupy), jak na predikovanych hodnotach zalozit strategii [/ital]
na tohle vám nikdo neodpoví. Vy snad máte nápad, jak trhy využít ne? Pokud nemáte vůbec nic, vykašlete se na zbytek.

[ital]- jake vstupy pouzit pro predikce, jak je vybirat [/ital]
dtto.

[ital]- jak preprocessovat vstupy (normalizace, pre-clustering) [/ital]
mluvíte česky? Zřejmě chcete prostě "oskenovat" trh a vybrat nějaké typy vstupů, které se jeví ok. Neporadím, jenom to, že distribuce, úspěšnost vstupů se dá testovat pouze v součinnosti s výstupy.

[ital]- jake metody funguji, jake nefunguji (ARIMA, regrese, neuronove site, SVM/SVR, gamma networks, genetic programming) [/ital]
můj názor - všechny a žádná. Nefungují metody, ale hotový systém. Já ani jednu z těch metod nepoužívám a nemám pocit, že bych je kdy chtěl implementovat. Jestli jsou příliš časově náročné a složité, vyhnul bych se jim a hledat něco jednoduššího.

[ital]- jak nejlepe ocenit vykon predikcniho systemu (cost functions - MSE, NMSE, DS) [/ital]
obchodováním systému po dobu několika měsíců nebo uskutečněním více jak 1000 obchodů

[ital]- metody jak otestovat robustnost reseni (walk forward, out of sample tests) [/ital]
ano, obě metody podle mého názoru musí být součástí testu robustnosti systému. Řešení dostupná jsou, většinou jsou ale drahá, např. Grail walk forward - koupený Tradestationem (TS), měl by se stát součástí některé z příštích verzí TS, podle dostupných informací cca polovina 2011 ale spíš déle, slušně použitelná platforma je také Multicharts a některé další. Ideální řešení je pak to, co tradeři neradi dělají - hotový systém zamknout na pár měsíců do trezoru a pak ho spustit na datech za toto období :)

[ital]- softwarove reseni (implementace), software pro datamining a AI-based trading (Neuroshell trader, KXEN, Synapse) [/ital]
Je dobré mít už v době kodování jasno v brokerovi, přes kterého půjdou exekuce, abyste věděli, jak napojit váš systém a jak se vypořádat se specifiky daného brokera. Já osobně si vystačím s tím, co mi poskytuje Tradestation s tím, že záložní broker je IB, sonduju možnosti u Mirusu.

[ital]- hybridni architektury a zkusenosti s nema (SOM+SVM, multi-level SVM) [/ital]
nemám žádné ani mi nechybí

Celkově k tématu - buďte si vědom jednoho - velké fondy a banky mají prakticky neomezené finance na to koupit si nejlepší programátory a mozky. Mají k dispozici nejlepší techniku a přesto většina toho, co z jejich "laboratoří" vyleze, v praxi selhává. Většinou to dopadá tak, že exekuce jsou pak založeny na rozhodnutí daného obchodníka a systémy jim pouze poskytují "základnu", podle které se orientují, s tím že obchodují prakticky ty nejjednodušší věci, které pro vás možná nejsou vůbec zajímavé.
Všechny ty šílenosti, které studujete, vám dají možná dobrý pocit, že jste to vzal takříkajíc "vědecky", ale samy o sobě profitabilitu zřejmě nezajistí. Možná ano, ale pravděpodobně asi ne. Každopádně držím palce, protože i takové tradery jako jste vy trh potřebuje. Víte jak by to vypadalo, kdyby všichni obchodovali CCI a MA crossover? :D

Link to comment
Sdílet pomocí služby

Honza K.: po precteni vasich odpovedi mi doslo, ze si nerozumime...ja zatim vubec neresim zadny obchodni system! Snazim jsem jenom vytvorit system predikce nejakych (jakychkoliv) casovych rad, souvisejici s trhem - proste teoreticky model, ktery se bude snazit v trhu nalezt urcite vzory chovani, ktere se opakuji a studovat presnost techto predikci....az PAK, pokud budou predikce dostatecne uspesne, na nich pujde zalozit nejaky obchodni system, ale to vubec zatim neresim, ani to neni primarnim cilem to rozebirat v tomto vlaknu!
Dle meho nazoru, jedina sance jak vytvorit profitabilni MECHANICKY obchodni system v dnesni dobe je prave za pouziti machine learning technik, protoze mechanicky system se musi byt schopen sam adaptovat na nove podminky.

Musim zde tedy uvest na spravnou miru vase doporuceni:
[ital]
- co predikovat (jake vystupy), jak na predikovanych hodnotach zalozit strategii
na tohle vám nikdo neodpoví. Vy snad máte nápad, jak trhy využít ne? Pokud nemáte vůbec nic, vykašlete se na zbytek. [/ital]

Ono to neni tak jednoduche. Musite byt schopen v trhu predvidat s dostatecnou presnosti nejaky udaj, na kterem pak postavite obchodni strategii. Prikladu muze byt vice:
1) snazit se predvidat prekrizeni klouzavych prumeru nekolik usecek dopredu
2) snazit se predvidat hodnotu nejakeho indikatoru nekolik usecek dopredu (RSI, MA, ...)

Cokoliv, co jste schopen predpovedet, na cem pak postavite vas system.

[ital]
- jake vstupy pouzit pro predikce, jak je vybirat
dtto. [/ital]
Nemluvim o vstupech do trhu vasi strategie, ale o vstupech, kterymi budete "krmit" Vas predikcni system, treba neuronovou sit. Takze ruzne zpozdene hodnoty ruznych technickych indikatoru, napriklad...

[ital]- jak preprocessovat vstupy (normalizace, pre-clustering)
mluvíte česky? Zřejmě chcete prostě "oskenovat" trh a vybrat nějaké typy vstupů, které se jeví ok. Neporadím, jenom to, že distribuce, úspěšnost vstupů se dá testovat pouze v součinnosti s výstupy. [/ital]
Jak jsem rekl, nejedna se o vstupy do trhu ale vstupy do Vaseho predikcniho systemu. Napriklad SVM a NN vyzaduji normalizovat veskere hodnoty do intervalu . To se da udelat vice zpusoby.

[ital]- jake metody funguji, jake nefunguji (ARIMA, regrese, neuronove site, SVM/SVR, gamma networks, genetic programming)
můj názor - všechny a žádná. Nefungují metody, ale hotový systém. Já ani jednu z těch metod nepoužívám a nemám pocit, že bych je kdy chtěl implementovat. Jestli jsou příliš časově náročné a složité, vyhnul bych se jim a hledat něco jednoduššího. [/ital]
Ja se ale bavim o metodach predikce, ne o obchodnich systemech. Obchodni system bude fungovat tak dobre, jak bude fungovat predikce, na ktere je zalozen.
Obecny nazor v dnesni dobe je, ze ARIMA, regrese, standardni neuronove site uz nefunguji dobre na financni casove rady. Nejvice se pouzivaji metody zalozene na SVM a genetickem programovani.

[ital]
- jak nejlepe ocenit vykon predikcniho systemu (cost functions - MSE, NMSE, DS)
obchodováním systému po dobu několika měsíců nebo uskutečněním více jak 1000 obchodů [/ital]
Opet, bavime se o predikcnim systemu, ne o obchodnim.

[ital]
Celkově k tématu - buďte si vědom jednoho - velké fondy a banky mají prakticky neomezené finance na to koupit si nejlepší programátory a mozky. Mají k dispozici nejlepší techniku a přesto většina toho, co z jejich "laboratoří" vyleze, v praxi selhává. Většinou to dopadá tak, že exekuce jsou pak založeny na rozhodnutí daného obchodníka a systémy jim pouze poskytují "základnu", podle které se orientují, s tím že obchodují prakticky ty nejjednodušší věci, které pro vás možná nejsou vůbec zajímavé.
Všechny ty šílenosti, které studujete, vám dají možná dobrý pocit, že jste to vzal takříkajíc "vědecky", ale samy o sobě profitabilitu zřejmě nezajistí. Možná ano, ale pravděpodobně asi ne. Každopádně držím palce, protože i takové tradery jako jste vy trh potřebuje. Víte jak by to vypadalo, kdyby všichni obchodovali CCI a MA crossover? :D
[/ital]
Ano, mate pravdu. Nicmene jine moznosti, jak se pokusit sestavit dlouhodobe profitabilni mechanicky system, nevidim, a manualni obchodovani me nezajima, proto se vydavam touto cestou.

Link to comment
Sdílet pomocí služby

Tak se snažim probrat tím pdf z svms.org a vzhledem k tomu, že má angličtina i matematické znalosti jsou mizerné tak sem přepíšu jak jsem to pobral.
V podstatě jsem to pochopil tak, že se bude jednat o neuronovou sít, která si speciálním způsobem vyhodnotí chybu predikce při procesu učení a následné adaptaci při online predikci?

Výpočet chyby by měly řešit první 3 vzorce. Trénovací množina: G={xi,di}
(1)
y = f(x) = w*fí(x)+b, připomíná mi to lineární regresi, ale vzhledem k tomu, že je tam funkce fí(x) tak to zřejmě nebude ono...
Tipnul bych si, že w je chyba predikce a y je náš odhad.
Potom chybu w spocitam w=(y/fí(x))-b, kde b je konstanta, kterou netuším kde zjistím a co dělá funkce fí s tím x je také záhadou.

(3)
L(d,y) = abs(y-d)-epsilon pokud abs(y-d) >= epsilon; pro ostatní je to 0
kde d je požadovaná hodnota z trenovací množiny a y je predikovaná hodnota a epsilon je prahová citlovost na danou chybu jednoduše pokud epsilon nepřesáhne danou hodnotu tak počítáme s nulou

(2)
je pruměr chyb L a w
Rswm(C) = C*(Avg (L(di,yi)+(abs(w)^2)/2) )
Dle čeho zvolím C?

Toto vysvětlení mi připadá dost podivné, ale kdyby ne tak proč se chyba nepočítá klasicky: w^2 = (realna cena - predikovana cena)^2 ?
Jedinou výhodu, kterou tam vidím je, že pokud se sít zmýlí více než povoluje epsilon, tak se započítá i chyba L což by mělo mít větší následek při adaptaci či učení než zaznamenání běžné chyby w.

Prosím, jak to tedy je?





Link to comment
Sdílet pomocí služby

No ja se priznam, ze matematicke detaily na kterych je zalozeny cely SVM (pripadne SVR) jsem nestudoval, ani to neni potreba. SVM ani SVR programovat nebudete, free hotove implementace jsou k dispozici. Chce to znat princip, ale jinak se k tomu da pristupovat klidne jako k blackboxu - SVM jako klasifikacnimu systemu a k SVR jako k nelinearni regresi. Co je podstatne je vedet jak to zhruba funguje pro trivialni pripady - napriklad klasifikace ve 2D a regrese funkce vice promennych, proc se pouzivaji kernel funkce a k cemu je to dobre, jake maji vlastnosti, co znamenaji parametry jako C, ε, gama, atd...

Vyse zminene PDF doporucuju brat jako priklad aplikace SVR na casove rady, neni to moc vhodny tutorial primo na SVM/SVR obecne , daji se najit na netu lepsi...

Neco obecneho o SVM, SVR tady, hlavne kouknout na obrazky:
en.wikipedia.org/wiki/Support_vector_machine
kernelsvm.tripod.com/

Video demonstrujici proc se pouzivaji kernel funkce:
crsouza.blogspot.com/2010/04/kernel-support-vector-machines-for.html

Doporucuju pohrat si s Java demo klikatkem tady:
www.csie.ntu.edu.tw/~cjlin/libsvm/

P.S. K vasemu dotazu -Dle čeho zvolím C? Univerzalni postup neni, musite si rozdelit data na trenovaci a validacni a zkouset ruzne C podle presnosti predikce na validacnich datech (validacni data = data, ktera SVM pri trenovacim procesu nevidelo)

Link to comment
Sdílet pomocí služby

Ahá, no tak to se omlouvám, mám toho poměrně dost a brouzdání po forech beru jako změnu zátěže mozkových buněk jiným směrem, aby si namáhaná část mozku odpočinula... No potřeboval bych silně ECC pro svojí mozkovou RAM :))

Takže zcela zásadně točím kormidlem a naprosto vědomě a důrazně chci poznamenat, že se podle mého hlubokého přesvědčení ubíráte špatným směrem. Mě to trvalo několik let, než jsem si to uvědomil. Neříkám, že mám pravdu a že vaše cesta nemůže vést ke kýženému výsledku, nicméně podle mého hlubokého přesvědčení ideální profitabilní mechanický systém není založen na co nejlepší predikci vývoje trhů, ale na co nejsofistikovanějším subsytému řízení rizik. To co se tady vesměs velmi zjednodušeně probírá jako money management nebo position sizing je něco jako brankář, který vám hlídá bránu, abyste od trhu nedostal gól. Mraky traderů kolem mě, i tady na fóru neustále řeší útočnou formaci, kdy přesně nahrát na vítězný gól, neustále si přehrává předchozí zápasy, snaží se pochopit jak hraje soupeř a přitom nechává své hřiště totálně bez obrany a svojí bránu prázdnou.

A jakoby jim bylo úplně jedno, že protihráč totálně kašle na pravidla, je schopnej na hriště hodit víc míčů aby vás zmátl, nebo míč schovat, aby se pak najednou objevil ve vaší bráně.

Bohužel dobrá obrana něco stojí, tj. vyžaduje větší kapitál, protože s 5000 USD na účtě stojíte bohužel na hřišti totálně beze zbraní a necháváte svojí výhru víceméně na náhodě a na štěstí.

Takže chcete-li dlouhodobě profitabliní model, připravte si cca 100k USD a více, vytvořte řadu modelů, které budou navzájem co nejméně korelované a použijte vhodný position sizing (začal bych s "fixed risk" s vámi zvolenou hodnotou, doporučuji v intervalu 1% - 3%) a věnujte čas místo cizelování vstupů a výstupů "broušením" risk managementu.

Budiž vám povzbuzením, že dlouhodobě profitabilní mechanické systémy existují, mohu to potvrdit.

Link to comment
Sdílet pomocí služby

Děkuji za odpověd a další podklady.
Jinak jsem se chtěl zeptat, jaké proměnné berete do trénovací množiny, kolega co vcelku dost času strávil s rozhodovacími stromy po dlouhem testování skončil pouze s hodnotami dané řady...
Pre-clusteringem myslíte shluknutí podobných průběhů v trénovacích datech a pak trénovat model přímo na určitý shluk?

Ať se daří. H.

Link to comment
Sdílet pomocí služby

S tim rizenim rizika mate pravdu, ale sebelepsi position sizing je vam k nicemu, pokud nemate na trhu aspon minimalni edge (pravdepodobnostni vyhodu). Predikcni systemy nejsou holy grail, jsou proste jeden ze zpusobu jak nalezat nejaky (staci minimalni) edge, na kterym postavite vasi strategii. Nebo predikce pouzijete k vylepseni uz nejake jine, fungujici strategie. Samozrejme soucasti strategie postavene na predikcich musi byt rock-solid money management, aby to cele spravne fungovalo.
Jinak jak jste se zminil o te rade modelu co budou co nejmene korelovane, to je presne muj cil - velke portfolio strategii zalozenych na predikci casovych rad, obchodujici ruzne trhy, kazda strategie s vlastnim preciznim rizenim rizika.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...