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

Diskuze k článku: Trading a genetické algoritmy - otázky a odpovědi


Doporučené příspěvky

HarryX,

takto GA neuvažují. GA prostě jen zkoušejí kombinace. Pokud jim vyloženě "neupřesníme zadání", pak v příkladu výše budou GA zkoušet i možnost PT=550 a BE=800, i když je to nelogické (což GA neví). Ničemu to ale nevadí. Počítač i GA jsou "jen" stroj, takže pokud je to nezbytné nebo žádoucí, podobné věci můžeme počítači upřesnit například modifikací kódu. Pokud se ale v hledaných řešeních budou objevovat i takovéto kombinace, jako ta výše, v principu to naprosto ničemu nevadí. Pokud se taková kombinace vyskytne ve finálním řešení jako nejoptimálnější, tak logicky už z toho víte, že nejlepší je na BE vůbec neposouvat a proto prvek BE úplně ze systému vyhodíte.

Link to comment
Sdílet pomocí služby

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

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Hugos Napsal:

> Popisované postupy a metody však lze využít i levnějším způsobem. V mém Excelu
> sice neotestuju tisíce možných nastavení ale k malým stovkám se dostanu. I tady je možné používat
> rozvíjení úspěšnějších "generací" parametrů a Out-of-sample data načtu poměrně snadno. Na SSD
> disky a hifi software si zatím nechám zajít chuť a budu se těšit na další články na toto téma.

Hmm, jenomže pak jde robustnost do háje. Pravda je prostě ta, že je třeba testovat opravdu kvanta dat, a to v Excelu neuděláš. Tam otestuješ možná tak na ročních datech systém se dvěma klouzavými průměry a jedním dalším indikátorem (což je samozřejmě v pořádku a může to ve finále i fungovat). Ale abys otestoval, řekněme, denní data všech akcií z indexu S&P500 za dobu 10 let, tak to je cca 10*250*500 zavíracích cen, což je hodně přes milión pouze na vstupních datech.

Ty "malé stovky dat" co o nich píšeš jsou k ničemu, tím prostě statistickou výhodu nezískáš. Fakt.

Link to comment
Sdílet pomocí služby

Přeji dobrý den,

i v Excelu jde zpracovat velké objemy dat. Stačí jej "propojit" s datovou tabulkou Access (třeba ...).

Momentálně mám v tabulce OHLC EOD (od 01.01.2001) cca 6000 stock (seznam z FinViz.com), je toho přes 12M záznamů (soubor má kolem 900 MByte). Dotaz typu "vrať kompletní seznam pro ticker, setřiď dle data" na mém 6 let starém šrotu (P4 HT 2.6 GHz/1GByte RAM) je vyplněn za 50 ms. Sekvenční čtení je pak kolem 2000 řádek/s.

S pozdravem kbtm

Link to comment
Sdílet pomocí služby

Jsem také pro další články o GA a to stejně jako MerQury s kombinací Adaptrade Builderu. Například by mě zajímalo na jaké parametry klást důraz jako napříiklad: kolik je optimální počet generací a populací atd. Ovšem je zde plno dalších otázek. Pouze chci říct, že určitě by bylo přínosné zde číst články i na toto téma - GA. (tu)

Link to comment
Sdílet pomocí služby

xzajic:
Máš pravdu, milióny dat neotestuju ale tisíce svíček najednou ano. Ty malé stovky jsem nemyslel na množství dat ale na počet kombinací vstupních parametrů systému. Dat mám samozřejmě víc. Hodnoty parametrů mám na jednom místě a ve vzorcích se přenášejí dál, na samostatném listu se počítají vstupy a podle systému např. ke stejným vstupům různé varianty výstupů. Data je možno načíst zvlášť v jednotném formátu. Vyhodnocování dělám hlavoručně sám - slibná nastavení testuju na více datech a zkouším jejich varianty, zjevné propadáky nechávám být. Není to dokonalé. Je mi jasné, že na profesionální software to nemá ale i tak si myslím, že výsledky jsou slibně a stojí za to v tom pokračovat.

Link to comment
Sdílet pomocí služby

