Jump to content
Co nového? Mé kurzy
Komunita:
Hledat v
  • Více možností...
Najít obsah, který ...
Hledat výsledky v ...
Diskuze Sledované příspěvky Žebříčky

Diskuze k článku: Genetické algoritmy: K čemu jsou pro trading dobré?


Doporučené příspěvky

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

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Dobrý den,
chtěl bych se zeptat, jak se dají v komoditních trzích vizuálně na grafu rozpoznat AOSy s GA?
Také jak tyto vypadají ve FOREX trzích?
Jak je to s časovým spožděním?
Mluvím za začátečníky, pokud by někdo ze zkušených mohl vložit nějakou šikovnou situaci z trhu a trochu ji popsat byli bychonm rádi.
Předem děkuju
a přeju dobré obchody

Adresa příspěvku
Sdílet pomocí služby

Dejvid,

GA je možné obecně použít pro cokoliv. Naprosto běžné použití je například hledání patternů mezi candle. GA mohou hledat mezi miliardami kombinaci a přicházet s úplně novými kombinacemi na svýčkovém grafu - vše za zlomek času.

Neb,

GA je nástroj, který STAVÍ AOS. Tj. na konci je AOS, který vypadá jako jakýkoliv jiný. Nepoznáte, zda vznikl 5ti měsíční "ruční" prací, nebo 2denní prací GA. Upřímně na Forex trzích dnes nemáte jinou možnost, jak stavět AOS. FX jsou natolik saturované systémy a na tolik nestabilní, že potřebujete mnohem komplexnější systémy, pokud chcete na FX trzích přežít. A komplexnější systémy nepostavíte bez GA. Jeden můj známý vlastní FX fond v Singapuru. Systém postavil s pomocí GA, avšak systém pracuje se 3mi různými timeframe současně - jen si představte optimalizovat skrze 3 různé timeframe současně klasickou brute force metodou. Nemožné!

Adresa příspěvku
Sdílet pomocí služby

nerozumím, proč se autoři těchto jinak docela drahých software vyhýbají využití vícejádrových CPU, když to "umí" skoro každá druhá hra. Jinak díky za úvod do problematiky, je to moc zajímavé. Těším se na pokračování a případně ukázku nějakých výsledků (tu)

Adresa příspěvku
Sdílet pomocí služby

Když si vzpomenu na diskuze Tomáše před lety, jak zvrhoval AOSy, tak je hezké sledovat změnu názoru :). Což pro mě znamená, že se můžeme učit zase něčemu novému.
Článek na mě ovšem místy působil dojmem, že kdo GA nepoužívá, tak v podstatě nemá šanci si vytvořit nějaký svůj OS, natož AOS. Šanci podle mě jistě má.
Tomáš napsal:
[ital]Řekněme, že například ovšem budete chtít otestovat celkem 5 klouzavých průměrů, každý z nich s možností 50 různých nastavení periody (např. perioda 1-50). To znamená, že už zde existuje 50x50x50x50x50 =cca 300 miliónů možností. Pokud přidáme výstupy, SL, PT, apod., velmi jednoduše se dostaneme na desítky miliard možností...[/ital]

Lze to i jednodušeji. Například za sebe mohu sdělit, že jsem si chtěl vytvořit AOS na obyčejném křížení cenového grafu s MACD. Koupil jsem si data za 3 roky zpátky - RUT. Pustil jsem Sierru, nastavil indikátor MACD, a několik desítek minut jsem si hrál s nastavením MACD tak dlouho, až se mi to vyzuálně líbilo podle mých představ. Tak jsem postoupil do další fáze. Dva večery, asi do dvou do rána, jsem si v Excelu tvořil program. A třetí večer jsem do Excelu nahrál ty 3 roky koupených dat, a během několika hodin jsem to doladil k mé spokojenosti. Takže jsem vymyslel nějaké parametry (SL, PT a další) a začal jsem testovat periodu. Nastavil jsem si hodnoty, které jsem vymyslel ve Sierre a postupně to dolaďoval. Není nutné zadávat třeba SL od 20 do 150 po jednom. Zkusím to po 10 a v oblasti, kde to vychází nejlépe, jdu terpve do větší hloubky. A tak dále s ostatnímy parametry. Takže miliony kombinací odpadá.

