Mean reversion strategie (obchodování návratu ceny k běžné hodnotě)
Začnete-li podrobně studovat cenové grafy prakticky kterýchkoliv finančních trhů, brzy si jistě všimnete jednoho velmi univerzálního fenoménu. Po výrazných a rychlých pohybech často přichází alespoň krátkodobý protipohyb.
Podívejme se na příklad nedávného chování akcie GOOG:
Na denních grafech je v bodech 1 a 4 vidět, že trh rychle klesl pod klouzavý průměr, aby se cena následný den opět obrátila vzhůru.
A na druhou stranu v bodech 2 a 3 trh až příliš rychle vyrazil vzhůru, aby po výrazné rostoucí volatilní úsečce přišel prudký obrat a cena se vrátila zpět ke klouzavému průměru.
Vybrané body jsou samozřejmě jen diskréční ukázkou, v grafu bychom mohli diskutovat o množství dalších oblastí. Ale pointa je snad zřejmá.
Po rychlých, nadstandardně velkých pohybech, mají trhy tendence tyto pohyby korigovat.
Důvodů je řada.
Volatilní pohyb je většinou způsoben určitou přehnanou reakcí obchodníků – například na fundamentální zprávu nebo na samotný rozjíždějící se trh, kdy řada traderů naskakuje do pohybu jen proto, aby jim cena neutekla. Po vyčerpání příkazů ženoucích trh jedním směrem mnoho obchodníků ukončuje obchody a inkasuje zisk – což v praxi znamená tlak na směrování ceny opačným směrem. A k těmto obchodníkům se přidávají i nové objednávky krátkodobých traderů, kteří si tipují, že cena bude mít tendence vrátit se do oblasti „běžné ceny“.
Tito obchodníci obchodují strategie, kterým se v angličtině říká Mean reversion. Strategie obchodující návrat ceny k běžné hodnotě.
Strategie jsou to poměrně jednoduché a určitě je dobré jim v tradingu věnovat pozornost.
S menšími účty je lze obchodovat např. na akciích (níže uvedený příklad pracuje s účtem 10 000 dolarů).
Jak konkrétně může taková strategie vypadat?
Můžeme vybírat akcie z určitého indexu. Rád mám například Russell 3000 obsahující opravdu hodně akcií. Počkáme si na akcie, které jsou v uptrendu (obchodují se nad svým dlouhodobým průměrem o periodě 200). V případě akcie z indexu Russellu 3000 je lepší orientovat se na trochu dražší a likvidnější akcie (např. s cenou alespoň 40 dolarů a průměrným denním volume 500 000 shares, které jsem použil pro níže publikovaný backtest).
Hlavní princip strategií návratu k běžné hodnotě spočívá ve schopnosti identifikovat výrazný pohyb, po kterém budeme vsázet na reverz ceny.
Triviální podmínka takové situace může být definována tak, že akcie udělá denní pohyb (rozdíl open a close) alespoň 5 %.
Všechny akcie, které daný den udělaly více než 5% pohyb seřadíme právě podle velikosti tohoto pohybu. Použijeme absolutní hodnotu, abychom mohli strategii obchodovat na dlouhou i krátkou stranu. U maximálně 5 trhů (v případě našeho konkrétního příkladu) s nejvyšším pohybem za předcházející den zkusíme zadat do trhu limitní příkaz na nákup/prodej „se slevou“ o velikosti 0,5 x ATR(5). Tedy polovičního denního rozpětí za posledních pět dnů.
Takto může vypadat například long obchod:
Tesla vytvořila 23.9.2020 volatilní 10% pokles (den označený růžovou linkou). Pokles patřil k top 5 z indexu Russell 3000. Následující den zadáme vstupní příkaz „Close cena 23.9.2020 – 0,5 x ATR(5)“. Tedy pokusíme se trh nakoupit se slevou pod uzavírací cenou volatilního dne. V tomto příkladu to vychází na hodnotu 360,65.
Vystupovat můžeme různými taktikami. Rád používám profit target (v případu použit 5 %), výstup například na první rostoucí úsečce (v případě nákupu) a časový stop-loss (kdy je pozice ukončena v následujících několika dnech, pokud nedojde k jinému výstupu – reverzní obchody by měly být rychlé).
Pro short platí vše stejně, jen v obráceném směru. Zde je příklad obchodu na akcii MLM:
29.10.2020 trh vytvořil 6,05% volatilní růst. Další den systém vystavil příkaz na limitní short prodej na ceně „Close cena dne 29.10.2020 + 0,5 x ATR(5)“, konkrétně šlo o úroveň 268,93, na které bychom byli vyplněni. Výstup byl za pár dnů opět na profit targetu.
Pochopitelně, že systém nemá jen ziskové, ale také ztrátové obchody. Prostě jsou dny, kdy se cena po volatilní úsečce neobrátí.
Takto by nedávno vypadala situace v akcii SPT:
V trhu bychom ze shortu vystoupili na prvním klesajícím dni, který by byl ale výše než náš vstup. A tedy bychom realizovali ztrátu.
Úspěšná Mean reversion strategie by nicméně měla mít poměrně vysokou úspěšnost. Pojďme se tedy podívat na backtest našich pravidel:
Zelená křivka zobrazuje obchody na dlouhou stranu, červená na krátkou stranu. Šedá je pak celé „portfolio“. Ve výsledcích jsou započítány komise pro Interactive Brokers. A výsledky vůbec nejsou špatné.
Průměrné roční zhodnocení je na úrovni 23,05 % při nejvyšším drawdownu 17,89 %. Tedy každé z maximálně 5 pozic je přiřazeno 20 % aktuálního kapitálu. Sharpe ratio celého systému je 1,52 a úspěšnost 63 %. Celkový backtest obsahuje velmi reprezentativní vzorek 5 250 obchodů.
A pochopitelně, že Mean reversion systémy lze dále posouvat. Diskutovaná ukázka obsahuje velmi triviální podmínky vstupu a výstupu.
Ale už i tak je vidět, že:
Obchodování návratu ceny k běžné hodnotě lze funkčně provádět i s jednoduchými pravidly.
Strategii se daří zejména v období vyšší volatility v trzích (dobře se jí dařilo například v letošním roce 2020).
Může být zajímavé obchodovat long i short stranu, protože celková křivka je výrazně vyhlazenější. Jsou období, kdy se daří spíše prodejům a období, kdy se více daří nákupům.
Mean reversion strategie lze jednoduše stavět plně mechanicky, a postupně je tak automatizovat.
Líbí se vám uvedený koncept, ale plně nerozumíte probíraným pojmům? Na Finančníkovi doporučujeme kurz Základů obchodování, který se věnuje základům stavby Mean reversion strategie a jejímu zasazení do kontextu zvládnutí základů obchodování.
Máte-li zvládnuté základy, ale bojujete s technickým provedením, pak doporučujeme Workshop swingového obchodování. Ten obsahuje otevřené kódy několika strategií, které sami obchodujeme. Na jejich příkladech si krok za krokem postavíte pod osobním vedením zkušených obchodníků konkrétní swingové miniportfolio a začnete jej obchodovat v trzích.
Potřebujete inspiraci nebo občasnou technickou radu se stavbou mechanických strategií? Pak je zde pro vás skupina TechLab.
Jak vydělávat na zvýšené volatilitě s malými účty?
Dnešní zvýšená volatilita nejvíce nahrává breakout systémům. Tedy takovým, které vstoupí do pozice v momentě, kdy se cena rozjede a systémy se snaží v pohybu zůstat co nejdéle.
Sám takové využívám ve swingové i intradenní podobě.
Swingové breakout obchody
Pokud s tradingem začínáte, nebo nejste zatím vůbec profitabilní, je určitě výhodnější začít se swingovými přístupy držící pozice delší dobu (několik dnů nebo týdnů). Byť to na první pohled tak nemusí vypadat, jejich vytvoření je opravdu výrazně jednodušší a následné obchodování psychologicky méně náročné než intradenní obchodování.
V případě malých účtů může být zajímavé se u swingových breakout přístupů zaměřit na levnější akcie s nižší likviditou. Ty nemohou obchodovat větší hráči, protože v nich reálně nelze otevírat větší pozice, a lze tak v této oblasti nalézt často velmi zajímavé příležitosti. A de facto je to jedna z mála oblastí tradingu, kde malý kapitál představuje konkurenční výhodu (takže je škoda ji nevyužít).
Swingové breakout strategie přitom nemusí být nijak komplikované. Konzervativně se stačí zaměřit na dlouhodobé cenové maximum (například poslední rok) a do pozice vstupovat v momentě překonání této hranice. Strategie pak pracuje se základním stop-lossem (ten je zasažen, pokud trh po průlomu nepokračuje) a posouvaným (trailing) stop-lossem, jehož cílem je z pohybu dostat co nejvíce. Obchod tak může vypadat například takto:
Při obchodování akcií bych určitě začal se strategiemi, které breakouty pouze nakupují. V aktuální chvíli se tak připravuje mnoho zajímavých příležitostí, pokud trhy budou dále růst. Přičemž samozřejmě není potřeba čekat na průlom ročního high a lze agresivněji používat i kratší intervaly. A pokud trhy růst nebudou, tak to zase znamená, že strategie nebudou generovat žádné ztráty a kapitál můžeme využít jiným způsobem.
Pro inspiraci – takto vypadá equity křivka popisovaného přístupu aplikovaného na akcie, které mám v databázi (včetně delistovaných). Jde o více než 20 000 titulů, z nichž systém vybírá ty s nižší likviditou (ale stále obchodovatelné a s cenou nad 1 dolar). Systém drží max. 40 pozic současně a každé přiřazuje 5 % kapitálu. Od roku 1995 obsahuje test velmi slušných 10 564 obchodů:
Křivka je to samozřejmě ilustrační, právě proto, že do malých akcií nelze umisťovat stále vyšší kapitál. Nelze plánovat například takto dlouhodobé navyšování pozic. Na křivce je ale vidět, že edge funguje skutečně dlouhodobě.
Zajímavější může být pohled na obchody od roku 2018, pokud bychom začali s kapitálem 10 000 dolarů a vstupovali/vystupovali na otevírací ceně další den po generovaném signálu (abychom si tak mohli připravit například limitní příkazy atd.). Při započítání komisí z Interactive Brokers bychom stále dosahovali ročního zhodnocení přes 50 % při poměrně nízkém drawdownu. V praxi toto zhodnocení bude snížené o různé skluzy v plnění, na které je třeba se při obchodování akcií s nižší likviditou připravit, nicméně stále je zde z mé zkušenosti dost prostoru pro profit.
Lze přitom očekávat, že se blíží doba, kdy se menší akcie mohou opět dostávat ke svým dlouhodobým maximům, a strategie tak opět začne generovat zajímavé zisky. Bude dobré ji mít připravenou v arzenálu (v případě práce s menšími účty).
Jak konkrétně strategii připravit? Sám používám Amibroker, a pokud jste absolvovali swingový workshop, měli byste být schopni využít předávané know-how a strategii obměnou poskytovaných kódů připravit. Případně jsem do TechLabu připravil v pátek nový tutoriál obsahující i kompletní kostru systému velmi podobného výše screenshotovanému.
Intradenní breakout obchody
V intradenních trzích volatilita jednoznačně nahrává breakoutům volatility. Podrobně se o nich můžete na Finančníkovi dočíst v článku Intradenní breakout volatility. Strategie nejčastěji spočívá v tom, že trh nakoupíme/prodáme v okamžiku, kdy se vychýlil o určitou hodnotu od otevírací ceny (například definovanou násobkem indikátoru ATR) a pozici držíme do konce obchodního dne. Nejzajímavější výsledky bývají na akciových indexech a energiích.
Jak se podobný systém může chovat na akciovém indexu e-mini S&P 500 jsem popisoval nedávno v článku +93 % za 3 měsíce – breakout systém na ES. Je zajímavé si uvědomit, že tento systém nebyl nijak na aktuální volatilitu optimalizován – naopak byl vytvořen již před několika lety. Za poslední měsíc si přitom připsal další nemalé zisky dané hlavně tím, že se trhy nyní hýbou. Takto vypadá další vývoj aplikovaný na mikro S&P 500 – kontrakt, který je 10x menší než e-mini S&P 500, a lze jej tak obchodovat s menším kapitálem:
U mikro S&P 500 je ale dobré mít na paměti, že jakmile současná volatilita opadne, již určitě nebude možné generovat podobná zhodnocení.
Jak podobný systém vytvořit? V TechLabu naleznete můj kompletní tutoriál na Intradenní breakout strategie v Amibrokeru včetně kódů pro Amibroker. Ale je určitě potřeba počítat s tím, že vývoj intradenní strategie je násobně náročnější než vývoj swingové strategie. Pokud jste se účastnili posledního Trading Fora, tak ostatně víte, že si v této oblasti dnes pomáhám pomocí GSB generátoru strategií, což není levná záležitost (a tedy určená pro malé účty), ale opět pro ilustraci. 25. února jsem pro programátora, se kterým pracujeme na systému portfolio exekucí ID obchodů, vytvořil v e-mini S&P 500 tři intradenní breakout strategie. Ty využívaly data jen do poloviny roku 2019 a od 25.2.2020 jsou tedy již 100% „out of sample“ a předané do TradeStation platformy. Takto si přitom vedly od konce února všechny tři dohromady:
Všechny strategie přitom obchodují long i short, a dokáží tak profitovat ať trhy rostou nebo klesají – podstatná je v nich právě zvýšená volatilita:
Závěr
Aktuální zvýšená volatilita přináší mnoho příležitostí, které v posledních letech v trzích nebyly. Breakout strategie jsou nyní žhavější než jindy. A jestli se zaměřit na intradenní nebo swingové příležitosti? Pokud bych začínal a disponoval malým účtem (pár tisíc až desítek tisíc dolarů), zaměřil bych se spíše na swingové obchodování – například právě v méně likvidních akciích. Intradenní futures trhy nabízejí také mnoho zajímavého, ale strategie je třeba obchodovat v portfoliích. A i v případě využití mikro kontraktů to už vyžaduje dostatečný kapitál a rozhodně vyšší náročnost spojenou s vytvářením strategií. Ale jak vidíte na uvedených příkladech, i ta se vyplácí.
Rok živého obchodování s Finwinem
Začátkem roku 2021 jsem v sérii YouTube videí popisoval, jak postupovat krok za krokem při stavbě nového obchodního systému. Začal jsem zkoumáním myšlenky, pokračoval přes backtest až k prvnímu nasazení strategie živě. Videa můžete stále nalézt na stránce finwin.cz.
První obchod jsem provedl 28.1.2021 a od té doby dokumentoval každý nový provedený obchod. Jakkoli bláznivě to může znít, tak i prostřednictvím vstupů, které publikuji prakticky v reálném čase na Twitteru (rychlý přehled obchodů můžete najít na zmíněné stránce finwin.cz). Cílem celé série bylo ukázat, že systematické vydělávání na burze není nedosažitelné. Podstatné je dodržovat určité základní zásady, které jsem se snažil co nejpodrobněji popsat i v knize Od myšlenky k reálným obchodům a jsem přesvědčený, že vydělávat může každý s dostatkem odhodlanosti.
Pochopitelně, že v době počátku publikování seriálu jsem nemohl vědět, jak obchodování Finwinu skončí. Nicméně moje zkušenost ukazuje, že pokud se pracuje s tzv. „idea first“ metodou popsanou i v knize, většinou se pozitivní výsledky dostaví. I proto jsem se nebál poslat Finwin na burzu s reálnými penězi. A vyplatilo se.
Po roce je equity křivka Finwinu na historickém maximu.
Takto vypadá equity křivka systému, pokud bychom jej obchodovali s účtem 20 000 dolarů:
Za rok jsem se systémem zobchodoval 355 obchodů. Absolutně všechny obchody byly reportovány na Twitteru v reálném čase. Reportuji vždy vstup, výstup je na konci dne (jak je podrobně vysvětleno ve videích).
Například takto vypadal Twitter včera (článek píši v pátek 4.2.2022):
Systém shortoval dvě akcie – ARCH a QCOM. A takto vypadá plnění z mého účtu u Interactive Brokers:
Na účtu je vidět nejprve short v QCOM za cenu 189.33 v 15:38:14 a následně short v akcii ARCH v 15:55:56 za cenu 110.99. Přesně, jak jsem v reálném čase reportoval na Twitteru. Pozice byly uzavřeny s uzavřením burzy – ve 22:00 českého času. Zisk si můžete spočítat sami nebo vzít ten z mé brokerské platformy – tyto dva obchody mi včera na účet přinesly 1 145,40 dolarů, tedy cca 24 000 Kč. To znamená, že sám dnes obchoduji Finwin s výrazně vyšším účtem než 20 000 dolarů – postupem času jsem pozice navyšoval.
Finwin jde obchodovat s prakticky libovolným účtem. Dnes sdílím v Trading Roomu jak své signály, tak nástroj autotraderu, se kterým obchody exekvuji. Podobné metody lze obchodovat i s pár tisíci dolary (na výpise je vidět, že komise se pohybují kolem 0,30 dolarů /obchod, což je u IB minimum, které platí i pro menší pozice).
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.
Jelikož jsem sám dynamicky navyšoval v systému pozice, reportuji teoretickou výkonnost s účtem 20 000 dolarů. Ve výkonnosti tedy vstupy a výstupy odpovídají mému živému obchodování, ale velikost pozice vychází z uvedené hypotetické velkosti počátečního účtu bez reinvestování.
Takto by pak vypadaly equity křivky long/short pozic, které jsem obchodoval:
Červená linka představuje zisky shortů, šedá longů. Long i short pozice byly tedy ziskové, ale výrazně více zisků přišlo ze shortů. Což je skvělá zpráva, protože ve svém portfoliu používám Finwin dnes jako jednu ze složek diverzifikace akciových portfolií, které strategie spíše nakupují.
Takto pak vychází porovnání dosažené výkonnosti Finwinu s vývojem SP500 (reprezentovaného tickerem SPY):
Tmavá linka reprezentuje výkonnost Finwinu, šedá linka indexu. Na grafu je vidět, že výkonnost obou křivek je v důsledku velmi podobná. Finwin vydělal více, ale jen o trochu. Obě křivky mají roční míru zhodnocení kolem 20 % (Finwin bez reinvestování, které výkonnost ještě zvyšuje). Velmi podobné byly i drawdowny. Jak Finwin, tak index měly v průběhu roku nejvyšší drawdown kolem 10 %. V čem se ale systémy liší podstatně, je míra využití kapitálu. V indexu by byl kapitál investován celý (100 % účtu), Finwin kapitál používal z 1/3 (konkrétně 27 %). To je ohromný rozdíl, protože 2/3 kapitálu může pracovat a vydělávat v jiných strategiích, což je přesně to, co dělám v rámci svých diverzifikovaných portfolií. Navíc výkonnost indexu byla za poslední rok nadstandardní, jen málokdo myslím očekává, že indexy pojedou dále s roční mírou zhodnocení 20 %.
Co se dalších statistik týče, Finwin ve svém prvním roce obchodoval s úspěšností 52,17 % a pozitivním RRR. Průměrný zisk byl 2,54 % účtu, průměrná ztráta 2,01 % účtu. Expectancy byla 0,36 %. Tedy průměrně lze u obchodu očekávat zisk 0,36 % účtu. Sharpe ratio za první rok obchodování bylo 1,43.
Takto vypadala měsíční distribuce zisků a ztrát strategie:
Dobře je vidět, jak strategii svědčí volatilita v trzích. Letos se strategii slušně daří v momentech, kdy si indexy procházejí propady. Proto tento přístup vnímám jako dobrý pro diverzifikaci pomalejších swingových strategií například ze swingového workshopu.
Shrnutí
S ročním výročím obchodování Finwinu jsem tedy naprosto spokojený. Jednak proto, že jsem sám vydělal nemalé peníze. Ale také proto, že si nedokáži představit o moc lepší inspiraci pro ostatní, než kterou Finwin poskytl. V sérii veřejných videí jsme si kompletně popsali, jak z myšlenky vykřesat konkrétní obchodní systém. Jak uvažovat při jeho nasazení. V průběhu roku jste na Finančníkovi mohli číst komentáře k vývoji strategie a po roce se ujistit, že nasazená strategie je s profity na maximech.
Řada lidí zde na Finančníkovi dnes na základě publikované série určitou obdobu Finwinu obchoduje a vydělává. Jsem rád, že jsem mohl poskytnout inspiraci. V dnešní šílené inflační době je potřeba s penězi aktivně pracovat a automatizované systematické obchodování je z mého pohledu jednou z velmi perspektivních cest. Nejvíce se mi na ní líbí, že práci je třeba odvést jednou při stavbě systému a následně už „věci jedou samy“.
Pokud hledáte asistenci s rozhozením podobného principu obchodování, pak doporučuji začít s knihou Od myšlenky k reálným obchodům. Rozhodnete-li se stavět podobný systém sami, můžete využít kompletní kód mean reversion strategie MR3000 sdílené v otevřené podobě ve swingovém workshopu. U strategie stačí předělat výstup na „EOD“ a Finwin je hotový. Pro pomoc s exekucí systémů se můžete zapojit do Trading Roomu. Zde sdílím přesně stejné signály, které sám obchoduji (a které následně publikuji na Twitteru), plus připravuji průběžně reporty, kde se naučíte na strategie nahlížet s využitím dalšího mého know-how. A samozřejmě je zde k dispozici i můj intradenní autotrader. Obchodníci s ročním členstvím jej dokonce získají v podobě otevřeného Python kódu a mohou tak libovolně strategie rozšiřovat již vlastním směrem bez nutné počáteční časové investice.