Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • Můj způsob vytváření obchodních systémů

    Pro vydělávání v trzích potřebujeme spolehlivý obchodní systém. Zde jsou tipy, jak systémy vytvářet včetně konkrétní ukázky mého způsobu.

    Vytvářet obchodní systémy lze v zásadě dvěma cestami – rozvinutím základní obecně fungující myšlenky (idea first), nebo pomocí dataminingu. V případě dataminingu prohledávají specializované softwary pomocí genetických algoritmů nejrůznější kombinace indikátorů/price action a z toho vytvářejí obchodní plány. Osobně jsem vůči této cestě dnes velmi skeptický a vnímám ji jako výhodnou spíše pro vývojáře platforem, kteří mají dobře propagovatelný produkt. Bohužel o co jednodušší je pomocí dataminingu systém vyvinout, o to náročnější je profitabilně jej obchodovat v živých trzích.  

    Sám jsem příznivec vytváření jednoduchých systémů z jednoduchých myšlenek (idea first cesta).

    Jak se k systému cestou idea first dostat?

    Při vytváření systémů se snažím nejprve najít obecně fungující princip a ten rozvinout. Pochopitelně to vyžaduje již určitou orientaci v trzích a přehled, který člověk postupně získává praxí. Jako podstatné proto vnímám začít v trzích co nejdříve živě systematicky obchodovat. Pochopitelně s malým riskem, protože z počátku je potřeba se připravit na to, že věci nebudou fungovat úplně ideálně. Doporučuji začít s akciemi, kde lze solidně kontrolovat risk i u velmi malých účtů. Právě každodenní praxe aplikovaná týdny a měsíce do trhů začne generovat nápady, jak trading posouvat a co by mohlo dobře fungovat. Úplně na začátku, když obchodník „nemá nic“, je možné na Finančníkovi vyjít ze strategií vyučovaných ve Swingovém workshopu nebo těch, které obchoduji v Trading Room.

    Obecně fungujících principů existuje celá řada. Poslední roky jsem se věnoval například mean reversion v akciích, který popisuji v knize Od myšlenky k reálným obchodům. Když budete testovat jen úplně holé podmínky mean reversion na denních grafech akcií, dostanete dlouhodobě pozitivní výsledky.

    Na jiných trzích dobře fungují breakouty. Například v akciových indexech. V těch jsem v poslední době pracoval na breakout strategiích a opět jsem začal tím, že jsem hledal nějaký princip, který si dlouhodobě drží edge a dává mi logický smysl. S tím, že pokud takový princip najdu, mohu do něj časovat vstupy skrz breakout silné S/R úrovně a zvyšovat výkonnost systému na obchodovatelnou úroveň.

    Příkladem mohou být situace, kdy akciové indexy otevřou růstovým gapem. Tedy otevřou výše, než uzavřely předchozí den. Otevírací mezera (gap) je způsobena zájmem nakupujících v noční seanci. Dávalo by mi poměrně smysl, pokud by takový zájem přerostl v rostoucí den, do kterého by bylo zajímavé vstupovat pomocí breakoutů.

    Základní ideu pak zkoumám samostatně – bez sledování komisí, stop-lossů nebo dodatečných filtrů. Vesměs jde v Amibrokeru o ultra jednoduchý kód. Takto mohou vypadat výsledky testu. Konkrétně na futures kontraktech na akciové indexy NQ, YM a ES, kdy bychom vstupovali na open v případě otevření růstovým gapem a vystupovali na konci obchodního dne. Jde o backtest za posledních cca 10 let:

    image.png

    Samozřejmě nejde o obchodovatelný systém, ale o zkoumanou tendenci. Vidím, že na ohromném vzorku obchodů (více než 5 000 obchodů) měly trhy tendenci v případě růstového gapu uzavřít výše v 55 % případech. A i bez použití stop-lossu a nějakého jemného časování se RRR blíží 1:1. Princip dále zkoumám na dalších indexech, individuálních akciích a například s obrácenou logikou – mají akcie otevírané s klesajícím gapem tendenci klesat?

    Pokud se základní tendence ověří jako silná (tu výše popsanou jako silnou vnímám), rozvinu ji do jednoduchého obchodního systému. Velmi často stačí přidat nějaký velmi jednoduchý filtr, stop-loss a pochopitelně časování vstupu (v tomto případě breakout silné S/R úrovně).

    Zde je třeba zdůraznit, že bohužel jednoduché systémy nevznikají snadno. Sám si rozděluji data na tzv. in sample (IS), na kterých různé filtry testuji. Například u indexů používám pro intradenní systémy roky 2018–2019. Pak mám out-of sample data (OOS), na kterých ověřuji, zda systémy fungují i na neviděných datech. Mohou to být například roky 2020–2021. V grafech procházím jednotlivé dny s otevíracím gapem a přemýšlím, jaké principy mohou mít vliv na to, jestli trh uzavře výše či nikoliv. Nebývá to proces na jedno odpoledne. O principu mohu přemýšlet třeba týdny a nové myšlenky opět přicházejí hlavně z živého obchodování. Třeba i jiných strategií. Například se mi otevře pozice v mean reversion systému, která ztratí. Dívám se, jak vypadal její intradenní průběh a opačnou logiku vstupu testuji například do breakoutu.

    Pokud jsem s výsledky systému na mých IS/OOS datech spokojený, testuji je na dalších datech, která mám v záloze a která vůbec nepoužívám k vývoji strategií. Na těch chci vidět, že výsledky mají podobnou tendenci, jako na datech, kde probíhal vývoj. Nečekám, že získám perfektní equity křivku, ale strategie by měla i na neviděných datech vydělávat.

    Z výše popsaného idea first principu vznikla například strategie, kterou nyní nasazuji k prvotnímu obchodování. Její equity křivka zahrnující i data nepoužitá při vývoji strategie vypadá takto:

    image.png

    Výsledky backtestu s komisemi. Bez použití reinvestování.

    Strategie má jen jediný nastavitelný parametr (násobek volatility pro vstup do breakoutu ve směru gapu) a jednu jednoduchou price action podmínku. A co více – strategie obchoduje pravidla do longu i do shortu:

    image.png

    Takovou strategii začínám obchodovat s malým účtem živě. Live trading preferuji před paper tradingem proto, že mohu současně vyhodnocovat plnění a skluzy. A pokud strategii přiřadím nějaké malé procento účtu, reálně nemohu příliš ztratit.

    Pokud to shrnu, tak u strategií je pro mě důležité:

    • Mít je postavené na ultra jednoduchém základu, kterému rozumím a který má sám o sobě edge. Mj. je to důležité proto, že tento základ mohu kdykoliv testovat samostatně a sledovat, jestli „edge stále funguje“. To je velmi důležité v době, kdy bude strategie v drawdownu.
    • Mít systém založený na co nejméně filtrech a parametrech. Ve výše popsaném systému je jediný parametr – násobek ATR sloužící pro výběr breakout úrovně. Pochopitelně chci vidět, že systém funguje s různými násobky.
    • Pokud stejnou logiku mohu použití pro long a short vstupy, o to lépe.
    • Backtestované výsledky musí mít dostatek prostoru pro očekávanou horší výkonnost v budoucnosti. Pochopitelně testuji výsledky po odečtení komisí a očekávaném skluzu v plnění.
    • Strategii se nesnažím pilovat k perfektní historické výkonnosti. Neočekávám ani, že bude perfektně fungovat v budoucnosti – stačí mi, když vydělá v přiměřeném časovém horizontu. Pochopitelně, že ji budu obchodovat v portfoliu dalších strategií, kde není úplně podstatné, jak vypadá krátkodobá výkonnost jednotlivých systémů (viz poslední článek Proč obchoduji krátkodobé strategie?).

    Skutečně asi to nejdůležitější, co bych ve vývoji strategií doporučil, je důraz na jednoduchost a testování systémů v portfoliích. Pokud si sestavíte portfolio z několika podobných jednoduchých principů, strategie budou mít rozumné backtesty v minulosti a minimum parametrů, je skutečně vysoce pravděpodobné, že v přiměřeně dlouhém horizontu budete na burze vydělávat. Důležité je také chápat, že strategie sama o sobě nemusí generovat enormní zhodnocení. Podstatné je sledovat zhodnocení ve vztahu k risku a využití kapitálu. Většina krátkodobých strategií (zejména ve futures) využívá kapitál minimálně a v portfoliu je tak možné sdílet jeden kapitál mezi mnoha strategiemi.

    26.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 3

×
×
  • Vytvořit...