Abych to zkrátil. Měl jsem vymyšlený svůj OS za tři večery. Pak už jenom stačí udělat nějaký MM, další backtesty, případná úprava, pak paper, live - prostě postup který už všichni známe.
Takže, aby to v "zápalu boje za GA" nevyznělo tak, že bez GA už není šance, tak tímto chci připomenout, že šance je také. Vďyť i Tomáš s Petrem celá léta vše vymýšleli bez GA.

Adresa příspěvku
Sdílet pomocí služby

Atari,

ano, za poslední rok jsem v tomto ohledu změnil výrazně pohled, jak jsem psal, začalo to pozitivní zkušeností se statistickými arbitrážemi.

Co se týče vašeho přístupu k budování AOS: ano, samozřejmě tímto stylem mohou výrazně snížit "solution space" a možnosti se radikálně snižují.
Problémů tu vidím ale více.
V prvé řadě nepíšete, zda jste provedlo OOS ověření.
Další věc je, že ani jedno OOS ověření nestačí. Může jít o náhodu. V podstatě musíte provést WalkForward Optimalizaci, kdy si rozdělíte data například na 10 dílků a každý dílek na IS + OOS. Celkem 10x optimalizujete a ověřujete na OOS, můžete využít jak ukotvenou, tak plovoucí metodu - je dobré obě porovnat.
Pokud tento proces neprovedete, pak v podstatě neověříte tezi, že váš systém produkuje opakovaně pozitivní výsledky OOS. Důležité je OPAKOVANĚ, protože jedno pozitivní OOS není ověření teze, může to být náhoda. A tuto tezi neověříte bez WalkForward Optimalizace. Budete se divit, kolik jednoduchých myšlenek tuto tezi nepotvrdilo. Klouzavé průměry jsou typický příklad. Jsem schopen vyprodukovat jeden pozitivní OOS výsledek, ale opakovaně často již nikoliv.

Jak jsem naznačoval v článku, problematika je mnohem komplexnější, než se na začátek zdá. Buďto můžeme zvolit cestu jako vy a "doufat" - určitě netvrdím, že není možné po nějaký čas vytvářet pozitivní výsledky, já bych ale tímto směrem nešel. Nebo můžete zvolit profesionální přístup a místo doufání ověřit robustnost z mnoha úhlů. Pak samozřejmě krom GA potřebujete i další nástroje, ale GA celou práci stále výrazně urychlují. Například Grail vytváří WF optimalizaci také s pomocí GA, takže zde porovnání Sierra a Excel vs. GA je již neporovnatelné. S dobrým nástrojem a GA provedu WFO do 48 hodin (mé reálné nasazení je 2 hod., zbytek odpracuje počítač), se Sierra + Excel 10x to, co píšete, tj. 10x 3 večery - ale velmi pravděpodobně ještě podstatně déle. Čas se začíná radikálně sčítat.

Tím jsem ale neskončili. Další věcí je, jak víte, kdy systém vypnout - pokud pracujete postupem, který jste naznačil? To je další výhoda WalkForward Optimalizace: pokud provedete opakované WFO, máte k dispozici minimálně 10 OOS běhů pro porovnání. Takže víte, co se během OOS běhu může stát a v jaké konkrétní časové periodě. Tím máte podklady pro vytvoření kvalitního Risk Profile, který vám lépe ukáže, zda v aktuální OOS periodě se systém chová "standardně", nebo zda se jeho životnost může blížit ke konci.

To vše jsou ale věci, který by vydaly na další články. Pokud bude zájem, samozřejmě mohu napsat. Pointa je ta, že systémy AOS si dnes může vytvářet každý "kutil" doma na notebooku, otázka ale je, zda volí postupy, které prokazují abnormální robustnost (trhy jsou díky saturaci mnoha AOS velmi nestabilní, takže výrazná robustnost je klíčový faktor). Takové postupy jsou časově náročné a bez GA je prakticky nemožné je dělat, tedy pokud člověk chce být dostatečně časově efektivní.