Hugos:
Ahoj, je pravda, že nový excel už umí zpracovat hodně velký množství dat. Každopádně, pokud se tomu opravdu chceš věnovat, pak je pořízení pořádného software jediná rozumná volba. Je to jako pokud potřebuju posekat 1000 metrů čtvereční trávy. Můžu vzít kosu a taky to ručně posekám. A nebo můžu vzít pořádný traktůrek a mám to za zlomek času a ještě mnohem kvalitněji.
Na druhou stranu je moc dobré všechny tyto zautomatizované věci dělat na začátku ručně, protože pak rozumíš i tomu, co se děje na pozadí.

Link to comment
Sdílet pomocí služby

Jen tak na okraj, vsimnul jsem si, ze clovek postizeny jako programator (zahrnuji i sebe :)) tak prvni myslenku kterou pri tradingu ma a dlouho se ho drzi je sestrojit nejaky super AOS :). Asi to nejak mame jako programatori tak pod kuzi vsechno hazet do programovaciho jazyka, ze za to asi ani nemuzeme :) Nicmene jsem zjistil, ze to je brani za spatny konec. Ja osobne jsem to vyresil tak, ze programatorskou touhu jsem zameril jinam a trhy beru jako proste trh. Nehledam v tom kusy kodu, algoritmy, apod. Nicmene vim, ze po letech se k AOS vratim az najdu nejaky smysluplny a nebude zalozen na chaotickych myslenkach :)
Takze z toho vyplyva, ze urcite jsem take pro pokracovani serialu o GA, nejlepe i postupu jak takovy system postavit, cemu se vyhnout, na co si dat pozor, na co se zamerit, s cim neztracet cas. Ano, ja vim, ze na to existuji knizky, ale u knizky proste diskuzi neudelas :)
S tim strachem o chybach v nejakem AOS je to urcite zajimava myslenka. Osobne jsem v tomto taky paranoidni :) Ale rekl bych, ze cest jak tohle eliminovat je urcite mnoho. Ale to uz zalezi na konkretni platforme. Nicmene i o tomto by byl zajimavy clanek :)

D.

Link to comment
Sdílet pomocí služby

Prinacek:
Diky za reakci, urcite mas pravdu. Poradny SW ma moznosti, ktere provizornimi prostredky nemuzu zvladnout. Je tu ale i jiny aspekt. Kdyz si bez zkusenosti poridim super software a hardware v cene srovnatelne s velikosti meho uctu tak tim utopim penize, ktere bych mohl vyuzit na obchodovani. Davam prednost tomu, abych nejprve ziskal vice zkusenosti rucnim obchodovanim a s jednoduchymi AOS. Az ze zisku si zacnu porizovat dalsi nastroje. S vice zkusenostmi take budu lepe vedet, co si poridit.

Link to comment
Sdílet pomocí služby

GA majú to riziko - že majú skvelý názov, ktorý zavádza tým, že vyzerá tajomne, moderne a pôsobí dojmom, že dokáže nejako "prechcať" trh. Podobne tajomne znie algoritmus Neural networks.
GA je len rýchlejšia - optimalizovaná metóda hľadania výsledkov - rýchlejšia ako klasické "Brute force", s tým že môže sa stať, že výsledkom je zakaždým trocha niečo iné a môže sa stať že nenájde najlepšie riešenie, ak je vo generácii, ktorá spočiatku vyzerá neperspektívne alebo úplne zle. GA sa dá napr. využiť na rýchle zostavenie rozvrhu hodín (ktorý učiteľ bude kedy kde a čo učiť s tým, že samozrejme nemôže byť na tom istom mieste dva krát), alebo výborne nájde vzorec funkcie, ktorá prechádza viac alebo menej presne ľubovolne zadanými bodmi na ploche (s minimálnou schopnosťou predikcie ďalšieho bodu).
A takisto výborne nájde najvhodnejšie parametrické nastavenie AOS platné pre testované data vrátane walk forward vyhodnotenia.
V zásade nie je problém pomocou GA nájsť rad na historických dátach dlhodobo profit vykazujúcich AOS, ktoré budú v realite v podstate bezcenné.
(Prinajmenšom v NT výsledky backtestu často nekorelujú s realitou nie že približne, ale vôbec.)
Čím viac vstupných parametrov bude mať GA optimizer k dispozícii, tým ľahšie napasuje výsledné parametre na historickú vzorku dát.
To či GA našlo niečo s prediktívnou schopnosťou, alebo len funkciu platnú pre historické dáta - na to GA neodpovedá.
GA by sa nemalo preceňovať a dá sa celkom ľahko nahradiť obyčajným backtestom.
:)

Link to comment
Sdílet pomocí služby

