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
  • Jak bez zkušeností vytvářet automatizované obchodní systémy (AOS) s využitím umělé inteligence

    Nevíte, jak postavit obchodní systém? Nechte jej postavit umělou inteligencí, která čerpá z většiny informací týkajících se burzovního obchodování, které byly kdy publikovány. Stačí se česky ptát a základní AOS je za pár minut hotový.

    Velké jazykové modely není jistě na Finančníkovi třeba představovat. Jde o modely jazyka založené na neuronové síti trénované na ohromném množství textu. Modelů, které můžeme využívat, existuje dnes celá řada. Patrně nejznámější jsou GPT od OpenAI, se kterými sám denně pracuji.

    Tyto modely nepředstavují umělou inteligenci ve smyslu, že by měly nějaké vlastní vědomí. Ale jsou to nástroje, se kterými se dá již běžně komunikovat podobně, jako byste komunikovali s člověkem. S člověkem, který má ale načteno neuvěřitelné množství informací a tyto informace umí aplikovat skrz programovací jazyky na poskytnutá data. A tak například vytvářet a testovat obchodní systémy.

    Je potřeba zdůraznit, že například GPT neumí postavit systém, který by stačilo pustit do trhů a vydělávat. Umí ale poskytnout množství inspirace. A skrz postupný dialog je možné dostat se k nuancím obchodních systémů, které jsou inovativní a které by člověka vůbec nenapadly.

    Tady je jednoduchá ukázka, jak to vše funguje.

    Sám používám chat GPT v jeho placené verzi, která stojí 20 dolarů měsíčně. V rámci této verze GPT je možné pracovat s modulem Advanced Data Analysis umožňující do GPT nahrávat vlastní data, která chat GPT použije pro analýzu:

    Adnvaced Data Analysis v prostředí chat GPT

    Po zvolení modulu pro datovou analýzu už se stačí jen ptát. Můžeme začít velmi obecnou otázkou pro vytvoření mean reversion "z ničeho". Takto se zeptám GPT a nahraji mu příslušná denní data QQQ:

    "Jsi zkušený systematický obchodník s velkou znalostí swingových obchodních systémů. Vytvoř long mean reversion systém s využitím dat QQQ. In sample 2010-2019. Pro vstup použij některý z oscilátorů a vystup poté, co se trh vrátí ke krátkodobému průměru. Vstupuj jen v situacích, které jsou z pohledu historických pravděpodobností extrémnější. Publikuj přehled pravidel systému. Proveď out of sample test od roku 2019. U každého testu vytvoř equity křivku a srovnej s výkonností QQQ (graf vytvoř šedě). Publikuj také tabulku s běžnými výkonnostními metrikami."

    A GPT začne pracovat:

    První reakce GPT na vytvoření mean reversion obchodního systému

    Odpověď GPT postupně pokračuje dál:

    Pokračování reakce GPT na vytvoření mean reversion obchodního systému

    Výsledkem reakce chatu je první návrh konkrétní strategie, kdy se GPT rozhodl pro práci s indikátorem RSI a sám navrhl smysluplně vypadající kostru systému.

    Kostra systému je v tuto chvíli triviální, ale vše se dá ovlivnit dalšími dotazy. Můžete zkoušet vytvářet podobné systémy na jakékoliv téma - různé arbitráže, breakouty, momentum strategie. Co vás napadne...

    Všimněte si navíc boxíku "Finished working / Show work. V tomto boxíku se skrývá python kód, který GPT sám vytvořil:

    Python kód prvního návrhu mean reversion strategie.

    Znalost Pythonu není pro práci s GPT nutná, protože kódy GPT vytváří a interpretuje sám. Nicméně pokud kódům alespoň částečně rozumíte, můžete se z nich jednak učit a také lépe GPT směřovat na další vývoj. Na Finančníkovi vyučujeme základy Pythonu posledních několik let, v TechLabu naleznete mnoho tutoriálů i několik minikurzů na osvojení základů práce s Pythonem. Chat GPT v praxi demonstruje, jak se výuka na Finančníkovi logicky uzavírá. I základní znalost Pythonu vám práci s nástroji typu GPT umožní neuvěřitelně akcelerovat. GPT můžete česky instruovat k vytváření kódů, které je v důsledku možné nasadit do autotraderu, který máme na Finančníkovi také v Pythonu.

    Práce s GPT je o komunikaci. Je pravděpodobné, že první návrhy výsledků nevypadají smysluplně, grafy mohou být ve špatném měřítku. Ale GPT stačí říct a on pokračuje v konverzaci navrženým směrem. Například poté, co zobrazil první výsledky, jsem mu napsal, že graf QQQ není v dobrém měřítku (původně publikovaný graf nevypadal dobře) a hned mám opravené řešení:

    Equity křivka in-Sample/out-of sample testu mean reversion systému vytvořeného pomocí GPT.

    Na equity křivkách jsou vidět in-sample a out-of sample testy strategie, kterou navrhl GPT a jejíž výsledky jsou srovnány s držením QQQ.

    A tímto směrem můžeme v konverzi pokračovat dál. Můžeme například GPT požádat o shrnutí pravidel strategie a přepisu do skriptovacího jazyka Amibroker, který hodně pro práci se systematickými strategiemi požíváme:

    Shrnutí pravidel systému vytvořeného GPT a přepis pravidel do AFL programu Amibroker.

    GPT neumí skriptovací jazyk AFL programu Amibroker interpretovat a je velmi pravděpodobné, že ve skriptu budou chybky. Bývá to ale základ, se kterým můžete začít pracovat.

    Mimochodem - v TechLabu, kde získáte praxi s Pythonem, vyučujeme i AFL skriptování. A 16.10.2023 spouštíme minikurz První strategie v Amibrokeru, který vás základy AFL provede. I v kontextu s ukázanými možnostmi GPT je patrné, jak hodnotné praktické znalosti v TechLabu získáte. GPT je možné používat pro solidní generování prototypů obchodních systémů. Know-how naučené v TechLabu vám pak pomůže prototypy dotahovat do produkční fáze.

    Zpět ke GPT.

    Komfort využívání podobných modelů tkví především v tom, že chat si udrží povědomí o provedené konverzaci. Jakmile GPT skončí s vytvářením základní verze systému, můžeme jej požádat, aby myšlenku rozvinul nebo třeba aplikoval v portfoliu. To vypadá takto jednoduše:

    Aplikace základní myšlenky na další trhy a vytvoření grafu portfolio equity

    A takto vypadá vytvořený portfolio graf:

    Graf portfolio equity křivky složené ze dvou trhů s mean reversion strategií.

    Zelená a modrá křivka jsou equity křivky strategie na trzích QQQ a SPY. Červená je výkonnost celého portfolia.

    A tímto směrem lze pokračovat. Můžeme si nechat zkusit vytvořit prototypy breakout strategií, ty kombinovat s mean reversion a podobně.

    Potenciál v této technologii je pro trading opravdu vysoký. Zejména pokud se dokážete ptát a rozvíjet odpovědi, které modely vrací. Chat GPT sám o sobě nepřijde zatím se systémem, který by byl použitelný tak, jak jej sám vygeneruje.  Ale dokáže inspirovat. Představte si, že byste o stavbě mean reversion systémů vůbec nic nevěděli. A jak je vidět výše, stačí pár otázek a rázem máte nejen představu, jak vše funguje, ale i konkrétní backtesty a kódy, se kterými jde dál pracovat. A takto jde postupovat v dalších oblastech. Potřebujete rozvíjet momentum strategie? Můžete s GPT diskutovat o momentum faktorech, které ostatní obchodníci ve svých systémech používají, nechávat je ověřit backtesty a smysluplně vypadající myšlenky implementovat například do Amibrokeru.

    Podobná prostředí jsou z mého pohledu opravdu revolucí posouvající možnosti retailových obchodníků s omezenými budgety na vývoj a výzkum blíže k tomu, co si mohou dovolit různé instituce (které ale mají s vývojem také neuvěřitelné náklady na mzdy analytiků).

     


    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.

    • Líbí se 3
    • Děkuji 1

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

    Časování návratu k průměru pomocí implikované volatility

    Jedním z tradičních přístupů v systematickém obchodování s akciemi je strategie návratu k průměru (mean reversion). Tato strategie se zaměřuje na situace, kdy cena akcie dočasně vybočuje od své průměrné hodnoty a očekává se, že se brzy vrátí k normálu. Tradičně se pro časování vstupů používají nástroje technické analýzy. V dnešním článku se s vámi podělím o svůj inovativní přístup k časování vstupů vycházejících z očekávání opčních obchodníků.
    Obsah:
    Co je implikovaná volatilita? Co je realizovaná volatilita? Využití implikované volatility ve strategii návratu k průměru Praktické zkušenosti s obchodováním systému Dlouhodobý backtest systému Kombinace mean reversion systémů založených na implikované a realizované volatilitě Shrnutí Co je implikovaná volatilita?
    Pro časování vstupů a výstupů v rámci dnes popisované strategie budeme pracovat s tzv. implikovanou volatilitou (IV). Hodnota vyjadřuje očekávání obchodníků ohledně budoucích pohybů cen akcií odvozenou z cen opčních kontraktů.
    Tato volatilita se obvykle počítá na základě opcí s expirací přibližně 30 dnů a poskytuje představu o tom, jaké cenové pohyby mohou investoři v dané akcii očekávat v následujícím období. Pro využití IV nepracujeme s opcemi. Jde jednoduše o jedinou hodnotu, kterou stahujeme od svého poskytovatele dat.
    Pokud je například implikovaná volatilita akcie 15 %, znamená to, že trh očekává, že se cena této akcie bude během následujícího roku pohybovat o ±15 % kolem své aktuální hodnoty s 68% pravděpodobností (v rámci jedné standardní odchylky). Implikovaná volatilita je prakticky takový VIX index, ale pro jednotlivé akcie.
    Co je realizovaná volatilita?
    Realizovaná volatilita (historická volatilita) naopak vyjadřuje skutečné pohyby ceny akcie v minulosti. Zatímco implikovaná volatilita předpovídá budoucí pohyby na základě cen opcí, realizovaná volatilita se počítá z historických dat cenových pohybů akcií. Pro výpočet se běžně používá například indikátor Average True Range.
    Realizovaná volatilita je retrospektivní měřítko toho, jak moc se cena trhu skutečně měnila v určitém časovém období. Mnoho mean reversion strategií tradičně využívá právě realizovanou volatilitu k identifikaci momentů, kdy došlo k neobvyklým cenovým výkyvům, které pravděpodobně neodpovídají průměrnému chování dané akcie.
    Využití implikované volatility ve strategii návratu k průměru
    Mean reversion systémy využívající implikovanou volatilitu mohou být extrémně jednoduché. Sám postupuji následovně:
    Stahuji hodnoty implikované volatility pro jednotlivé akcie z Interactive Brokers. Porovnávám denní cenový pohyb s hodnotou denní implikované volatility. Pokud pokles akcie za jediný den překročí hranici denní implikované volatility, může to signalizovat, že trh ovládla panika a akcie se po zklidnění situace vrátí k průměru. Takové trhy nakupuji. Je-li systém v dlouhé pozici, snaží se vystoupit na profit targetu odvozeném z hodnoty denní implikované volatility – ta nám napovídá, jaký může být přibližně denní rozkmit trhu. Praktické zkušenosti s obchodováním systému
    Long mean reversion systém založený na porovnání denního pohybu s implikovanou volatilitou obchoduji živě od března 2024. Systém, kterému říkám DEEPDIP, obchoduji v rámci portfolia na svém větším účtu u Interactive Brokers.
    Systém mám nastavený tak, že čeká na extrémnější situace a neobchoduje tak příliš často. Od spuštění jsem živě zobchodoval 17 obchodů s anualizovaným zhodnocením 10,19 % při drawdownu -2,52 %. Sharpe ratio mých živých obchodů je 1,89. Zhodnocení systém dosáhl při průměrném využití 3,84 % kapitálu. Což je z mého pohledu opravdu excelentní.
    Takto vypadal jeden z posledních obchodů:

    Jde o typický mean reversion obchod, ve kterém je pozice otevřena maximálně několik dnů.
    Dlouhodobý backtest systému
    Na základě svých pozitivních zkušeností se systémem jsem DEEPDIP zařadil do systémů sdílených v dashboardu Trading Room. K dispozici jsou zde nyní úplně stejné signály, které sám zadávám do trhu.
    Zde je kopie backtestu z dashboardu Trading Room:

    Od roku 2019 je hypotetická (backtest) výkonnost systému srovnatelná s výkonností S&P 500, ovšem při podstatně nižším drawdownu (DEEPDIP -4,68 %, S&P 500 -33,70 %) a zejména při výrazně nižší alokaci kapitálu. Pro dosažení výnosů využíval DEEPDIP kapitál jen ze 4 %! Systém tak lze efektivně kombinovat do systematických portfolií s dalšími systémy.
    Kombinace mean reversion systémů založených na implikované a realizované volatilitě
    Využití implikované volatility k časování krátkodobých akciových obchodů je zajímavé i z toho důvodu, že vstupy bývají v úplně jiných situacích než při časování skrz realizovanou volatilitu. Analýza mých živých výsledků z roku 2024 ukazuje, že výsledky z long mean reversion strategie založené na implikované volatilitě a výsledky z long mean revision strategie založené na realizované volatilitě mají velmi nízkou a navíc negativní korelaci. Konkrétně jde o hodnotu -0,28.
    Sám tak ve svém US portfoliu obchoduji 3 mean reversion systémy – MR3000L (long systém vstupující na základě realizované volatility), MR3000S (short systém vstupující na základě realizované volatility) a DEEPDIP (long systém vstupující na základě implikované volatility). Signály všech systémů tak, jak je obchoduji, sdílím v Trading Room. MR3000 Long/Short je navíc k dispozici jako hotový swingový systém (viz - Swingový simple mean reversion (SMR) systém – „hotové kódy“).
    A takto vypadají mé živé výsledky tohoto „mean reversion portfolia“. Jde o skutečná plnění z Interactive Brokers mých reálných obchodů, které jsem jen přepočítal na kapitál 10 000 USD a alokaci přidělenou pouze těmto systémům:

    Černá linka představuje výkonnost „mean reversion“ miniportfolia, oranžová benchmark v podobě držení SPY.
    Při takto volených váhách (kdy bych měl v portfoliu jen tři mean reversion systémy) by tedy mé portfolio obchodovalo po započtení skluzů a poplatků podobně jako S&P 500, podstatné ovšem je, že průměrně alokovaný kapitál byl jen 32 %. Cca 70 % kapitálu bych mohl dále využívat v jiných systémech!
    Což je to, co přesně v rámci svého obchodování dělám. Stejný kapitál sdílený s mean reversion strategiemi ještě využívám v rámci momentum strategií a také v rámci intradenních strategií.
    Shrnutí
    Použití implikované volatility v obchodování návratu k průměru představuje podle mého názoru zajímavou alternativu k tradičním přístupům založeným na technické analýze a realizované volatilitě. Na rozdíl od realizované volatility, která se zaměřuje na minulost, implikovaná volatilita poskytuje představu o budoucích očekáváních trhu, a může tak pomoci lépe načasovat vstupy do obchodů.
    Tato metoda je obzvláště zajímavá v obdobích zvýšené volatility, kdy jsou cenové pohyby trhem výrazně podhodnoceny nebo nadhodnoceny.
    Osobně jsem se zatím nikdy s podobným využitím implikované volatility nesetkal a rozhodně si myslím, že tato cesta stojí za využití. Cesta k systému navíc není složitá. To hlavní, co dělám, je porovnání aktuálního poklesu trhu s implikovanou volatilitou stahovanou k jednotlivým akciím z Interactive Brokers.
    Pokud chcete systém využívat bez jakýchkoliv časových investic, zvažte práci se stejnou strategií, se kterou sám pracuji. Kompletní backtesty a své signály sdílím v rámci dashboardu Trading Room (spolu s dalšími strategiemi, se kterými obchoduji). Registrovat se můžete do Trading Room zde.

    Mé workflow vývoje intradenních systémů

    S tím, jak postupně do svého automatizovaného portfolia nasazuji i intradenní systémy, jsem si pro sebe definoval určité „workflow“, s nímž systémy tvořím. Zde jsou tipy, které mohou pomoci i vám.
    Obsah článku:
    Jak na intradenní obchodní systémy? Vývoj systémů na denních datech Intradenní stop-lossy na denních datech Prototypování systémů vs. jemné testování Ukázka workflow Závěr K příspěvku mě dovedl tento dotaz v Trading Room:

    Jak na intradenní obchodní systémy?
    Předně žádná cesta v rámci intradenního obchodování nebude bez práce. Tedy samozřejmě kromě té, kdy si koupíte nějaký zázračný software, kde vám po stisknutí tlačítka začne sám připravovat zaručeně robustní AOS.
    Sám na podobné zázraky nevěřím, a tak nezbývá než investovat čas do ručního testování různých nápadů, ze kterých následně tvořím reálné „idea first“ obchodní systémy.
    Potíž s intradenními systémy je především v tom, že pracujeme s ohromným množstvím dat. Bez ohledu na zvolený software je vše výrazně pomalejší, náročnější na hardware a do velké míry i na know-how. S jemnými intradenními daty lze vymýšlet násobně více taktik než na denních datech, což s sebou přináší i výrazně vyšší riziko přeoptimalizace, chyb v kódech či v následném automatizovaném obchodování.
    Osobně se mi tak osvědčilo vyvíjet intradenní systémy na denních datech.
    Vývoj systémů na denních datech
    Denní data obsahují informace o otevírací a uzavírací ceně, denní minimální ceně a denní maximální ceně. S denními daty se proto pracuje velmi efektivně – za rok máme přibližně 250 úseček. Pracovat pak lze v programech, jejichž ovládání známe ze swingového obchodování (např. Amibroker).
    Ovšem jak na denních datech vyvíjet intradenní systémy? Tím, že nevidíme „dovnitř“ denních úseček, tak pochopitelně můžeme vyvíjet jen určité typy intradenních systémů. Například jednoduché breakout či mean reversion systémy vycházející z denní otevírací ceny či jiného fixního bodu denních grafů.
    Nemůžeme tak například vytvářet obchodní systém obchodující průlom např. 5minutového otevírací rozpětí popisovaného v článku Jak na první daytrading autotrader [včetně funkční strategie a kódu]. Z mé zkušenosti to ale tolik nevadí. Protože i jen na denních datech lze najít mnoho funkčních intradenních přístupů (sám jsem takto dříve vyvinul Finwin, který dnes obchoduji řadu let).
    Intradenní stop-lossy na denních datech
    Největším úskalím při vývoji intradenních obchodních systémů na denních datech jsou stop-lossy. Na denních datech nevidíme „dovnitř“ úseček a jen těžko se odhaduje, jestli byla u obchodu dříve zasažena úroveň stop-lossu, vstupu či výstupu.
    Osobně tak začínám s vývojem strategií s velmi vzdáleným, nebo žádným stop-lossem. Ve svých systémech často pracuji s indikátorem ATR a jedním z typických příkladů vzdáleného stop-lossu je 1xATR. Takový už bývá spolehlivě identifikovatelný i na denních grafech.
    Ve svých testech tak chci nacházet strategie, které relativně stabilně fungují i s velkými stop-lossy. A teprve až takovou strategii objevím, otestuji ji na intradenních datech.
    Prototypování systémů vs. jemné testování
    Svou práci tak můžu rozdělit do dvou základních kroků:
    Prototypování systému na denních datech Finální backtest hotového prototypu na intradenních datech Pokud jste vývoj intradenního systému nikdy nezkoušeli, možná nevidíte v rozdělení práce do zmíněných bodů žádný zásadní benefit.
    Pro mě tam rozdíl je – především v efektivitě. Nejsem programátor a s jakýmkoliv skriptováním bojuji. A skriptování na intradenních datech je pro mě násobně náročnější než na denních. Při hledání nových obchodních přístupů testuji průběžně řadu různých myšlenek. Mohu například zkoumat signály vycházející z korelace či divergencí trhů, sezonality, market internals a podobně. Podobné testy mám na denních grafech hotové velmi rychle.
    A pokud vypadá nějaká myšlenka nadějně, tak teprve potom věnuji pozornost přípravě intradenního kódu, pro který nejčastěji používám TradeStation či Python.  V momentě, kdy vím, co přesně potřebuji naskriptovat, už to nemusí být tolik složité.
    Ve finálních testech s intradenními daty navíc první backtesty provádím se vzdáleným stop-lossem podobně, jako jsem to dělal ve fázi prototypování. A logicky bych měl dostávat podobné výsledky, čímž si ověřuji funkčnost svých kódů.
    Ukázka workflow
    Na denních datech testuji různé myšlenky. Jedním z dobrých směrů může být například intradenní breakout na akciovém indexu. Např. Nasdaq 100. Breakout systém má v principu jednoduchou konstrukci. Vezmeme nějaký počáteční bod – např. denní open, poslední close, nejvyšší high za posledních x dnů a podobně, přidáme k bodu určitou vzdálenost (sám rád pracuji s násobkem ATR), a pokud trh tuto úroveň překoná, zaznamenáme long breakout a držíme pozici do dosažení profitargetu či do konce dne. Pokud se trh obrátí, vystoupíme na stop-lossu. Jak jsem zmínil, u prototypů podobných systémů na denních grafech používám vzdálený stop-loss (např. 1xATR).
    Testy na uvedené úrovni jsou např. v Amibrokeru velmi jednoduché s tím, že do popsané kostry systému budete chtít zakomponovat pravděpodobně ještě nějaký „filtr“. Bez toho nebude systém reálně obchodovatelný.
    A takto může vypadat výsledek prototypu:

    Pro ilustraci jsem zobrazil equity křivku prototypu „long intradenní breakout v Nasdaq 100“ vytvořenou pouze z denních úseček (modrá barva) vs. finální backtest s využitím intradenních dat (oranžová barva). 
    Equity křivky nejsou úplně stejné zejména proto, že v tomto případě intradenní backtest probíhal v Pythonu, kde se mi trochu jinak počítá ATR než v Amibrokeru. Podobné detaily nejsou z mé zkušenosti podstatné, protože ve finálním živém obchodování se do procesu živého obchodování na burze stejně dostává určitý prvek náhody.
    Ale to podstatné je jistě patrné – prototyp se vzdáleným stop-lossem (1xATR) odpovídá finálnímu intradennímu backtestu.
    Funguje to samozřejmě i na delší historii dat:

    Finální myšlenku pak už ladím v samotném intradenním backtesteru. Zde zejména testuji jemnější práci s bližšími stop-lossy. Protože ty z mé zkušenosti nelze na denních datech používat – vedou k příliš optimistickým závěrům.
    Dobře je to patrné na tomto screenshotu:

    Zde jsem v prototypu na denních datech snížil stop-loss na 0,4x ATR (modrá linka) a následně provedl stejný backtest na intradenních datech (oranžová linka). Je zde patrné, že pokud bychom malý stop-loss použily už v prototypu pracujícím s denními daty, budou naše závěry z backtestu příliš optimistické.
    Závěr
    Dnešní tip ukazuje, že pokud budete určitý typ intradenních systémů prototypovat na denních datech, můžete se poměrně dobře na výsledky spolehnout za předpokladu, že budete pracovat se vzdálenějšími stop-lossy (např. 1xATR).
    Pokud se tak chcete do vývoje intradenních systému pustit, můžete začít právě na denních datech. A teprve až budete mít hotový funkční prototyp (jakože najít obchodní systém trvá určitě týdny až měsíce), pak už není zas takový problém konkrétní jednu finální myšlenku převést do příslušného intradenního backtesteru (např. s použitím TradeStation).
    Jinými slovy – není třeba se od počátku stresovat z potřeby ovládnutí dalšího softwaru. Ale je možné začít na stejném softwaru, který používáte pro analýzy denních grafů a teprve, až budete mít jasnou představu o potenciálním intradenním obchodním systému (podloženou funkčním prototypem) tak řešit, jak systém finálně otestovat na intradenních datech.

    Zkušenosti s vývojem jednoduchého, ale profitabilního AOS – cesta tradera Mirka

    Po čase se vrátíme opět ke zkušenostem traderů, kteří dokázali proměnit touhu po úspěchu až do konkrétního profitabilního tradingu. V článku naleznete zkušenosti tradera, diskutujícím pod nickem Mirek77, který se s ostatními pravidelně dělí o zkušenosti s více než 1,5 lety ostrého provozu svého poměrně jednoduchého AOS na forexu, založeného na známých patternech Larryho Williamse.
    Článek je rozdělen do dvou dílů. Pokračovaní naleznete na Finančníkovi za týden.
    Mirku, můžete stručně představit svůj vývoj z pohledu tradera? Jak dlouho se tradingu věnujete, jaké cesty jste zkoušel a jak dlouho vám trvalo, než jste objevil svoji cestu profitabilního obchodování?
    Tradingem jsem se začal zabývat asi před třemi lety. Když jsem hledal způsoby, jak se naučit seriózně investovat, narazil jsem na pojem „trading“ jako takový a především na váš server Finančník.cz. Necelý rok jsem jen studoval, hledal inspiraci a cestu, jak nejlépe celou tuto problematiku pojmout. Zúčastnil jsem se vašeho spreadového workshopu, což mě opět posunulo hodně kupředu. Nicméně u spreadů jsem nezůstal, jako vhodnější se mi jevil Forex díky nižší kapitálové náročnosti a velké podobnosti s futures. Když jsem objevil platformu MetaTrader a možnost používat automatické strategie, tak jsem, zřejmě jako každý nováček, vyzkoušel snad všechny Expert Advisors (EA), co se daly sehnat. Výsledky byly samozřejmě naprosto nepoužitelné. Byl jsem z toho docela zdrcený.
    Na druhou stranu jsem ale věděl, že existují tradeři (např. Woodie), kteří profitabilní jsou. Dal jsem si tedy závazek, že do toho budu „bušit“, dokud bude potřeba. Studoval jsem tudíž kódy strategií a přístupy jejich autorů, četl knihy o tradingu a osobním rozvoji a úspěchy se pomaličku začaly dostavovat. Výsledky backtestů už nebyly katastrofální, pouze velice špatné. V průběhu studia dále špatné, nic moc, „nalej-vylej“, později i nějaká naděje na zisk. Zjistil jsem, že nemá cenu se honit za spoustou obchodů na nízkých timeframes, že denní a hodinové grafy mi dělají mnohem lepší službu, dosáhnout na nich dobrých výsledků je mnohem, mnohem jednodušší. Jak jsem se dozvídal nové věci, hned jsem se je snažil naprogramovat a otestovat.
    Zde bych rád podotknul, že programátorem jsem se nenarodil, ale musel jsem postupně zjistit (např. na fórech), jak nejlépe jednotlivé části strategie vyřešit technicky a vychytat hodně chyb (především vlastních). Postupem času přestávalo být udržitelné, abych měl pro každou strategii vlastní kód. Vytvořil jsem tedy univerzální EA a zavedl parametry pro výběr vstupů, výstupů, řízení pozice a filtry signálů. Sady (sety) těchto parametrů ve spojení s kódem samotným tvoří jednotlivé strategie systému All2Gather.
    Když už byly mé kódy na slušné úrovni, bylo třeba řešit overfitting. Výsledky backtestů vypadaly výborně, ale na nezávislém vzorku dat strategie prodělávala. S těžkým srdcem jsem musel „zahodit“ většinu svých tak pracně (pře)optimalizovaných vstupů a snažil jsem se o co nejmenší počet faktorů, které strategii mohou ovlivňovat. Tehdy mi hodně pomohlo studium přístupu a patternů Larryho Williamse.
    Zároveň jsem zkusil použít určité procento průměrné volatility trhu pro stanovení velikosti StopLossu, Profit Targetu a Trailing SL. Dále jsem zjistil, že je potřeba hledat takové oblasti nastavení parametrů strategií, kde i při jejich mírné změně nedochází k velkému zhoršení výsledků. Toto je samozřejmě časově náročné, ale MetaTrader mi umožnil udělat takových backtestů tisíce. Ověřil jsem si, že i v tradingu vede správná cesta přes spoustu neúspěchů a malých pokroků.
    Většina začínajících obchodníků má pocit, že svůj přístup musí postavit na nějakém velmi jemném a „tajném“ edge, nejlépe koupeném za velké peníze. Vy jste svůj plně automatizovaný systém založil na patternech Larryho Wiliamse, které jsou všem k dispozici v jeho knihách. Do jaké míry používáte pro vstup patterny v jejich základní podobě?
    Jsem silným zastáncem price action. Po této stránce mi patterny Larryho Williamse velmi vyhovují. Pokusím se tedy stručně popsat ty, se kterými dosahuji nejlepších výsledků.
    Reverzní den (Reversal day)
    Jak píše Larry ve své knize „Kompletní průvodce obchodováním komodit [1]” na straně 190: “Co když ale trh zavře níže než předchozího dne a zároveň níže než byla jeho otevírací cena?”... Jedná se podle něj o jeden z nejsilnějších býčích patternů.

    Open a Close jsou na Forexu dost relativní hodnoty, můj broker neobchoduje pouze přes víkend. Musel jsem si jej pro Forex tedy trochu upravit, protože jsem dostával příliš mnoho falešných signálů. Moje pravidlo pro nákup je následující:

    Místo Open a Close používám hodnoty Low z předchozích dvou dnů. Druhá část pravidla se snaží o vstup v souladu s trendem.
    Pravidlo pro prodej je opačné, s využitím hodnot High.
    Obvykle požaduji, aby byl vstupní signál potvrzen určitou „Tolerancí“ – cena se ještě musí pohnout ve směru zamýšleného obchodu. Vystupuji na prvním profitabilním Open (Bailout Exit), na základním StopLossu či ProfitTargetu.
    Ukázka vstupů na základě tohoto patternu:

    Léčka specialistů (Specialist’s Trap)
    Tento pattern jsem objevil v knize “Dlouhodobá tajemství krátkodobých obchodů”.
    Vezměme maximální a minimální cenu za předchozích 20 dnů. Pokud půjde cena pod toto rozpětí, situace se nazývá “range breakout”. Nazvěme čárku, která udělala tento breakout “čárka B”. Pokud druhá až sedmá čárka (já používám pouze třetí) po čárce B překročí High čárky B, jedná se o nákupní signál. Prodejní signál funguje opačně.
    Selhání “range breakout” je tedy originální Williamsovo pravidlo, x-tá čárka, při které selhání nastane, už však můj přídavný filtr či optimalizace.
    Vystupuji opět na prvním profitabilním Open (Bailout Exit), na základním StopLossu či ProfitTargetu.
    Breakout volatility (Volatility Breakout)
    Tento pattern označuje Larry Williams jako svůj vůbec nejsilnější.
    50% včerejšího range (High – Low) se přičte k dnešnímu Open. Pokud cena překročí tuto hodnotu, strategie vstoupí do dlouhé pozice. Analogicky pro prodejní signál - tatáž hodnota se odečte od dnešního Open. Pokud cena klesne pod tuto hodnotu, strategie vstoupí do krátké pozice.
    Stop Loss se nastaví taktéž na 50% včerejšího range (tj. teoreticky na hodnotu dnešního Open).
    Strategie vystupuje z pozice buď na tomto základním StopLossu nebo na prvním profitabilním Open, resp. až v 7h ráno – moje pojetí Bailout Exit.
    50% range je výchozí hodnota. Pro jednotlivé trhy je možno ji mírně upravit (např. na EURUSD funguje dobře 60% pro vstup a 40% pro StopLoss).
    Ukázka vstupů na základě tohoto patternu:

    Všechny zmíněné strategie obchoduji na denním timeframe.
    Pro filtrování vstupů dále používám Larryho koncept TDW (Trade Day of Week) – např. pro pattern Reverzní den na GBPUSD jsou to pondělí, úterý a pátek.
    Pro příklad - skutečná equity křivka strategie „Reverzní den“ od začátku obchodování:

    Předpokládám, že hlavní své know-how vidíte tedy nikoliv ve vstupu, ale v řízení pozice, risku, money-managementu a diverzifikaci. Můžete se s ostatními podělit o základní poznatky, které jste v této oblasti v souvislosti s obchodováním svého systému získal?
    Rozhodně. Nesnažím se hledat nějaké hodně velké „edge“, které by správně predikovalo směr trhu. Snažím se mnoho maličkých „edge“ spojit do jednoho systému. Začal jsem být úspěšný, když jsem pochopil, že nemám šanci uhodnout, kudy se trh v danou chvíli vydá. Naprosto nekompromisně musím dodržovat svůj systém a nechat se „volně unášet“ v rámci nastavených mantinelů.
    Nutnost použít základní StopLoss při vstupu do každé pozice, myslím, nemusím rozebírat.
    Pro řízení pozice používám u dvou ze čtyř strategií Trailing StopLoss (posun SL pod předchozí Low nebo nad předchozí High).
    Velice se mi rovněž osvědčil Williamsův Bailout, tj. výstup na prvním profitabilním Open. Jelikož můj broker umožňuje obchodování od 7h ráno, aplikuji ho v tuto dobu.
    Co se týká řízení rizika, pro každou pozici riskuji fixní procento zůstatku na účtu. Podle průměrné volatility stanovím velikost základního StopLossu a podle nastaveného rizika spočítám maximální počet lotů, které mohu v danou chvíli otevřít.
    Snažím se pravidla svých strategií co nejvíce zobecnit a relativizovat. Některé parametry sice nastavuji fixně, v dlouhodobém měřítku a v kombinaci s ostatními faktory to však není na závadu.
    Když při vývoji strategie váhám, pro kterou kombinaci parametrů se rozhodnout, preferuji tu, která dělá raději méně obchodů, abych se zbytečně nevystavoval riziku zůstávání v trhu. Ve chvíli, kdy mé „edge“ ztrácejí svůj potenciál, nezůstávám v trhu déle, než je nutné.
    Sleduji, jestli je strategie úspěšná díky náhodě (pár velmi ziskových obchodů za testované období) nebo zda zisku dosahuje pravidelně. Vyhýbám se přístupům s nízkým Risk-Reward Ratio. Strategie, které mají obrovský StopLoss, maličký ProfitTaking a tím vysokou úspěšnost, jsem už dávno opustil.
    Portfolio strategií se snažím sestavovat tak, aby výsledky obchodů jednotlivých strategií byly mezi sebou pokud možno aspoň trochu negativně korelované. Při sestavování strategií nehledám kombinaci, která maximalizuje zisk, spíše přihlížím k ukazatelům jako Sharpe Ratio, Sortino Ratio, standardní odchylce, zešikmení a špičatosti rozdělení výsledků obchodů, případně k dalším robustním metrikám.
    Pokračování rozhovoru naleznete na Finančníkovi v článku https://www.financnik.cz/clanky/serialy/live-trading/zkusenosti-s-vyvojem-jednoducheho-ale-profitabilniho-aos---cesta-tradera-mirka-dokonceni-r984/.
×
×
  • Vytvořit...