Takže ano, váš postup je v pořádku, otázka je, jak je výsledek konkurence schopný, zda jsem provedl dostatečné měření k tomu, abych byl schopen říci, že "ano" a zda mám dostatečně vytvořený risk-profile pro případ, že jsem se spletl, konkurenční AOS v trhu jsou lepší a můj brzy po nasazení "umře".

Adresa příspěvku
Sdílet pomocí služby

tomnes:
Naprosto souhlasím (máte spoustu zkušeností, a nedovolím si je zpochybňovat).
Jenom jsem uvedl svoji zkušenost mého "trochu naivního" plánu, že po kurzu u Vás, si napíšu AOS a "bude to vydělávat za mně samo". Pak jsem dospěl k názoru, že to co jsem vytvořil, vezmu jako základ pro vytvoření (doladění) intradenního systému, který budu ručně obchodovat.
Nejsem kompetentní tvrdit, že tímto mým popsaným způsobem. lze vytvořit nějaký smysluplný AOS (já se to ani nepokusil nějak dotáhnout do konce ve formě AOSu). Jen jsem chtěl dát myšlenku, že lze také vytvářet OS (který například budu poctivě ručně obchodovat) trochu jednudušeji, než pomocí GA.
Trochu mě v článku "vyděsily" ty miliony (miliardy) kombinací, a vnuklo mi to myšlenku, že se bez GA již nikdo neobejde. Sice chápu, že ty miliony kombinací jsou v tomto článku myšleny pro vývoj AOSů, ale tak automaticky mě to vyznělo i pro ruční OS. Takže pro to můj příspěvěk, aby zbytečně někoho neodradil od vývoje ručního OS.

Jinak já plánuji využití GA v horizontu až příštích let, takže toto téma pečlivě sleduji, [bold] a děkuji za ně. (tu)[/bold]

Adresa příspěvku
Sdílet pomocí služby

Atari,

pokud takto stavíte "diskréční" systém, tj. uděláte automatický test a ten použijete jako základ pro stavbu diskréčního plánu, tak je to samozřejmě v pořádku a v minulosti jsme s Petrem též postupovali podobně - tj. mnoho dílčích věcí si takto počítačově ověřovali. Takže proti takovému workflow rozhodně nic nemám.

GA samozřejmě nejsou Svatý grál, to netvrdím. Jde spíše o to, že konkurence v oblasti AOS je poměrně tvrdá a člověk už musí brát v potaz i to, s jakými nástroji pracuje. Nedělám si iluze, že velké fondy už jsou zase o několik let dále a že mé aktuální řešení GA + WFO zase oni mohou vidět jako "zastaralé". To ale bohužel ještě více potvrzuje fakt, že klasická stavba AOS s bruteforce metodou v Genesis, MetaTrader, apod., je dnes už za zenitem. Snažím se co nejvíce sledovat moderní vývoj v této oblasti a proto tvrdím, že dnes je třeba dvojí:

1) buďto vyspělá technologie typu GA,
2) nebo velmi jednoduchý a velmi silný nápad, prokazující robustnost (takový je skutečně stále možné postavit i s jednoduchými nástroji),
3) jako nejlepší však vidím kombinaci obojího ;)

Přeji hodně štěstí,

Adresa příspěvku
Sdílet pomocí služby

Zdravím,

já se rozhodně připojuji k Pavlovi.K a také bych uvítal na toto téma více článků!
Například i nějaké ukázky základního nastavení např. v adaptrade-builderu (aby to mělo hlavu a patu - proč takto atd.).

Pokud se mohu zeptat Tomáše nevíte, kdy se může očekávat (datum) nová verze Adaptrade-builderu? Sám jsem byl zvědav jestli bude podpora multi-core a jestli bude program umět předělat kód do NT a bylo mi odpovězeno, že ano (je tomu tak měsíc co jsem se ptal). Bohužel mi ale nebylo sděleno kdy. Tak pokud již víte nějaké další informace tak se je rád zde dozvím :)

