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
  • 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í:

    Portfolio analýza systémů z 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:

    Portfolio volatilita vs. benchmark

    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ů:

    Distribuce zisků a ztrát - živé obchodování vs. backtest

    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.

    28.6.2020

    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.


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

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

    TechLab – od nuly k automatickým portfoliím

    Na Finačníkovi vnímáme jako nejsmysluplnější cestu vydělávání peněz na burze skrze maximální využití automatizace. Mezi hlavní benefity patří výraznější psychologická pohoda při obchodování (v porovnání s diskrečním tradigem) a časová nenáročnost. Samotné obchodování zabírá maximálně pár minut denně, kdy kontrolujeme chod všech skriptů.
    Že lze vše zvládnout i bez počátečních znalostí programování, ukazují i reference dosavadních účastníků skupiny, které naleznete na této adrese.
    Podstatné je ale uvědomit si, že vytvoření komplexního automatizovaného worfklow nejde hned, nejde to ani za měsíc. Jde o postupnou práci. Dobrou zprávou ale je, že pro vydělávání peněz není potřeba mít hned hotové celé workflow. Stačí jen menší část, které pak věnujete o trochu více času manuálním dohledem a postupně vše vylepšujete.
    A jelikož jsme si sami prošli celým procesem „od nuly“ k automatizovanému portfoliu, vznikla na Finančníkovi před lety skupina TechLab. Jejím cílem je pomoci Vám vytvořit podobné automatizované řešení, jaké sami používáme v každodenní praxi. Ve skupině proto najdete všechny potřebné informace.
    Podrobný popis skupiny naleznete na stránce https://tri.financnik.cz/techlab. V tomto dokumentu jsme připravili rámcový popis cesty, jak se k automatizaci dostat krok za krokem.
    Automatizace pochopitelně přináší potřebu osvojení nového know-how. Zejména pokud do ní přicházíte ze světa neprogramátorů tak jako my. Ve skutečnosti není pro automatizaci obchodování nutné zvládnout pokročilé programování (viz reference stávajících účastníků). Spíše je potřeba postupně si osvojit práci s drobnými nástroji a ty vhodně poskládat dohromady.
    TechLab je skupina, kde sdílíme postupy, které sami využíváme v každodenní praxi.
    Sami přitom na automatizovaných řešení pracujeme již mnoho let a naše workflow jsou tak již poměrně propracovaná. V principu si automatizované obchodování můžete představit jako následující diagram:

    S podobným workflow se například nebojíme ani spravovat externí peníze (Petr provozuje alternativní fond založený na automatizovaných strategiích). Ohromnou výhodou podobných automatizovaných procesů je i skutečnost, že je lze pohodlně škálovat. Do fungujícího workflow obchodujícího určitý počet strategií lze vždy snadno přidat další strategii obchodující jiný princip, jiný timeframe nebo jiný typ trhů. To vede jak k možnosti vyšší diverzifikace (postupování nižšího risku), tak možnosti pracovat s vyšším kapitálem. Řada obchodníků dnes tak skrz poskytované know-how obchoduje pomocí automatizovaného workflow s velmi malou časovou náročností buď své úspory, nebo se zaměřují i na správu větších peněz.
    V TechLabu naleznete vše potřebné, abyste si sami vytvořili podobné řešení. Zejména pokud se s prostředím automatizace obchodování zatím seznamujete, může Vám zprvu přijít TechLab až příliš odborný.
    Je to proto, že mnoho obchodníků zde už na sobě pracuje roky a za tu dobu jsou podstatně dál, než jste nyní vy. Ale nezoufejte. Všichni jsme začínali z podobného stavu „nula“. Je opravdu potřeba nespěchat a postupovat kupředu pomalu. Je dobré sledovat nové minikurzy a tutoriály, ale nemějte stres z toho, že nebudete všemu rozumět.
    Pro zvládnutí automatizovaného obchodování doporučujeme následující postup:
    1. Začít zprovozněním poskytnutých blokových řešení (na paper účtu)
    Prvním krokem je zvládnutí automatizace získávání obchodních signálů a následného odeslání obchodních příkazů do obchodní platformy pomocí vlastních skriptů (programů). Zní to složitě? První dobrou zprávou je, že v této fázi nemusíte umět programovat. V rámci TechLabu najdete velké množství tutoriálů, ve kterých je spousta tipů a návodů, jak této základní úrovně automatizace dosáhnout svépomocí.
    Další dobrou zprávou je, že jsme připravili workshopy, které Vás dílčími kroky automatizace plynule provedou, a jejichž součástí jsou plně funkční skripty. Doporučujeme začít absolvováním Workshopu swingového obchodování (kde se seznámíte s principy swingových strategií a naučíte se získávat signály pro vstup/výstup z pozic). Následně můžete pokračovat ročním předplatným TechLabu Automatizace (kde navíc získáte plně funkční skript autotraderu s podrobným popisem používání). Spolu s programem Amibroker (který je třeba si pořídit samostatně) budete mít k dispozici veškeré nástroje pro vytvoření níže uvedeného automatizovaného worfklow. Doporučujeme spustit na paper účtu a postupně ladit cokoliv, co nebude fungovat.
     

     
    Zkušenější obchodníci mohou TechLab využívat v nejlevnějším typu předplatného „Podpora“. V něm získáte veškeré know-how a podporu, ale bez hotových řešení, které stačí „instalovat a spustit“.
    Jakýkoliv dotaz pište do TechLabu. Nejlépe do vlákna První automatizace. Relativně brzy byste měli mít v provozu první jednoduché automatizované workflow, které spustíte na svém osobním počítači jednou za den dopoledne evropského času a během pár minut máte hotovo.
    V této fázi nebudete patrně zasahovat do poskytnutých skriptů. Nicméně v budoucnu bude potřeba si řešení upravit přesně podle vlastních požadavků. Je proto dobré začít se seznamovat s Amibrokerem a Pythonem. Pro oba programy pořádáme v TechLabu minikurzy pro začátečníky. Vyhlašujeme je průběžně v průběhu roku. Každý živý běh minikurzu je trochu jiný, je moderovaný a obohacený mnoha domácími úkoly, které řeší celá komunita. Do výuky se však můžete pustit hned. V rámci ročního předplatného TechLabu Automatizace máte přístup k archivu minikurzů, které naleznete na této stránce. Jako první doporučujeme pustit se do minikurzů Základy zvládnutí Pythonu – od nuly k práci s daty a První strategie v Amibrokeru. Ke kurzům v archivu není aktivní podpora, ale samozřejmě můžete dotazy pokládat v běžné diskuzi TechLabu.
     2. Napojení obchodního deníku
     Jako další krok doporučujeme do workflow zařadit obchodní deník. Ten připravil v Pythonu trader s přezdívkou Unlimited a je ke stažení zde.
    Vaše workflow pak bude v cíli vypadat následovně:

    Práce na obchodním deníku Vás může vytížit určitě na několik týdnů. Zejména pokud budete současně pronikat do základů Pythonu. Je to hlavně proto, že obchodní deník již můžete začít pomalu přizpůsobovat svým vlastním potřebám a v rámci jeho studia začít podrobněji analyzovat svá data.
    Rozhodně doporučujeme shlédnout minikurz Obchodní deník v Pythonu, který průběžně vyhlašujeme, případně rovnou ze záznamu, ke kterému mají přístup všichni s ročním předplatným TechLab Automatizace.
    Další tutoriály, které Vám mohou pomoci v této fázi:
    V prvním kroku můžete spravovat výsledky vedené v Excelu. Tutoriál je publikován zde. K automatizovanému deníku můžete připojit i obchody zpracované před uvedením do jeho provozu. Tutoriál je publikován zde. 3. Zapojení podpůrných skriptů
    V této fázi by Vám již měla běžet docela solidní automatizace, jejíž provoz zabírá maximálně desítky minut týdně. Příkazy z Amibrokeru jsou předávány Autotraderem do Interactive Brokers. Veškeré obchody jsou zaznamenány v databázi. Máte k dispozici statistiky o svém obchodování a dokážete vytvářet podobné portfolio grafy slučující výkonnosti jednotlivých strategií:

    Nyní se můžete zaměřit na pilování workfow. Můžete zapojit skripty vyřazující duplicitní trhy z obchodovaných portfolií, stahovat data o shortovatelnosti z FTP Interactive Brokers a vyřazovat neshortovatelné akcie ze signálů (pokud pracujete se short strategiemi), stahovat data o vyhlašování earnings a příslušným způsobem je zapracovat do signálů Mean reversion strategií. Jednoduše pracovat na mnoha vychytávkách, které v průběhu času v TechLabu zmiňujeme.
    Zásadní jsou v této oblasti následující tutoriály:
    Kontrola shortovatelnosti akcií. Tutoriál je publikován zde. Automatizované stahování dat vyhlašování dividend. Tutoriál je publikován zde. Filtrování obchodních signálů na earnings data pomocí API. Tutoriál je publikován zde. 4. Testování nových strategií
    Prioritou TechLabu je pomoci dostat Vás do produkční fáze systematického portfolio obchodníka. Proto jsme poskytli bloky, které je možné od startu bez větších znalostí pospojovat a začít s nimi pracovat – na paper účtu nebo nějakém malém živém účtu (poté, co do problematiky sami proniknete a nástroje přijmete za své). Praxe je praxe a nic ji nenahradí. Proto by mělo být prioritou co nejrychleji vše rozhýbat do každodenní rutiny, byť z počátku bez nějakých zásadních očekávání vydělávání větších peněz.
    Ovšem pro peníze trading všichni děláme. A peníze se v tradingu vydělávání skrz to, že budete obchodovat vlastní strategie a aplikovat do trhu vlastní nápady.
    Je dobré si osvojit Amibroker a postupně připravovat nové strategie nebo upravovat ty, které máte z Finančníka. Pokud jste to zatím nezkoušeli, doporučujeme shlédnout v TechLabu minikurz První strategie v Amibrokeru a pokročilejší Custom backtester v praxi. V této fázi byste měli mít již i základní know-how, jak pomocí Pythonu vytvářet vlastní portfolio analýzy a postupně posouvat obchodované portfolio kupředu.
    Zásadní jsou v této oblasti následující tutoriály:
    Vytváříme idea first systém. Tutoriál naleznete zde. Jednoduché, ale funkční portfolio pomocí sezonality. Tutoriál naleznete zde. Testování systému obchodujícího sezonalitu na futures. Tutoriál naleznete zde. Rotační strategie v Amibrokeru. Tutoriál naleznete zde. Krátkodobé systematické strategie a kryptoměny. Tutoriál naleznete zde. 5. Další automatizace
    Hodně obchodníků v TechLabu cílí na tzv. plnou automatizaci. Tedy řešení, které jim samo poběží na serveru bez toho, aniž by jej třeba několik dnů sledovali. To je určitě možné a sami tímto směrem jdeme.  Na rovinu ale zdůrazňujeme, že jemné finalizování plné automatizace zabere opravdu hodně času a znalostí, přitom už ve finále tolik času (oproti „skoro automatizovanému přístup“) nešetří  a více peněz také nevydělá. Tedy rozhodně není třeba se tímto cílem ze začátku jakkoliv stresovat a v podstatně na něj ani mířit. Z našeho pohledu stačí drtivé většině obchodníků řešení, které běží skoro samo, ale je lepší na něj trochu dohlížet.
    V TechLabu každopádně naleznete hodně tipů, jak se v této oblasti posouvat. Ukážeme Vám, jak spouštět řešení na serverech, jak využívat git, jak si posílat informace o tradingu například na mobil, jak on-line monitorovat běh programů atd.
    Zásadní jsou v této oblasti následující tutoriály:
    Aplikace pro ovládání autotraderů z mobilu. Tutoriál naleznete zde. Task Scheduler a nastavení úloh pro ID obchodování. Tutoriál naleznete zde. Workflow pro sledování běhu skriptů. Tutoriál naleznete zde. Individuální podpora
    Výše uvedené body jsme připravili proto, aby ukázaly, jakou cestou zhruba jít a co by mělo být cílem.
    Je nicméně jasné, že každý účastník TechLabu přichází do procesu vytváření automatizovaného worfklow s různými znalostmi a zkušenostmi. Každý bude bojovat s jinými překážkami a chybovými hláškami. Proto je TechLab také technickou poradnou. Pokud nevíte, jak se posunout z bodu A do bodu B, tak se ptejte. S vysokou pravděpodobností jsme podobný problém již v minulosti také řešili a jistě Vám dokážeme poradit. Prakticky každý dotaz zodpovíme nejpozději do druhého pracovního dne.
    To dělá TechLab opravdu unikáním prostředím. Získáváte přístup k obchodníkům, kteří know-how provozují v praxi, kteří v tutoriálech ukazují, jak řeší úkoly, na kterých sami pracují. A pokud si nebudete vědět rady, jak aplikovat popisované know-how do vlastní praxe, tak se stačí zeptat.
    Vzhůru do vlastní automatizace obchodování! Hlavní diskuzní vlákna TechLabu naleznete zde.
    Registrační informace naleznete na stránce https://tri.financnik.cz/techlab. V případě zájmu o změnu typu předplatného při již aktivní účasti v TechLabu pište na e-mail kurzy@finacnik.cz a změnu nastavíme ručně. E-mail můžete samozřejmě použít při jakémkoliv dotazu k TechLabu.

    Obchodovat z počátku jen jeden nebo rovnou více trhů?

    Jednou z prvních otázek, na kterou si musí začínající obchodník odpovědět, je co obchodovat. Preferovat bychom měli co nejlevnější trhy na obchodování a současně dostupné pro náš obchodní účet. Pro pomalejší swingové obchodování, které je z mé zkušenosti pro začínající tradery nejvhodnější, se z levnějších burzovních trhů nabízejí zejména akcie nebo ETF. U ETF ale bohužel platí, že americké tituly nelze s menšími účty v EU díky její regulaci obchodovat a evropské ETF jsou pak vesměs výrazně dražší na obchodování. Jako jedna z nejrozumnějších voleb pro start obchodování se tak jeví americké akcie. Zbývá ale otázka – zaměřit se na jednu akcii, několik málo titulů nebo nějakou větší skupinu?
    Jeden z běžných pohledů na toto téma může být začít obchodovat jediný trh, specializovat se na něj, získat pro něj cit, a teprve potom si přidávat do obchodovaného portfolia další trhy. Musím se přiznat, že v počátku své kariéry profesionálního obchodníka jsem měl na věc podobný pohled, který jsem však v průběhu doby výrazně přehodnotil.
    Obchodování jen jediného trhu není zdaleka optimální a u většiny obchodníků to vede k situacím zbytečně způsobujícím ztráty.
    Jedním z důvodů je ten, že obchodování jednoho trhu svádí technické obchodníky k tendenci „subjektivně předvídat vývoj ceny“. Vnímají, že trh dělá něco, co již v minulosti zažili a trh by se mohl zachovat podle jejich očekávání. Takové přesvědčení bývá velmi silné a často vede k porušení jemných pravidel obchodních plánů. Jednoduše se obchodníci snaží „známou“ situaci obchodovat agresivněji, protože „ví“, jak trh zareaguje. Asi nemusím příliš podrobně rozepisovat, že podobné chování v trzích dlouhodobě generuje ztráty. Budeme obchodovat jen naše pocity a dojmy, které nevycházejí ani z dostatečného statistického vzorku dat. Jednoduše řečeno – naše mysl si vzpomene na jednu, dvě podobné situace z minulosti, kdy trh vypadal podobně jako nyní a bude z toho vyhodnocovat obecné, velmi silné závěry. A věřte mi, mozek je v tomto ohledu specialista. Jednou z jeho základních vlastností je podporovat nás v našem vlastním úsudku, což je přesně to, co se pro trading v podobné situaci vůbec nehodí.
    Dalším úskalím při obchodování jediného trhu je frekvence obchodů. Budeme-li čekat na swingové obchody vycházející z denních grafů, můžeme se připravit spíše na maximálně několik signálů za měsíc (a spíše méně). To je pochopitelně zejména pro začínající obchodníky málo. A tak bude jejich přirozenou tendencí obchodování slabších situací, případně snižování timeframe a přechod na intradenní obchody.
    Místo zaměření se na jediný trh je tak lepší obchodovat více trhů najednou. Můžeme se soustředit jen na nejsilnější situace vycházející například z denní struktury trhu a zároveň budeme mít díky současné analýze více trhů k dispozici větší množství obchodních signálů. U futures kontraktů toto bohužel vede k potřebě větších obchodních účtů, neboť se musíme připravit na situace, kdy budeme obchodovat více obchodních příležitostí najednou. U akcií lze ale obchodovat i velmi malé pozice, a je tak možné obchodovat více trhů i s opravdu malým kapitálem. V případě akcií je navíc současné obchodování více trhů najednou vhodné i z pohledu řízení risku. Jednotlivé akcie mívají tendence silně reagovat na fundamentální zprávy. Není výjimečné, když se přes noc cena titulu hýbne o deset a více procent jedním nebo druhým směrem (např. po vyhlášení ekonomických výsledků firmy). Sám tak obchoduji v systému nejméně 5 různých akciových titulů, většinou ale více. Pokud jedna z držených pozic divoce poskočí, nemá to na celý účet příliš zásadní vliv.
    Jak si vybrat skupinu akcií k obchodování? Tituly si pochopitelně můžeme vybrat úplně sami třeba podle toho, které akcie jsou nám sympatické. Ovšem v takovém případě se s nejvyšší pravděpodobností dopustíte jednoho z „hříchů“ přeoptimalizace – tzv. klamu přeživších. Ten spočívá v tom, že si do portfolia budeme logicky vybírat jen trhy, kterým se dařilo – například dlouhodobě rostly. V takovém případě je zřejmé, že i jakýkoliv backtest strategie bude velmi ovlivněn už jen tím, jaké trhy jsme vybrali. Přitom do budoucna není zaručeno, že dnes úspěšným titulům se bude dařit stejně i nadále.
    Výběr skupiny akcií k obchodování je tak lepší provádět podle určitého systematického klíče, podle kterého jsme schopni kdykoliv v čase přesně definovat trhy, které obchodujeme. Sám pro tyto účely používám složení akciových indexů typu S&P 500, S&P 100, Dow Jones, Nasdaq 100 a podobně. Akciové indexy představují koše akcií sestavované podle jasně daných kritérií. Například Dow Jones Industrial Average je vypočítán z cen akcií 30 velkých společností obchodovaných na amerických akciových burzách. Index je sestavován pod zkratkou DJIA již od roku 1896 a máme tak mj. i velké množství dat k testování. Je potřeba dát si ale pozor na to, že společnosti se v indexech mění. Konkrétně u DJIA ale nejsou změny tak časté. Podle Wikipedie se index změnil od svého založení 54krát. Za posledních 10 let bylo změn 6. Pokud budeme testovat strategie na 30 akciích z indexu DJIA i ručně, dá se to zvládat i včetně toho, že budeme sledovat, které tituly byly skutečně v indexu v daný den zahrnuty. Složení indexů lze nalézt na mnoha stránkách – například finviz.com sekce screener, kde si vybereme index = DJIA. U větších indexů typu S&P 500, který obsahuje přibližně 500 akcií, už je pak lepší použít některé z dostupných programových řešení.
    Je vůbec možné ručně obchodovat například cenové patterny na několika set akciích současně? Vlastně to není vůbec tak náročné, jak to může znít. Je třeba mít na paměti, že v případě pomalejšího swingového obchodování se na jednotlivých trzích objeví silné vstupní situace jen jednou za čas.  Potřebujeme tak mít k dispozici jen řešení, které sleduje všechny potřebné akcie a upozorní nás na momenty, které jsou důležité (například formující se vstupní signál). Takovým řešením se říká skenery (anglicky screener). Pro swingové obchodování akcií je naleznete zdarma na řadě webů – např. již zmíněný finviz.com, oblíbený je tradingview.com atd. Na těchto webech si lze snadno a zdarma vyhledávat akcie splňující určitá obecnější pravidla – například nastavení technických indikátorů. Obchodujeme-li mechanický plán, existuje navíc mnoho softwarů, ve kterých si můžeme naskriptovat přímo konkrétní podmínky našeho obchodního plánu. A to je způsob, jak swingově sám obchoduji. Řekněme, že sleduji situaci průlomu high swingu pro breakout vstup. Danou situaci obchodního plánu si popíši pomocí mechanických pravidel a převedu do skriptu. Každý den ráno pak skript spustím třeba i na několik set trhů a software mě sám upozorní na konkrétní akcie, kde se vstupní pattern nachází. Pak už stačí zadat příkaz do obchodní platformy.
    Tímto způsobem tak mohu obchodovat silné situace odehrávající se na denních grafech trhu třeba jen několikrát do roka a současně mám k dispozici dostatečný počet signálů potřebný pro adekvátní využití pracovního kapitálu.

    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.  
×
×
  • Vytvořit...