Edge jménem diverzifikace
Jedním ze zásadních prvků robustního ziskového obchodování je bezesporu diverzifikace. V praxi nejsnadněji dosažitelná pomocí obchodování systémů na více trzích najednou. Pojďme si na konkrétním příkladu ukázat základní prvky diverzifikace tak, jak je sám používám při obchodování komoditních trhů.
Cílem článku je především demonstrovat, jak některé velmi jednoduché přístupy představují v trzích často až překvapivě robustní řešení. Pokud se na ně podíváme správnou optikou.
Předmětem článku tedy není popis konkrétního obchodního systému připraveného pro ostré obchodování. Není tak třeba hlouběji přemýšlet nad použitým kapitálem a množstvím trhů. Samozřejmě, že dané principy lze přizpůsobovat i běžným účtům – například obchodováním menšího počtu trhů, menšího počtu kontraktů, nižšího timeframe a v neposlední řadě obchodování například ETFs místo futures.
Prezentovaný popis je aplikovaný na denní timeframe a lze ho charakterizovat jako swingové obchodování. Nicméně stejné principy fungují i na nižších timeframe, byť zde bývá programování systémů náročnější.
Univerzálně aplikovatelná obchodní myšlenka
Řada traderů se často ve svém obchodním vývoji na dlouho zasekne na tom, že se snaží v trzích objevit „svatý grál“. Logiku, která bude s malým riskem perfektně a dlouhodobě fungovat na zvoleném trhu. Zejména to vnímám v oblasti algoritmického obchodování, ve kterém se obchodníci snaží používat hodně jemné patterny vycházející třeba z popisu diskrečního obchodování.
Pokud jste si touto cestou třeba také prošli a nikam nevedla, zkuste zpočátku tradingu vsadit na některé jednodušší osvědčené principy vycházející z hrubších principů trhů. Ty sice z nikoho s malým kapitálem neudělají boháče přes noc, ale zato je možné s nimi rozumně a dlouhodobě hodnotit kapitál po přiměřených krůčkách a postupně k tomu třeba vyvíjet specializovanější spekulativní strategie, které občas mohou zazářit i s menším kapitálem.
Sám jsem velkým příznivcem jednoduchých a v zásadě neoptimalizovaných řešení. Navíc takových, které budou fungovat na mnoha trzích najednou.
Příkladem může být například vstup na korekci do trendu.
Pro účely tohoto článku použijme nějakou opravdu jednoduchou formu dané myšlenky, kterou je možné snadno algoritmizovat.
Trend můžeme definovat úplně „klasicky“ například pomocí dvou klouzavých průměru s různými periodami. Například uptrend jako situaci, kdy je denní klouzavý průměr 50 nad průměrem s periodou 200. Downtrend pak jako situaci, kdy je krátkodobý průměr pod dlouhodobým.
Jak definovat korekci? Může to být například retest klouzavého průměru. Takový vstup ale neříká nic o tom, jak hluboká korekce je. Rozumnější může být například čekat na pokles o určité velikosti od střednědobých high (pokud jsme v uptrendu) nebo nadechnutí od low (pokud jsme v downtrendu).
A zde přichází na řadu první důležitý bod – abychom mohli přístup snadno aplikovat na libovolné trhy, je vhodné jakékoliv podmínky popisovat co nejuniverzálněji, což nám umožní například volatilita konkrétního trhu vyjádřená například pomocí ATR.
Vstup do korekce tak může být definován jako vzdálenost vyjádřená násobkem ATR od high (pro long) nebo od low (pro short). Taková logika je aplikovatelná na libovolný trh a není třeba ji přitom jakkoliv upravovat.
Takto mohou vstupy vypadat například na denním grafu trhu NQ:
Co se týče výstupů, tak zejména ze začátku doporučuji je příliš nekomplikovat. V trzích funguje především jednoduchost. Při podobném swingovém obchodování lze použít například profit target s násobkem ATR, překročení nějaké S/R úrovně, posouvaný stop-loss, časový stop-loss atd.
Standardizace volatility
Komoditní trhy jsou různě drahé a volatilní. Nákup a držení jednoho kontraktu v e-mini NQ neznamená pro náš účet to samé jako například nákup a držení kontraktu ropy. V diskrečním obchodování je opravdu náročné obchodovat trhy s různou volatilitou. V případě automatizace to však není problém, je ale potřeba na různou dravost trhů myslet.
Jeden ze zásadních principů diverzifikace je tak standardizovat risk spojený s obchodováním různých trhů. To lze provádět různými sofistikovanými způsoby. Jeden z těch jednodušších, který často ale zcela dostačuje, spočívá v následujícím postupu:
Nejprve si vypočítám ATR trhu za určitý počet dnů. Většinou pracuji s kratšími periodami, například 5. Tuto hodnotu vynásobím dolarovou hodnotou bodu trhu. Tím dostávám průměrnou, dolarově vyjádřenou hodnotu volatility trhu.
Následně pracuji s tím, že v daném trhu chci otevřít tolik pozic, aby průměrná denní dolarová volatilita trhu představovala například 1 % obchodního účtu.
Řešení to není dokonalé, ale je solidně funkční. Nejen že umožňuje obchodovat více trhů najednou, ale adekvátně také upravuje počet kontraktů v jednom trhu s ohledem na aktuální volatilitu (ve vyšší volatilitě obchoduje méně kontraktů, v nízké více).
Aplikace jednoduchého kódu na více trhů najednou
Pojďme se nyní podívat na sílu diverzifikace v praxi.
Máme naprosto jednoduchou logiku systému, který vstupuje (long i short) na korekcích do směru trendu.
Při aplikaci systému na jednotlivé trhy mohou equity křivky vypadat například takto:
E-mini S&P coby náhodně vybraný zástupce akciových indexů:
Britská libra coby náhodně vybraný zástupce měn:
Sója coby náhodně vybraný zástupce zemědělských komodit:
Ropa coby náhodně vybraný zástupce energetické komodity:
A tak bychom mohli pokračovat dále.
Vidíme, že i tak jednoduchý přístup „nějak“ funguje vesměs na libovolném trhu. Ale výsledky jsou vesměs v praxi spíše neobchodovatelné. Ovšem, co když využijeme diverzifikaci a podívali bychom se, jak by hypotetická výkonnost vypadala na všech běžných komoditách (přes 50 běžně obchodovaných komoditních kontraktů všech kategorií obchodovaných na burze v USA)?
Na první pohled je vidět, že se dostáváme k výrazně zajímavějším výsledkům. Ty navíc neobsahují jiný position sizing než standardizaci volatility (počet kontraktů je tedy stále počítán pouze z počátečního kapitálu, průběžné zisky nejsou reinvestovány).
Systém obchoduje long i short a pro jednotlivé trhy není jakkoliv optimalizován. Přesto má hodně stabilní průběh za celou sledovanou historii. Stabilita je dosažena právě pomocí diverzifikace.
Znovu je třeba podtrhnout, že prezentovaný princip má ještě dlouhou cestu k možnému nasazení do obchodování. Například zde jakkoliv není řešen risk management z pohledu celého portfolia, adekvátnost risku na pozici, průběžné využívání kapitálu atd. Také je slepě aplikován na všechny US komodity, které mám v databázi bez ohledu na fakt, že některé trhy spolu silně korelují. Je to skutečně jen velmi orientační backtest (který ale mj. zahrnuje už i komise).
Nabízí ale otázku zdali:
- Je vhodnější snažit se za každou cenu „pilovat“ systém pro jediný trh, což velmi snadno vede k přeoptimalizaci.
- Nebo použít jednoduché principy a pozornost zaměřit více na řízení portfolia. V našem případě tak například dále věnovat pozornost výběru trhů na základě korelací, aplikování risk managementu na úrovni portfolia atd.
Patrně nemusím zdůrazňovat, že sám v algoritmickém obchodování postupuji především druhou cestou – tedy strategie stavím více s ohledem na fungování v portfoliu. Sami vidíte, jaký edge pak „automaticky“ poskytuje diverzifikace.
Princip diverzifikace funguje i v diskrečním obchodování, byť zde je výrazně náročnější. Sám jsem v minulosti měl období, kdy jsem obchodoval více intradenních trhů najedou a prostě se zaměřoval na ty, které byly v daný den dostatečně volatilní. Nicméně s postupujícím věkem a zkušenostmi postupně člověk mění priority ve způsobu využívání času. Dnes je pro mne výrazně efektivnější využívat diverzifikaci v automatizovaných přístupech, které zvládají obchodovat najednou pochopitelně mnohem více trhů a přístupů, než bych kdy byl schopen vyhodnocovat ručně.
Závěrem
Pokud vytváříte programovatelné strategie, doporučuji od začátku připravovat kód tak, aby byl snadno aplikovatelný na jiné trhy. Zejména to znamená nevyužívat fixní konstanty vztahující se k jednomu trhu, ale pracovat například s násobky volatility. Následně pak sledovat, jak by se daný přístup choval při nasazení v portfoliích na nekorelujících trzích. Možná budete z výsledků překvapeni.
Petr Podhajský
Fulltime obchodník věnující se tradingu více než 20 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování: stavba automatizovaných portfolio systémů, které využívá i při správě většího externího kapitálu.