Předem díky za články :) (tu)

Adresa příspěvku
Sdílet pomocí služby

Jen pár poznámek ke článku pro méně zkušené uživatele NinjaTraderu: NT umožňuje kromě klasické optimalizace (ikona O) také walkforward optimalizaci (ikona W) v horní části okna File / New/ Strategy Analyzer U klasické optimalizace i walkforward optimalizace si můžete sami zvolit metodu optimalizace, a to buď „Default“ tj. hrubou silou (brute-force) nebo metodu „Genetic“ optimizer viz přiložený obr. 1. Pokud by vám nevyhovoval interní genetický optimizér, můžete si napsat vlastní nebo se po nějakém genetickém optimizeru pro NT porozhlédnout na webu (třeba na BigMike). Dále tvrzení v článku: ---„Zatím co u klasické brute force metody se vždy optimalizuje s ohledem na Net Profit, v případě použití GA můžete počítači říci, že například chcete hledat jenom taková řešení, která nabízejí maximální profit při minimálním drawdownu“ --- je naprosto nesmyslné. Není žádná souvislost mezi použitou metodou brute force / genetic a zvoleným optimalizačním kritériem (profit faktor / net profit / ....). V NT si můžete vybrat z několika přednastavených optimalizačních kritérií viz obr. 2. Komu to nestačí, může si velmi jednoduše napsat svoje vlastní kritérium (OpimizationType), které se má optimalizovat (tj. hledat minimum nebo maximum). Jinak, od GO si nic neslibujte. Rychlost je dosažena na úkor počtu prohledávaných kombinací. Zatímco brute-force VŽDY najde globální maximum/minimum (protože projde opravdu VŠECHNY kombinace parametrů, tak u GO NENÍ zaručeno nalezení globálního maxima, pouze lokálního, protože projde jen NĚKTERÉ kombinace parametrů. Jak už to bývá, vždycky je něco za něco. Problém při navrhování systému je ten, že když budete kombinovat dostatečně velký počet proměnných (timeframe, MA, parametry, typy SL, ...) tak téměř vždycky bude existovat nějaká kombinace, která bude dávat extrémně dobré výsledky. Ty ale nebudou způsobeny obejvením nějakého edge, ale budou dílem prosté náhody. Proto pak takový systém nutně selže – buď hned při testu na out-of-sample datech nebo v live. Ani walk-forward vás před tím většinou nezachrání – optimalizace přizpůsobuje systém vždy na minulá data. Jo, a ještě robustnost systému (nalezených parametrů) nesouvisí s použitou optimalizační metodou brute force vs genetic. Optimalizace je jen optimalizace. Pokud na optimalizaci potřebujete víc než jen svoji hlavu (nebo kalkulačku), tak váš systém za nic nestojí a je přeoptimalizovaný. Pokud potřebujete kombinovat tolik proměnných že musíte mít 12 jader, pak je evidentní že nemáte tušení proč by váš systém měl fungovat - a taky fungovat nebude. Žádné zkratky v tomhle neexistují.

15880

15881

Adresa příspěvku
Sdílet pomocí služby

TomTailor,

bližší info bohužel nemám, ale jak znám Mika Bryanta, určitě už na tom tvrdě pracuje :-)

Heron,

zajímavé, to jsem netušil. To je určitě dobré, že NT tuto funkci zavedl a posouvá to nyní možnosti a využití tohoto programu. Myslím, že pro mnohé dobrá zpráva.

Adresa příspěvku
Sdílet pomocí služby

Heron:
zajimavy nazor, ja jsem to pochopil tak ze GO podle typu situace zvoli jisty MM + patern(pokud mame vic) tohle nt atd nezvladnout, takze vyuzity 12 jader je pochopitelne.

ps: muzu vedet jaky je rozdil mezi optimilizaci a run walk forward optimization?

Adresa příspěvku
Sdílet pomocí služby

×
×
  • Vytvořit...

Důležitá informace

Na tomto webu zpracováváme cookies potřebné pro jeho fungování a analytiku, v případě udělení souhlasu také cookies pro účely cílení reklamy.