Pokud by se nam podarilo najit system, ktery bude trvale profitabilni za vsech oklonosti, mame svaty gral a muzeme se rovnou odebrat do pohadky za kralem Artusem. Mnohem snazsi je najit pro konkretni vzorek dat ziskove nastaveni parametru systemu. To ale vetsinou nestaci, protoze byva preoptimalizovane a na dalsim vzorku dat nefuguje. Jako svuj cil vidim nalezt takove nastaveni, u ktereho doufam, ze bude ziskove v nejblizsi budoucnosti a pocitam s tim, ze pozdeji ho upravim podle nejnovejsich dat (=cen).

Pomaha mi predstavit si parametry systemu jako vicerozmerny prostor (pokud jsou 3, jde to snadno). Ziskovost systemu je dana napr. intenzitou barvy v danem miste. V mori parametru se v modre vode ztrat vznasi zlata oblaka planktonu (ziskovych nastaveni). Pokud bych sel na vec hrubou silou, dostanu pro kazdy bod jeho P/L a uvidim uplny obraz. GA zvoli nahodnou skupinu bodu v celem prostoru, ztratova mista opusti a kolem ziskovych se vyda hledat v pristim kroku. Je treba vzit v uvahu i cas. Kdyz vezmu data z jineho obdobi, dostanu v mori skoro jiste jiny obraz. To rozsiruje moji predstavu do podoby pohybliveho filmu plankton nestoji na miste, pohybuje se, nekde mizi a na jinem miste vznika.

Cilem neni najit jednobodovou singularitu, ktera se hned ztrati, ale rozsahlejsi oblast, ktera vykazuje dobre vysledky i ve svem okoli. Robustni system predstavuje takove misto, kde se plankton vyskytuje po vetsinu doby
:)

Link to comment
Sdílet pomocí služby

Hugos:

Přesně tak. To jsou místa, kterým se říká globální optima (opakem jsou lokální optima). A v tom je další síla GA: v principu hledají mezi globálním optimem, nikoliv lokálním. Zatím co klasická brute force technika je daleko snáze náchylná k lokálním optimům. GA tedy v tomto ohledu pomáhá robustnosti.

BobSK:

Je to váš názor, který vám neberu. Mé zkušenosti po roce a čtvrt s GA (velmi intenzivně se této problematice věnuji) jsou odlišné. Rozhodně jsem nedošel do stádia, kdy bych řekl, že GA je možné nahradit obyčejným backtestem. Právě naopak, vzhledem k pomalosti a časové neefektivnosti jsem došel k závěru, že obyčejný backtest potřebuji nahradit něčím, co mně umožní optimalizovat čas. To je jeden z benefitů GA. Další v řadě jsem začal objevovat postupem času. Oproti tomu zcela souhlasím, že neural network v tradingu příliš šance nemají. Ovšem nemá smysl srovnávat je s GA. Jde o něco absolutně odlišného. Ale jak říkám, každý má právo mít na moderní technologie svůj názor.

Link to comment
Sdílet pomocí služby

V zásade s článkom súhlasím, popisujete aj riziká, aj uvádzate, že GA je len optimalizácia hľadania najvýkonnejších parametrov. Taktiež uvádzate že počet parametrov by nemal byť veľký, hoci v teste boli možno už aj také, ktoré smerujú k možnému napasovaniu výsledkov na vstupné dáta. Ak teda počet parametrov nemá byť veľký, a predpokladáme medze v ktorých by mali fungovať, neostáva tých možností na pretestovanie tak veľa. Ak má napr. AOS 10-20 parametrov, a v optimalizácii je optimalizačný rozsah každého parametra veľký, tak GA relatívne rýchlo nájde presne to, čo platí pre historické dáta.
V podstate som reagoval na určité nadšenie, ktoré GA ako tajomná čierna skrinka prináša, hoci GA len redukuje čas optimalizácie. Nič proti GA, je to obdivuhodná vec.

Pri neural networks - videl som aplikácie ktoré riešili ten istý okruh úloh ako GA - pattern recognition, time series prediction, hladanie funkcie popisujuce umiestnenie bodov v ploche a ďalšie - pricom z mojho pohladu NN v tychto ulohach fungovali lepsie ako GA - mierne lepsi vysledok, porovnatelny alebo lepsi cas.

BobSk
-

tomnes Napsal:
-------------------------------------------------------

