Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Slovník pojmů Seriály Komoditní Manuál Psychologie obchodování
  • Od neúspěšného systému k ziskovému portfoliu (včetně trading simulátoru)

    Jeden z principů, který připomínám začínajícím traderům stále dokola je, že na jednotlivých obchodech příliš nezáleží. A jednotlivé obchody nelze "pilovat" k dokonalosti.

    Důležité

    Trading je business založený na dlouhodobých pravděpodobnostech a pravděpodobnosti přicházejí ve spojení s konkrétním riskem.

    Vím, že mnoho začínajících obchodníků má pocit, že vztah mezi pravděpodobností a riskem mohou ovlivňovat svými schopnostmi. Tedy například, že se naučí vyhledávat jednoduché cenové patterny s vysokou úspěšností a vysokým poměrem průměrného zisku na občasné ztráty. To je ale typický příklad kognitivního zkreslení, kterým se všichni více či méně necháváme ovlivňovat. Jedním z nejznámějších kognitivních zkreslení spojených s přílišnou sebedůvěrou je "overconfidence bias" (zkreslení přehnané sebedůvěry). To vede zejména začínající obchodníky k přecenění vlastních schopností, dovedností nebo informací. V kontextu tradingu může tento jev vést k rozhodování na základě nedostatečných nebo nesprávných informací, protože obchodník si myslí, že ví víc, než ve skutečnosti ví. Například trader může přecenit svou schopnost předpovědět pohyb trhu, a může tak podstupovat zbytečná rizika. Třeba proto, že z příspěvků na sociálních sítí má pocit, že to „musí jít“.

    Jednoduše řečeno – některé věci v tradingu kontrolovat můžeme, jiné nikoliv.

    Jednou z oblastí, kterou v tradingu kontrolovat nemůžeme, je výrazné zvyšování výkonnosti běžných obchodních přístupů, aniž bychom nezvyšovali risk.

    Sám obchoduji mnoho strategií. Mám rád například swingové mean reversion akciové strategie. Obchoduji je ale prakticky v té nejjednodušší možné podobě. Protože vím, že v reálném světě není cesta, jak zvýšit jejich výkonnost například 5x, aniž bych podstatným způsobem nezvyšoval risk (a to třeba skrytou cestou, kterou neuvidím v backtestu, protože testy vedoucí k podobné výkonnosti budou jednodušše přeoptimalizované).

    Výkonnost proto vždy posuzuji ve vztahu k risku. Metrik, jak to dělat, je celá řada. Osobně používám sharpe ratio. To velmi stručně řečeno udává poměr průměrné výkonnosti k průměrnému risku a opravdu hodně volně bychom mohli říct, že strategie se sharpe ratio 1 může mít průměrnou výkonnost například 20 % při max. drawdownu také cca 20 %, nebo 10 % při max. drawdownu také 10 % (sharpe ratio v praxi nepracuje s drawdownem, ale volatilitou výnosů).

    Strategie, které živě obchoduji, mají sharpe ratio někde mezi 0,5-1,5.

    Začínající obchodníci často hledají strategie, které budou mít sharpe ratio „v nebesích“ – například doufají v průměrné zhodnocení 100 % při maximálním drawdownu 5 %. To je upřímně s běžně dostupnými strategiemi naprosto nereálné.

    A čas v trzích vás naučí, že ani nemá smysl se pokoušet podobným směrem strategie posouvat.

    Cesta, jak výkonnost zvyšovat, je diverzifikace v rámci portfolií.

    Tím, že budete postupně obchodovat více nekorelujících strategií, zachováte jejich výkonnost, ale celkový risk bude klesat. Sharpe ratio se bude zvyšovat.

     Velmi dobře to v krátkém videu vysvětluje Ray Dalio (americký miliardář a významný hedge fund manager):

    Ray Dalio prezentuje svatý gral v tradingu - diverzifikaci

    https://www.youtube.com/watch?v=Nu4lHaSh7D4

    Ray ukazuje, že to, co ovlivňuje celkový risk našeho obchodování, je počet systémů (nebo zdrojů příjmů) a jejich korelace.

    To je mentální posun, který je potřeba si v tradingu osvojit. Je potřeba odpoutat pozornost od jednotlivých obchodů  a začít přemýšlet o systémech pracujících v celku.

    Na první pohled to nemusí vypadat složitě. Ale úplně snadné to není. Je potřeba vytvořit workflow, které zajistí, že jednotlivé systémy spolu dobře fungují, že se příkazy zadávají bez chyb, že dokážeme vše spolehlivě vyhodnocovat a podobně. Rozhodně to ale není nepřekonatelné. Podstatné je, do jaké oblasti trader zaměřuje svoji pozornost.

    V pochopení důležitých a méně důležitých věcí v tradingu mohou pomoct také simulace.

    Na Google Colabu s vámi sdílím svůj python simulátor náhodného obchodování.

    Naleznete jej na této adrese:

    https://colab.research.google.com/drive/1eLZr0-UuCx6srHLkF4QM0L_1LB5XvnzT?usp=sharing

    Skript si uložte na svůj Google Drive a můžete jej spustit černou šipkou v záhlaví. Pak stačí vyplnit příslušná políčka a kliknout na „Spočítej“:

    Nastavení portfolio simulátoru na Colabu. Je potřeba nejprve kliknout na šipku v černém kolečku a následně na tlačítko "Spočitej"

    Prostředí je jednoduché. Skript generuje hypotetické systémy podle zadaných parametrů. Průměrný roční výnos 0,2 říká, že generujeme systém průměrně generující 20 % p.a. Pak je důležitá roční volatilita. Hodnota 0,2 stručně řečeno znamená, že můžeme očekávat drawdown cca 20-30 %. Dále zadáme počet let v simulaci a počet generovaných strategií.

    Klikneme na Spočítej  a dostaneme například podobný graf:

    Jednotlivě, náhodně vygenerované equity křivky.

    Je zde daný počet equity křivek, které jsou vygenerované náhodně, ale s výchozími parametry výnosnosti a risku.

    Některé systémy z principu vydělávají více, jiné méně. Pod tabulkou naleznete základní pohled na výnos a risk:

    CAGR mean: 21,13 %
    CAGR max: 30,97 %
    CAGR min: -0,69 %
    Drawdown max: 40,15 %
    Drawdown min: 21,95 %
    Drawdown mean: 30,31 %

    Hodnoty se pochopitelně liší s každým během skriptu (křivky jsou generovány náhodně), ale rámcově budou při stejných parametrech vypadat podobně. Zde vidíme, že drawdown systémů se pohyboval v rozmezí 21,95 – 40,15 %. Výnosnost od -0,69 % do 21,13 % (ano, jedna strategie ztrácela podobně, jako se nám to bude dít na živých účtech).

    Všech deset systémů má průměrné zhodnocneí 21,13 % při průměrném drawdownu 30,31 %. To je relativně realistický poměr.

    Pokud ale v živém obchodování budete obchodovat se systémem, který má průměrné zhodnocení 21,13 % při drawdownu 30,31 %, není skutečně způsob, jak snížit drawdown nějakými "pokročilými taktikami" třeba na polovinu.

    Až na jedinou taktiku. Doslova hlavní „svatý grál“ tradingu, který se odehrává na úrovni portfolia.

    Řekněme, že bychom každé strategii přiřadili 1/10 kapitálu (na ukázce pracujeme s 10 strategiemi) a obchodovali je všechny najednou. Výkonnost portfolia by pak vypadala následovně:

    Portfolio equity křivka vytvořená z jednotlivých 10 systémů.

    Max Drawdown: -4.90 %
    CAGR: 23.05 %
    Annual Volatility: 5.23 %

    Celkové portfolio má najednou průměrné roční zhodnocení 23,05 % při maximálním drawdownu -4,90 %.

    Věřím, že tento příklad hovoří za vše a maximálně doporučuji, abyste si s testerem hráli chvíli sami.

    Jsem přesvědčen, že po čase každému obchodníkovi začne docházet, jak hodně záleží na kombinaci strategií do celku (portfolia) a jak minimálně jsou podstatné jednotlivé obchody.

    Samozřejmě, že praktická implementace portfolií systémů má mnoho aspektů, které musíme řešit a sdílený python skript problematiku přibližuje jen ve zjednodušené a teoretické rovině. V praxi musíme systémy vytvářet, řešit rozdělování kapitálu mezi strategie, zajišťovat nízkou korelaci, systematicky obchodovat mnoho signálů atd.

    Podstatné ale je, kam ve svém tradingu zaměřujete pozornost – na precizování např. vstupních situací nebo na pilování portfolia jako celku...

     

    13.9.2023

    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 v alternativním fondu, který spravuje.

    • Líbí se 8

    Další články na toto téma

    Otevírat pozice ve stejných trzích současně v různých systémech?

    Ústředním bodem mého obchodování je práce na diverzifikovaných portfoliích složených z více strategií. Jelikož se v tuto chvíli zaměřuji především na akcie, může se stát, že stejný titul bude chtít najednou otevřít více strategií. Jak k tomuto přistoupit?
    Při práci s akciovými strategiemi lze nalézt mnoho logik vstupů a výstupů vedoucích k historicky relativně nekorelovaným systémům. Potíž může být v momentě, kdy strategie z nějakého důvodu budou obchodovat podobné akcie.
    Zde je zjednodušený příklad:

    Obr. č.1: Původní strategie
    Modrá linka je short strategie velmi podobná MR3000S, kterou obchoduji kromě svého fondu i v našem Trading roomu. Červená linka představuje hypotetickou další short strategii, kterou jsem připravil kvůli demonstraci v tomto článku. Jde o upravenou strategii, která se od modré liší v drobných nuancích vstupních a výstupních pravidel. Na první pohled se výkonnost modré a červené strategie od sebe zas tolik neliší a v praxi bych rozhodně obě strategie jako diverzifikované neobchodoval.
    Pro pointu dnešního článku je podstatné, že obě výše uvedené strategie sdílí poměrně dost velmi podobných obchodů na stejných titulech a níže demonstrovaný princip na této kombinaci dvou podobných systémů bude velmi výrazný.
    Při obchodování mého portfolia nechci, aby systémy držely stejné pozice v různých systémech. A to z pochopitelných důvodů. Jednotlivé akcie reagují na fundamenty a mohlo by se stát, že shodou náhod bych měl násobnou expozici zrovna v akcii, která vygeneruje vyšší ztrátu. V každém čase tak osobně ve svém portfoliu držím přes všechny systémy v jakékoliv akcii jen jednu pozici.
    Co tedy dělat, pokud se sejde signál pro vstup do stejné akcie ve více systémech?
    V zásadě máme dvě možnosti:
    1)      Duplicitní signál vypustit a nahradit jej dalším signálem v pořadí.
    2)      Duplicitní signál vypustit a nenahrazovat jej žádným dalším signálem (budeme tak obchodovat méně signálů).
    Intuitivně by většina traderů volila patrně bod 1). Zejména pokud jako já analyzujete mnoho tisíc akcií a většinu dnů je k dispozici více signálů, než kolik chceme otevřít. V případě dostupnosti více signálů postupují mé systémy tak, že si dostupné signály seřadí podle nějakého klíče a obchodují „top x signálů“. Například „top 5 signálů“, kdy každému obchodu přiřadí 2 % účtu. Pokud v top „5 signálech“ bude nějaký trh duplicitní s jinou strategií, mohl by se tento vynechat a obchodovat další v pořadí – tedy například šestý. Testy ovšem ukazují, že tento přístup není optimální. Jednoduše proto, že náhradní signály bývají slabší.
    Zde je konkrétní ukázka:

    Obr. č.2: U červené strategie byly duplicitní obchody nahrazeny jinými
    Modrá linka představuje stále stejnou výkonnost původní modré strategie. U druhé short strategie (červená linka) vidíme úplně jiný, výrazně horší, historický průběh výkonnosti.
    Jak to?
    V červené lince systém vypustil akcie, které by byly shodné s pozicemi v modrém systému. A nahradil je dalšími signály, které byly v pořadí. Na první pohled je zřejmé, jak výrazně horších výsledků takový přístup dosahuje. Pochopitelně bude záležet na přesné logice, podle kterých se signály k obchodování řadí. Většina mých testů ale potvrzuje, že nahrazování duplicitních signálů dalšími v pořadí vede k výrazně horším výsledkům.
    Osobně proto postupuji druhou cestou. Pokud je v portfoliu duplicitní signál, tak jej vynechám a nenahrazuji.
    Backtest naší simulace by pak vypadal následovně:

    Obr. č. 3: U červené strategie byly duplicitní obchody vynechány bez náhrady
    Modrá linka představuje stále stejnou výkonnost původní modré strategie. U druhé short strategie (červená linka) vidíme opět jiný průběh výkonnosti než na prvním grafu. Ovšem je podstatně lepší než na druhém grafu.
    V tomto případě obsahuje výkonnost červené linky stejné obchody jako na grafu č.1. Jsou jen bez náhrady vynechány obchody, které ve stejný čas obchodovaly stejnou akcii jako modrá strategie. Červená strategie tak má mnohem nižší počet obchodů (protože řada z nich byla vynechána) a v absolutním měřítku vydělá méně než červená strategie v grafu č.1. Ovšem také s nižší expozicí kapitálu (není využíván) a kapitál lze využívat v jiných strategiích. Tedy toto rozhodně není špatný výsledek. Naopak. Výsledná kombinace obou strategií nabízí solidnější diverzifikaci než v grafu č.1 – jednak strategie nesdílejí ani jeden současně obchodovaný trh a také je vidět, že výkonnostní křivky jsou si méně podobné.
    V případě portfolií sám tedy postupuji druhou variantou:
    Duplicitní signály vypouštím a nenahrazuji jej žádným dalším signálem.
    Dobrou zprávou je, že je to také technicky jednoduší řešení.
    I v samotném backtestu portfolia stačí, pokud z historických výsledků v Excelu nebo pomocí Pythonu odstraníte obchody, které by se ve stejný čas odehrávaly ve stejných akciích.
    Při živém obchodování pak jednoduše do Interactive Brokers neposílám signály, se kterými pracují jiné strategie nebo které se shodují s akciemi, které jsou v jiných systémech otevřené.

    Nový Analyzátor pro sledování diverzifikace a výkonnosti portfolií

    Základem mého živého obchodování je jednak stavba mechanických systémů, ale zejména jejich skládání do portfolií tak, aby systémy optimálně využívaly sdílený kapitál. Spolu s diverzifikací je to skutečně „svatý grál“ tradingu. Podívejte se, jak dnes tyto informace analyzuji pomocí nového Analyzátoru, který na Finančníkovi sdílím v Trading roomu.
    Přes 25 let praxe živého obchodování mě v trhu naučilo, že pokud chci s krátkodobými strategiemi v tak silně konkurenčním prostředí uspět, musím myslet a fungovat jinak než ztrácející většina.
    Konkrétně to znamená, že se v tradingu nezaměřuji na jednotlivé strategie, ale na portfolio. Tedy skupinu strategií, které jsou postaveny na různých principech. Jednotlivé strategie stavím jako co nejjednodušší (abych se vyhnul přeoptimalizaci) a nesnažím se je vytvářet tak, aby měly perfektní historickou výkonnostní křivku. Výkonnost a risk sleduji až na úrovni výsledného portfolia. Strategie navíc skládám do celku tak, aby byly schopny efektivně sdílet stejný kapitál (například když neobchoduje long strategie, obchoduje short strategie atd.), což neuvěřitelně přispívá k tomu, jak dobře může portfolio jako celek fungovat.
    Bohužel analýza portfolií s sebou nese vyšší nároky na software a práci s daty (většina retailových produktů vůbec s analýzou portfolií nepočítá). Což jistě v nemalé míře stojí i za tím, že mnoho začátečníků do této oblasti ani nenahlédne.
    Na Finančníkovi jsme poslední roky sdíleli řadu návodů, jak portfolia analyzovat, nicméně byly stále potřeba specifické nástroje typu python skriptů.
    Nyní máme konečně nástroj, který je snadno ovladatelný, nevyžaduje žádné pokročilé nastavení a plně reflektuje, jak se na trhy dívám. V Trading roomu jsme zpřístupnili modul Analyzátor. Ten nyní umožňuje vytvářet vlastní portfolia se sdílených strategií, brzy přibude i možnost nahrávání vlastních obchodů.
    Modul je přístupný účastníkům skupiny Trading Room, ale pro inspiraci, jak vše funguje, publikuji jeho video představení. I v něm si můžete udělat představu, jak silný nástroj kombinace systémů do portfolií představuje. 
    Analyzátor budeme používat také v novém běhu Workshopu profitabilního obchodování od A do Z, který startuje 2.10.2023.

    Nejlepší způsob dosažení vyšší stability: diversifikace (2/2)

    Nejlepší způsob dosažení vyšší stability: diversifikace (2/2)
    V minulém díle jsme si představili korelaci, jako základní nástroj k efektivní diversifikaci. Pokud budeme mezi sebou diversifikovat systémy s co nejnižší korelací, můžeme dosáhnout lepší stability distribuce zisků – jak si dnes názorně ukážeme.
    Vraťme se nyní k výsledkům hypotetických systémů, se kterými jsme pracovali už v minulém díle (je vcelku jedno, zda-li pro názornost použijeme výsledky reálné, nebo hypotetické – jde především o pochopení logiky věci). Tentokrát řekněme, že máme celkem 3 různé obchodní systémy (Systém 1, Systém 2 a Systém 3), které měsíčně vygenerují průměrně 15 obchodů každý a vydělají tak za měsíc průměrně 600 – 650 USD.
    Nyní přichází otázka: kombinovat tyto 3 systémy dohromady, nebo nikoliv? A pokud ano, který systém kombinovat se kterým, abychom dosáhli lepších výsledků – myšleno z pohledu stabilnější distribuce zisků a menšího propadu (drawdownu) v naší equity křivce?
    Samozřejmě, už z minulého dílu víte, že odpověď na tyto otázky nám dá právě určení vzájemné korelace těchto systémů. Pojďme se tedy podívat, co nám takový test korelace ukáže.
    Předpokládejme, že primárně budeme chtít obchodovat Systém 1, k němu pak dle výsledků korelace doplnit buďto Systém 2, nebo Systém 3:

    Systém 1, Systém 2 a Systém 3. Bílý sloupec jsou výsledky za jednotlivý obchod, modré sloupce prezentují P/L, nebo-li vývoj equity křivky – jak nám konkrétně roste po jednotlivých obchodech účet. Zcela dole pak naleznete korelaci mezi systémy.
    Jak tedy vidíme, korelace mezi Systémem 1 a Systémem 2 je 69.1%, což je velmi vysoká korelace – Systém 1 a Systém 2 se tedy chovají velmi podobně a vzájemnou jejich kombinací nedosáhneme příliš diversifikačního efektu, ani vyhlazení equity křivky.
    Oproti tomu, korelace mezi Systémem 1 a Systémem 3 je -59.9%. Jedná se o negativní korelaci, což je pro účely vzájemné diversifikace velmi dobré znamení, jak jsme si vysvětlili v minulém článku. Kombinace systému 1 a systému 3 se tedy její jako velmi dobrý nápad a skutečně nám dává příslib stabilnější equity a potažmo menších drawdownů.
    Pojďme tedy nyní udělat vzájemné kombinace a podívat se na výsledky. Aby bylo porovnání co nejpříkladnější, porovnáme následující varianty:
    VARIANTA 1: budeme obchodovat pouze Systém 1, avšak zdvojnásobíme počet kontraktů (tj. namísto přidání druhého systému za účelem diversifikace prostě jen znásobíme kontrakty).
    VARIANTA 2: spojíme systém 1 a systém 2 – dle korelací předpokládáme, že tato metoda by stabilitu equity příliš vylepšit neměla.
    VARIANTA 3: spojíme Systém 1 a systém 3 – dle vzájemné korelace předpokládáme, že toto spojení by mělo dávat nejstabilnější equity ze všech tří variant.
    Zde tedy výsledky:

    Jak vidíte, propojení Systému 1 se Systémem 2 nepřineslo příliš změnu oproti obchodování Systému 1 s dvojnásobným počtem kontraktů. Předpoklad o nevhodnosti kombinovat vysoce korelující strategie tedy nezklamal. Oproti tomu, kombinace Systému 1 a Systému 3 přinesla velmi příjemné zlepšení. Mezi obchody 2 a 3 jsme se zbavili draw-downu, mezi obchody 8-11 jsme se s equity křivkou více stabilizovali. Průběh equity s kombinací Systém 1 + Systém 3 ukazuje nejhladší průběh, s nejmenšími propady. Ukázalo se tedy, že diversifikace mezi systémy s nízkou korelací má smysl.
    Samozřejmě, toto je pouze ukázková studie, kterou je možno dále rozvíjet. Můžete takto například kombinovat podstatně větší množství systémů a pracovat na ještě zajímavějších a stabilnějších výsledcích. Nic méně, korelace a diversifikace jsou základem, jak vylepšit stabilitu obchodního systému.
    Závěr
    Zde několik myšlenek závěrem:
    1) Naučte se myslet v tradingu z pohledu diversifikace. Můžete diversifikovat všelijak – fantazii se meze nekladou. Můžete kombinovat mezi sebou různé systémy, patterny, obchodní styly, time-frame, trhy, produkty (opce, akcie, komodity, ETF´s) – cokoliv vás jenom napadne.
    2) Vždy diversifikujte tak, abyste vyloučili jakékoliv příliš vysoké korelace výsledků mezi jednotlivými styly a systémy. Vzájemné korelace musí být co nejnižší, tj. ideálně neutrální, nebo negativní.
    3) Pokud chcete dosahovat vyšší stability, pak si rozdělte kapitál na 2-4, nebo i více částí a diversifikujte se.
    4) Snažte se při diversifikaci vždy myslet tak, abyste proti sobě stavěly co nejvíce rozdílné systémy a přístupy. Např. trendový přístup vs. protitrendový, směrové strategie vs. nesměrové, strategie na nižším timeframe vs. strategie na vyšším timeframe, atd. Tímto způsobem nejlépe naleznete přístupy s nízkou korelací, tj. vhodné k diversifikaci.
    5) Pro různé další testování a studie můžete využít program Market System Analyzer (MSA).
    Jak tedy vidíte, je velmi důležité se naučit myslet v tradingu takto „komplexněji“, neboť podobné kroky jsou nesmírně důležité k efektivnějšímu obchodování. Ne nadarmo se říká, že základem obchodování je po psychologii money-management. Diversifikaci počítám též do kategorie money-managementu a je třeba na této části velmi pracovat, chcete-li se stát úspěšnějšími tradery. Tato část je mnohem důležitější, než nekonečný čas strávený vstupy – ty jsou opravdu nejméně důležité. Zkuste si vzít 3-4 průměrné systémy s nízkou vzájemnou korelací a rázem uvidíte, jak je možné získat díky diversifikaci systém nadprůměrný (obzvláště, pokud ještě přidáte inteligentní position-sizing), aniž byste museli cokoliv dělat se vstupy. Samozřejmě je důležité si také uvědomit, že pro efektivnější diversifikaci musíme pracovat s adekvátním kapitálem. Už mnohokrát jsme hovořil o tom, jak je podkapitalizace zásadní nevýhodou začínajícího tradera – možnost diversifikace opět ukazuje, že dostatečná kapitalizace dává slušný „náskok“ před těmi, co mají naivní představu, že se s účtem o velikosti pár stovek dolarů stanou milionáři.
    Pokud máte k tomuto tématu jakékoliv další postřehy, zkušenosti, nebo nápady, nezapomeňte se prosím podělit v diskusi – určitě mohou být jakékoliv další zkušenosti inspirací pro všechny.
×
×
  • Vytvořit...