Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Archiv článků Psychologie obchodování Jak na obchodní plán Mé obchodní strategie
  • Autoadaptivní obchodní strategie (1/2)

    Existuje mnoho způsobů, jak se věnovat burzovnímu obchodování. Od jednoduchého obchodní systému typu FinWin (nebo Petrova ještě jednodušší podoba FIMS založená na PA a IM), až po různě složité a komplexní obchodní přístupy. V tradingu v žádném případě neplatí, že složitější rovná se lepší. Naopak, velmi často ty nejjednodušší věci fungují stejně dobře, jako ty komplexní a složité. Přesto bych se i těm složitějším čas od času rád věnoval.

    V dnešním článku se pokusím rámcově uvést problematiku autoadaptivních strategií, což je směr, který považuji za jeden z aktuálních moderních přístupů k obchodování. Rychlý vývoj výpočetní techniky samozřejmě doslova vybízí k jejich maximálnímu využití v oblasti tradingu - autoadaptivní strategie je jedna z mnoha možností.

    Co jsou to autoadaptivní strategie

    Nejprve se koukněme na skutečnost, proč se vůbec autoadaptivními strategiemi zabývat. Hlavní myšlenka vychází ze skutečnosti, že se trhy neustále dynamicky mění a vyvíjí a to v mnoha ohledech. Jako základní atribut neustálé změny můžeme vzít například volatilitu. Zažíváme měsíce / dny / hodiny, kdy jsou trhy velmi volatilní (tj. vytvářejí výrazné pohyby) a naopak kdy je volatilita minimální (trhy jsou "mrtvé", tvoří malé pohyby, potenciál vydělat je značně menší). Autoadaptivní strategie se snaží na takové situace reagovat a měnit parametry strategie tak, aby lépe "pasovaly" na aktuální charakter trhu.

    Jako nejjednodušší model autoadaptivní strategie si například můžeme představit určitý jednoduchý algoritmus, který by neustále sledoval aktuální volatilitu a dle toho automaticky měnil hodnoty stop-lossů a profit-targetů. Je jasné, že ve velmi volatilních trzích je třeba náš stop-loss i profit-target zvětšit, v méně volatilních naopak adekvátně zmenšit, případně zvýšit počet kontraktů (abychom stále mohli vydělávat rozumné peníze, i když se trhy hýbou méně, než obvykle). Svým způsobem se za naprosto základní autoadaptivní strategii dá počítat už to, že své stop-lossy a profit-targety (ale i počet obchodovaných kontraktů) budete vypočítávat s pomocí nejjednoduššího indikátoru volatility ATR (Average True Range). Můžeme si například říci, že náš stop-loss bude vždy 20x větší, než aktuální hodnota ATR v momentě vstupu. Pokud budou trhy v období nízké volatility, řekněme s hodnotou ATR na vstupu = 10, pak náš stop-loss bude 200 USD. Pokud se prudce zvýší volatilita na úroveň ATR = 30, náš stop-loss bude rázem 600 USD. Bude tedy docházet k neustálému přizpůsobování stop-lossu aktuálnímu charakteru trhů. Samozřejmě, dojít ke správnému násobku ATR, který budeme používat, je otázkou širšího testování a experimentování - hodnota bude také různá u různých trhů a časových rámců.

    Pokud však opomeneme tento zcela základní (jinak velmi silný a funkční) model autoadaptivní strategie, začneme se dostávat do daleko širší a složitější oblasti.

    Další možnost využití autoadaptivních strategií spočívá totiž v určité optimalizaci v "reálném čase". Řekněme, že například obchodujeme jednoduchý systém, založený na křížení klouzavých průměrů. Pokud jste kdy zkoušeli takový systém testovat, pak víte, že některé období fungují určité periody klouzavých průměrů a jiné období zase zcela odlišné periody. Autoadaptivní strategie se tak snaží v rámci určitého, jasně definovaného časového okamžiku zjišťovat, jaké periody klouzavých průměrů právě fungují v daném trhu - a takové také do trhu nasadit. Autoadaptivní strategie se tedy parametry systému snaží neustále adaptivně přizpůsobovat aktuálnímu charakteru trhu - a tak pokud možno snižovat drawdowny a maximalizovat profit.

    Nejkomplexnější využití autoadaptivních strategií pak probíhá na ještě větší úrovni, kdy se super computery (takové, které mají jen skutečně obří hráči) snaží trhu adaptivně přizpůsobovat rychlými a dynamickými změnami celých strategií. To znamená, že výkonný počítač může sledovat v jeden moment obrovské množství různých obchodních strategií a jednotlivé strategie dynamicky "přepínat" tak, jak se právě mění trh. Samozřejmě, klíčem je mít algoritmus, který reaguje na změny adekvátně a vybírá ty "správné" strategie - a takový rozhodně není jednoduchý nalézt.

    Využití autoadaptivních strategií pak ještě umocňuje existence genetických algoritmů a genetického programování, kdy super výkonné počítače nejenom vybírají adekvátní strategie pro aktuální charakter trhu, ale přímo v reálném čase takové obchodní systémy staví. Ještě nedávno něco podobného znělo jako sci-fi, ale zkuste si představit program typu AdaptradeBuilder nasazený na ultra výkonném počítači a je jasné, že nic podobného není nemožné. I tento program určený běžnému uživateli by dokázal na 5-minutových grafech generovat nové obchodní systémy (včetně OOS testování) v rámci desítek vteřin, pokud by mu bylo "nabídnuto" dostatečné množství výpočetních jader a paměti.

    Jak na autoadaptivní strategie prakticky

    Pokud nejste vyloženě velmi zruční programátoři, nebo alespoň nespolupracujete s někým, kdo takový je, a pokud nejste do podobných "komplikovaností" vyloženě fanatici, pak nejjednodušší způsob, jak přidat do svého mechanického obchodování "autoadaptivní" (ale spíše jen "adaptivní", neboť bude třeba částečně "ruční" práce) složku, je využití WalkForward optimalizace (WFO).

    V podstatě se jedná o velmi jednoduchý přístup, kdy váš systém nasadíte na data, která rozdělíte na určité množství úseků, například 10.

    Každý tento menší úsek pak ještě rozdělíte na in-sample (optimalizační) data a out-of-sample (ověřovací data) a to například tak, že jako IS využijete 80% dat a jako OOS využijete 20% dat. Po té necháte vždy systém optimalizovat na IS datech daného úseku a následně optimalizaci ověříte na OOS datech. Toto provedete celkem 10x (pokud jste veškerá data rozdělili na 10 úseků) a máte tak představu, jak by se daný systém choval, pokud byste prováděli pravidelnou reoptimalizaci. Testováním rozdělení dat na více úseků se pak můžete dopátrat toho, zda je lepší systém reoptimalizovat například každý měsíc, každý kvartál, každý rok, atd.

    Celý proces můžete maximálně zjednodušit například s programem MultiCharts, který již v sobě obsahuje nástroj k WalkForwadr optimalizaci - celý proces je tedy poměrně jednoduchý, intuitivní a rychlý. S pomocí WFO zjistíte, jak často je optimální vaší strategii reoptimalizovat - a pak už si pouze odpočítáváte dny do momentu, kdy provedete novou optimalizaci vašeho mechanického systému, tj. takovou optimalizaci, která bude sedět aktuálním trhům. Tím se stanou v rámci možností běžného uživatele vaše mechanické systémy do značné míry autoadaptivní (resp. adaptivní, neboť změnu parametrů budete muset provést ručně).

    WFO_MultiCharts.jpg

    Ukázka WalkForward optimalizace v programu MultiCharts. Žlutě označený sloupeček ukazuje, jak by daná strategie v minulosti fungovala, pokud bychom jí reoptimalizovali každých 400 úseček.

    Aplikace v diskréčním obchodování

    Jak už jsem naznačil, určitý autoadaptivní přístup se dá velmi dobře aplikovat i v běžném diskréčním obchodování, například s použitím násobku ATR pro stanovení stop-lossů, profit-targetů, nebo množství obchodovaných kontraktů. Ještě jednodušší přístup může být ten, že si zobrazíte ATR pouze na denním grafu a profit-targety i stop-lossy zkusíte ve svém backtestu optimalizovat dle volatility v rámci určitých časových úseků. Můžete si například na denním grafu rozdělit volatilitu do 3 pásem (využít lze i implied volatility) a zkusit si udělat backtest, jaké by byly ideální stop-lossy a profit-targety například pro systém FinWin v době, kdy se volatilita nacházela v každé z třetin. Tím můžete mít lepší vodítka k tomu, jak a kdy zhruba upravovat hodnoty stop-lossů a profit-targetů. Je to sice velmi jednoduchý přístup, ale určitou adaptivní složku v sobě již zahrnuje.

    volatility-autoadoptivni-strategie.jpg

    Rozdělení volatility (Implied Volatility) na denním grafu do několika zón (na obrázku 3 zóny) nám může pomoci v backtestu určit, jaké stop-lossy a profit-targety nejlépe fungují pro různé fáze volatility trhu.

    Závěr

    Práce na autoadaptivních strategiích je určitě věda, přesto i běžný uživatel má šanci vytvořit zajímavé přístupy, pokud má k tomu správné nástroje. Určitě se však jedná o cestu, která je často i finančně náročná - vyžaduje jak kvalitní hardware, tak kvalitní software. Osobně některé mechanické obchodní systémy adoptivně směřované mám, a to tak, že využívám WalkForward optimalizaci k pravidelné reoptimalizaci. K určení přesné doby pravidelné reoptimalizace pak používám další sofistikované nástroje.

    Určitou velmi primitivní "autoadaptivní" složku využívám i v rámci statistických arbitráží - zde ale skutečně velmi jednoduše a čistě diskréčně. Zkrátka a dobře, pokud vidím, že některý z párů v rámci své equity ztrácí "momentum", nahradím takový pár jiným, u něhož právě equity určité momentum vykazuje (i proto nechávám počítač neustále hledat a testovat nové akciové páry).

    Příští týden se budu autoadaptivním strategiím věnovat ještě jednou a to v rozhovoru s Martinem Lembákem, který má sám s autoadaptivními strategiemi řadu zkušeností.

    31.7.2011

    Tomáš Nesnídal


    Sdílíme, co nám samotným funguje.
    7 výukových lekcí.

    Jak reálně uspět v tradingu?

    Naučte se vydělávat na své sny (naše metody na Finančník.cz)

    Praktický návod, jak v trzích získat šanci vydělávat stovky tisíc až miliony dolarů ročně bez vlastního kapitálu a nutností trávit denně hodiny před počítači (bez práce to ale nepůjde).

    >> Získat kurz zdarma <<
×
×
  • Vytvořit...