Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • 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

    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 obchodníků 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

    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

    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é.

    4.9.2022

    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 fondu, který spravuje.

    • Líbí se 5
    • Děkuji 2

    Mohlo by vás dále zajímat

    Trading Room – popis a nastavení portfolia

    Na Finančníkovi se snažím ostatní co nejvíce inspirovat pomocí vlastní praxe. Poslední měsíce vše zašlo tak daleko, že několik desítek obchodníků má zde v rámci služby Trading Room dopředu přístup k mým plánovaným obchodům, obchodním nástrojům typu automatizovaný finwin trader a pochopitelně výstupům z obchodní platformy zobrazující plnění, komise atd. Ve skupině obchoduji portfolio, jehož komentované nastavení může být přínosné pro všechny obchodníky, kteří jdou podobným směrem a přemýšlejí, jak si systematicky profitabilní trading poskládat.
    V rámci Trading Roomu obchoduji tři systémy:
    Krátkodobý mean reversion systém MR3000 držící pozice maximálně 5 dnů. Systém obchoduje long i short a vstupuje proti výraznějším denním pohybům v akciích indexu Russell 3000. Systém podrobněji popisuji zde. Intradenní mean reversion systém Finwin držící pozice pouze v průběhu denní seance. Systém obchoduje long i short. Otevřené pozice jsou ukončovány vždy na konci obchodního dne. Systém obchoduje akcie indexu Russell 3000 a kontroluji, aby nebyly obchodovány stejné pozice jako v rámci MR3000. Systém jsem velmi podrobně popsal na finwin.cz. Aktuální výsledky jsem samostatně naposledy komentoval zde. Trendfollowing systém MicroBreakout držící méně likvidní akcie. Vybírány jsou libovolné akcie obchodované na amerických burzách. Systém vstupuje do akcií tvořících nová high a drží je, dokud je v trhu rostoucí momentum. Může tak být v pozicích týdny nebo i několik měsíců. Popis systému můžete najít přes tento článek. Strategie mají historicky poměrně nízkou korelaci a jejich obchodování v rámci portfolia vedlo historicky ke snižování celkového drawdownu. Na této stránce je prezentován backtest, který sám používám pro finální obchodování. Samotný backtest má několik specifik a limitů, kterým je potřeba porozumět před zkoumáním samotných čísel:
    Zobrazen je backtest od 1.1.2015 do 15.8.2021.  Mám k dispozici i delší testy, nicméně výsledky zejména intradenní strategie Finwin jsou až příliš optimistické (dříve bylo intradenní obchodování snazší). Proto sám pracuji s více aktuálním obdobím. Zejména short strategie nemusí mít backtest zcela věrohodný. V softwaru nelze simulovat dostupnost akcií pro short, takže v reálu by některé obchody nebylo možné uskutečnit. Intradenní strategie testuji s využitím pouze denních dat. Na nich nelze poznat, které signály by byly vyplněny jako první (u Finwinu sleduji až 50 signálů, ale zobchoduji pouze prvních 5 na long a 5 na short). V rámci backtestu proto používám náhodné pořadí u plnění – každý backtest bude trochu jiný. Ovšem ve finále se liší jen detaily equity křivek, díky množství obchodů jsou finální výsledky velmi podobné. Výsledky strategie MicroBreakout v portfoliu testu nepochází z Amibrokeru a equity křivka se od té z Amibrokeru (jehož signály používám v Trading Roomu) nepatrně liší. Je to způsobeno tím, že každý software počítá trochu jinak indikátory, nepatrně jinak například zaokrouhlí některé výpočty atd. Výsledky testu jsou s komisemi (vyššími než sám platím – v testu počítám minimálně 1 dolar/pozici, případně 5 centů/akcii, pokud je částka vyšší než 1 dolar). Výsledky testů jsou bez reinvestování kapitálu – po celou dobu testu se pracuje pouze s počátečním stavem účtu. V praxi průběžně kapitál reinvestuji. U limitních příkazů je v testu vyžadováno, aby cena prošla limitní cenou o hodnotě 0.001 * Close trhu. Nestačí tedy, aby se limit ceny jen dotkl. V praxi se tak občas dostanu do profitabilního obchodu, který backtest nezachytí. Zejména short obchody nejsou v testu tříděné na fundamentální filtry, které v praxi používám. Hlavně poslední dobou filtry hodně pomáhají v obchodování shortů. Osobně tak backtest považuji za solidně věrohodný, byť jako vždy – v praxi očekávám horší výsledky zhodnocení a vyšší risk (vyšší drawdown).
    Backtest s výše uvedenými podmínkami vypadá pro celé portfolio následovně:

    Pro porovnání je zobrazen i výsledek držení trhu SPY (ten pracuje s reinvestováním, kdy pozice je měněna po dividendách). Výsledky držení SPY pochopitelně nejsou zahrnuty do výsledků portfolia zobrazených ve sloupci „Combined“.
    Použité váhy pro jednotlivé systémy jsou:
    33,3 % MR3000
    33,3 % Finwin
    33,3 % Microbreakout
    V testu byl použit počáteční kapitál 60 000 USD, což je částka, se kterou jsem začínal účet v rámci Trading Roomu. Každý systém tak vytváří pozice z částky 20 000 USD, což odpovídá i tomu, jak generuji v rámci Trading Roomu signály (kromě strategie MicroBreakout, která v Trading Roomu pracuje s reinvestováním). Systémy MR3000  a Finwin používají pro výpočet signálů dvojnásobnou páku. Velikost pozice MR3000L, kde obchodujeme max. 5 obchodů na long stranu, tak vychází z kapitálu 20 000 dolarů děleno 5 pozicemi – v Trading Roomu otevírám pozice o velikosti 4 000 dolarů na akcii.

    Hledáte cestu, jak se dostat ke konzistentním profitům?
    Rádi byste i v aktuálním kontextu obchodovali stabilně a bez emocí?
    Určitě si přečtěte novou knihu Od myšlenky k reálným obchodům
    Implementujte již od samotného začátku své praxe důležité systematické procesy a správné myšlení, které výrazně zvyšuje šance na stabilně profitabilní obchodování.
    Inspirujte se, jak trading dělat jinak a lépe. 1/3 kapitálu pro jednotlivé strategie se mi jeví jako reálně optimální nastavení portfolia. Z výsledků je patrné, že nejvíce risku je pojeno se strategií MR3000S (drawdown až 50 %), ovšem v rámci celku jsem ochotný s takovým výsledkem fungovat.
    Základní parametry testu celého portfolia – průměrné roční zhodnocení 37 % při maximálním drawdownu 10,75 %. Toto by měla být jedna z nejdůležitějších lekcí každého tradera. Spojováním nekorelujících strategií získáváme mnohem stabilnější obchodní výsledky. Podle mého názoru by každý měl obchodovat portfolio alespoň o několika strategiích – nejlépe tak různorodých, jako je to ukázáno v rámci Trading Room portfolia. Současně to znamená, že z portfolia není vhodné si vybírat „jen něco“, ale je potřeba jej obchodovat jako celek.
    Podrobnější pohled na risk portfolia
    Při pohledu na měsíční zisky/ztráty je zřejmé, že není nic neobvyklého, pokud má portfolio dva po sobě jdoucí ztrátové měsíce:

    Jako při jakémkoliv tradingu je proto potřeba toto přijmout jako fakt a není možné pochybovat například po dvou, třech týdnech, kdy systémy negenerují nové high. V praxi jen těžko budete ale hledat přístupy, které fungují každý měsíc/týden. Z mé zkušenosti je proto lepší přijmout realitu a naučit se s ní fungovat.
    Samotný drawdown portfolia osciluje mezi 5 až 10 %:

    Nyní je strategie v drawdownu, nicméně díky dodatečným fundamentálním filtrům používaných při živém obchodování mám živé portfolio na cca 60 % zobrazené hodnoty drawdownu. V každém případě sám používám období drawdownu pro navyšování kapitálu. Obecně je určitě lepší spouštět strategie, když jsou v drawdownu, než když se obchodují na novém high.
    Je ale třeba se připravit na to, že drawdowny nemusí být hned překonány. Zde je zobrazeno období (svislá osa zobrazuje počet dnů v drawdownu), které na úrovní portfolia trvá pro překonání drawdownu:

    Běžně je to cca měsíc, nicméně např. na začátku roku 2019 trval drawdown cca 4 měsíce. V případě „smůly“ se tak může reálně stát, že podobné portfolio spustím na novém účtu a 4 měsíce budu ve ztrátě. Opět naprostá realita obchodování.
    A to jde o výsledky pouze z jediného backtestu. V praxi používám k odhadu risku Monte carlo analýzy, které indikují, že za sledované období lze realisticky očekávat drawdown až cca 15 %.
    Ovšem celkově se Monte carlo výsledky jeví u Trading Room portfolia dost stabilně. Zde je 5 nejlepších a 5 nejhorších portfolio equity křivek:

    Důležité pro mě je, že jednotlivé systémy mají v případě drawdownů nízkou korelaci:

    Pokud jeden systém prodělává, je velmi pravděpodobné, že jiný alespoň trochu vydělá. Což mně osobně velmi pomáhá psychicky a v rámci portfolia se snažím systémy stavět právě i tak, abych měl výsledky co možná nejstabilnější.
    V každém případě je ale podstatné vždy obchodovat jen s takovými částkami, se kterými dokážete drawdown ustát.
    Sám kromě účtu v rámci Trading Roomu (dnes cca 70 000 dolarů, kde exekuce sdílím v rámci skupiny) obchoduji i podstatně vyšší účty v rámci svého fondu, u kterého používám podobné strategie. Ovšem ke zvládnutí drawdownů s vyšším kapitálem jsem se musel propracovat praxí. Dnes vnímám, že každé překonání trochu většího drawdownu (5-10 %) mi pomáhá v navýšení kapitálu a získání další důvěry v to, co dělám. Jsme tak opět u toho, že v tradingu je nejdůležitější praxe – obchodovat, obchodovat a obchodovat.
    Do začátku bych tak určitě začal obchodovat s nižším kapitálem – například 10 000 dolarů a soustředil se především na systematičnost a překonávání drawdownů. 15% drawdown v případě účtu 10 000 dolarů je 1 500 dolarů, což je něco, co by měl zvládnout překonat i začínající trader.
    Samozřejmě v případě nižšího kapitálu budou výsledky obchodování jakéhokoliv portfolia horší proto, že některé pozice není možné otevřít (akcie jsou příliš drahé) a především komise již ukrojí příliš velký podíl na zisku. Ale pokud přepočítám portfolio v rámci Trading Roomu na kapitál 10 000 dolarů, stejně je vidět, že i s tak nízkou částkou lze operovat, učit se a posouvat se kupředu.
    Portfolio obchodované s kapitálem 10 000 dolarů:

    A jakmile si psychika jen trochu zvykne, lze navýšit kapitál například na 20 000 dolarů, kde jsou výsledky již podstatně lepší:

    31 % průměrného zhodnocení při 11% drawdownu s počátečním kapitálem 20 000 dolarů už se příliš neliší od výsledků, které backtest indikuje u podstatně vyššího kapitálu.
    Shrnutí
    Historické backtesty rozhodně nezaručující budoucí zisky, nicméně demonstrují určité hranice, ve kterých můžeme očekávat risk a zisk.
    Živá výkonnost reportovaná v Trading Roomu velmi podobně kopíruje výsledky pro rok 2021 zobrazené v druhé tabulce. Samozřejmě s faktem, že Finwin jsme pomocí autotraderu začali ve skupině obchodovat až od začátku srpna.
    Osobně mám tak k obchodovanému portfoliu solidní důvěru. Pokud však následujete moji práci, je potřeba:
    Přizpůsobit risk vlastní psychice. Vnímat „investiční horizont“ stejně jako já – tedy na úrovni měsíců, kdy by portfolio mělo překonat i případné hlubší drawdowny.  

    Jak dnes živě obchoduji na svých účtech? [video]

    V každé praxi se člověk posouvá a hledá cesty, jak dělat věci lépe a efektivněji. V tomto videu ukáži jak obchoduji dnes a shrnu, kam jsem se za poslední roky posunul.

    Ve videu používám jeden ze svých obchodních účtů u Interactive Brokers.
    Postupně ukazuji, jak dnes analyzuji obchody a sleduji je jak přímo v obchodní platformě, tak pomocí indikátorů, které jsou pro mě důležité hlavně z pohledu řízení celkového risku.
    Ve videu ukazuji hned několik obchodovaných systémů, se kterými pracuji plně mechanicky. Tedy následuji dlouhodobě otestované pravděpodobnosti.
    Pokud hledáte inspiraci jak na podobné systémy, tak právě pro vás jsem připravil na 25.9.2020 webinář, kde budu předávat popis 7 mých obchodních systémů. Na bezplatné vysílání se můžete registrovat na této adrese (obsah bude dostupný pouze pro registrované).

    Analýza portfolií pomocí open source projektu pyfolio

    Sledovat výsledky obchodování optikou portfolií je krok, který každému obchodníkovi maximálně doporučuji. Pozornost se velmi záhy přesune od snahy optimalizovat vstupy a výstupy dílčích systémů k reálnému řízení risku a stabilnějším reálným výsledkům. Analýza portfolio obchodování přitom není v zásadě nijak náročná. Sám pro tyto účely nejvíce používám bezplatné pyfolio, se kterým můžete také začít hned pracovat.
    Důrazu na obchodování systémů v portfoliu se na Finančníkovi věnujeme dlouhodobě. Důvod je jednoduchý – je opravdu mizivá šance, že začnete obchodovat s jedinou strategií na jednom trhu a budete dlouhodobě vydělávat bez hlubokých drawdownů. Jednoduše proto, že pokud by takový přístup existoval, velmi rychle jej objeví ostatní a svým obchodováním jej „vyruší“. Hodně začínajících obchodníků se toto snaží vyřešit optimalizací parametrů, které poskytují na historických backtestech krásně vyhlazené equity křivky, což ale samozřejmě nezaručuje pozitivní výsledky do budoucna. Spíše naopak.
    Řešení? Spíše než na hledání dokonalého systému je lepší zaměřit se na obchodování jednoduchých systémů a pozornost směřovat k jejich skládání do portfolia. V tomto ohledu spočívá v obchodování jediný svatý grál, který jsem objevil. Vhodným poskládáním nízko korelujících strategií můžeme dosáhnout takového výsledného efektu, který není dlouhodobě dosažitelný s použitím jedné strategie na jediném trhu (pro inspiraci doporučuji shlédnout video zaměřené na přínos diverzifikace zmíněné v tomto článku).
    Mnoho neúspěšných obchodníků od práce s portfolii odrazuje skutečnost, že běžné retailové programy nejsou tímto směrem příliš vybaveny. A je tak třeba investovat do dalších řešení, které vždy bývaly poměrně dost drahé.
    Naštěstí se časy poslední roky hodně změnily. S rychlým nástupem Pythonu do finančního světa lze dnes nalézt velmi pokročilá řešení, která jsou navíc k dispozici zcela zdarma. Sám používám pyfolio.
    Jde o open source řešení pro Python, které dokáže poskytovat všechny potřebné metriky a pohledy, které pro analýzy potřebuji. A co pyfolio neumí, není problém v Pythonu dotvořit.
    Mé řešení portfolio analýzy pak vypadá následovně:
    Z různých analytických programů (hlavně Amibroker a TradeStation) vytvářím backtesty, které si ukládám na disk v csv formátu. Pyfolio spouštím v bezplatném interaktivním prostředí Jupyter Notebook. Následně si do Jupyter Notebooku nahraji uložené csv formáty, jednotlivé systémy spojím do portfolií (včetně možností sledování korelací, nastavení vah atd.). Spustím pyfolio a za chvíli mám portfolio analýzu hotovou. Co pyfolio umí?
    Samozřejmě poskytovat všechny tradiční statistiky výkonnosti, risku a metriky vizualizovat. Takto například vypadá analýza miniportfolia tří systémů vyučovaných v rámci workshopu swingového obchodování:

    Velmi praktická je možnost sledovat samostatně výkonnost in-sample a živého obchodování. Navíc v porovnání se zvoleným benchmarkem (podrobněji viz článek Hledáte odpovědi? Ptejte se benchmarků).
    Sám v rámci obchodování především sleduji risk a vyhodnocuji tak volatilitu portfolia vs. benchmarku:

    Pokud si nebudete jisti, jestli se vaše živé obchodování vyvíjí v intencích backtestu, můžete například porovnávat rozložení distribucí obchodů:

    A pochopitelně toto není zdaleka vše – viz dokumentace k pyfolio.
    Za mě tak jednoznačně doporučuji pyfolio vyzkoušet a používat. Portfolio pohled patrně navždy změní způsob, jak se na trading budete dívat.
    Pokud byste váhali s technickou aplikací, tak jsem pro vás do TechLabu umístil tutoriál s kompletním Jupyter Notebookem tak, jak ho sám využívám. Navíc s kompletními kódy, které mi pomáhají získávat data do pyfolia z Amibrokeru.
×
×
  • Vytvořit...