>
> Je to váš názor, který vám neberu. Mé zkušenosti
> po roce a čtvrt s GA (velmi intenzivně se této
> problematice věnuji) jsou odlišné. Rozhodně jsem
> nedošel do stádia, kdy bych řekl, že GA je možné
> nahradit obyčejným backtestem. Právě naopak,
> vzhledem k pomalosti a časové neefektivnosti jsem
> došel k závěru, že obyčejný backtest potřebuji
> nahradit něčím, co mně umožní optimalizovat čas.
> To je jeden z benefitů GA. Další v řadě jsem začal
> objevovat postupem času. Oproti tomu zcela
> souhlasím, že neural network v tradingu příliš
> šance nemají. Ovšem nemá smysl srovnávat je s GA.
> Jde o něco absolutně odlišného. Ale jak říkám,
> každý má právo mít na moderní technologie svůj
> názor.
>
> Tomáš
> FINANCNIK.CZ
>
> "Chceš-li uspět, musíš myslet jinak."


Link to comment
Sdílet pomocí služby

BobSk,

ano, souhlasím, každý nástroj je třeba brát převážně pragmaticky a s rozvahou, ale především vybudovat si s daným nástrojem určitou zkušenost. Dojít k přeoptimalizaci skrze GA je určitě snadnější, než se zdá. Důsledná procedura za účelem minimalizovat pravděpodobnost přeoptimalizace by měla být součástí každého mechanického tradera. Samozřejmě i tak není zaručený výsledek. Ovšem stavba systémů s pomocí GA se v principu neliší od stavby systémů "ručně", proto riziko přeoptimalizace v jakémkoliv ohledu není zde o nic vyšší, než riziko přeoptimalizace u stavby systému "klasickou" cestou.

Link to comment
Sdílet pomocí služby

citujem: tomnes:
[ital]To jsou místa, kterým se říká globální optima (opakem jsou lokální optima). A v tom je další síla GA: v principu hledají mezi globálním optimem, nikoliv lokálním. Zatím co klasická brute force technika je daleko snáze náchylná k lokálním optimům. GA tedy v tomto ohledu pomáhá robustnosti.[/ital]

Je to presne opacne. GA moze kludne uviaznut v lokalnom optime, hlavne pokial su pravdepodobnosti mutacie a krizenia male. Ako moze brute force, ked vyskusam vseky moznosti uviaznut v lokalnom optime?

Link to comment
Sdílet pomocí služby

2bobsk:
nejak se mi moc nepozdava porovnavani GA s NN. Obe jsou to metody zalozene na trochu jinych principech. Zatimco zakladem GA je nalezani optimalnich hodnot pro dany system, principem NN je samoucitelnost. GA neni blackbox, ma presne definovane vystupy, ackoliv zaklad muze (musi) byt nahodny podle pokud mozno co nejrovnomernejsiho rozlozeni hodnot. Cili nam pomaha nalezat optimalni nastaveni, ale je mozno zpetne reprodukovat cestu ke ktere tim GA dosly. Zatimco NN je zalozen striktne na principu mnoziny vzoru. Laicky se receno se NN predlozi vstupy a reknou spravne vystupy a na NN je aby se to naucila. Vysledkem jsou ruzne vahy jednotlivych "neuronu". Pokud je sit spletitejsi, tak se v tom pak ani "prase nevyzna". Sit by pak mela vykazovat dobre vysledky i na jinych vstupech. Kdo se chce vice poucit muze zacit zde (cs.wikipedia.org/wiki/Neuronov%C3%A1_s%C3%AD%C5%A5). Tak jako tak vznikne blackbox, zpravidla se sit uci podle nejvetsich odlisnosti, to co ji prijde zkratka jako nejkontrastnejsi voditko. viz treba poznamka o NN zde (eldar.cz/mozek/mirror/ai.html). Cili treba pro komodity bych mohl udelat to, ze bych vzal prumernou cenu za poslednich 10 baru a cokoliv me napadne, a k tomu rekl ze je to dobry vstup nebo ze to neni dobry vstup. A po case by me mela NN sit generovat signaly typu vstup/nevstup.
Nicmene ikdyz jsem mel moznost NN pouzit ve svem diplomovem projektu, vyhnul jsem se ji a pouzil rozhodovaci strom :) Myslim, ze to jestli to bylo spravne rozhodnuti ci nikoliv dokazal nasledny uspech projektu :) Ale to je mimo tema financnika, to by tady nikoho nezajimalo :)

D.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...