Pokud jste někdy vytvářeli automatické obchodní strategie (AOS) založené na technických indikátorech, nejspíš jste narazili na otázky, jak nastavit parametry jednotlivých indikátorů. Co když pro EUR/USD existuje lepší perioda RSI než standardních 14? Nebyla by strategie využívající překřížení výnosnější, kdyby perioda rychlého průměru byla o něco vyšší nebo naopak nižší? A hlavně – jak to poznat?
Museli bychom provést spoustu backtestů (pro každou kombinaci parametrů jeden) a pak porovnat mezi sebou výsledky. Problém je, že těch možností, jak nastavit parametry indikátorů, je prostě příliš mnoho, a tak se většina z nás spolehne na historicky prověřené a často přednastavené hodnoty. Ty ale nutně nemusí být optimální. Co se s tím dá dělat?
Pokud to nechcete dělat ručně (a věřte mi, že nechcete) potřebujete buď umět programovat nebo mít k dispozici nástroj na automatické backtestování, který Vám umožní vyhodnotit stovky backtestů a vybrat tu nejlepší. MetaTrader takovou možnost nabízí, ale má to jedno velké úskalí, kvůli kterému představuje taková optimalizace parametrů pro uživatele spíše zaručenou ztrátu než výnos. Oním úskalím je tzv. kopírování křivky (anglicky curve fitting) a při práci s AOS se objevuje v mnoha podobách, proto stojí za to probrat jej detailněji.
Kopírování křivky
Představte si, že znáte budoucí průběh nějakého aktiva. Taková informace by byla zlatý důl – zobchodovat ji by bylo velmi snadné, prostě byste vstoupili do dlouhé pozice dole a do krátké pozice nahoře, s největší možnou pákou a pohádkově byste vydělali. Graf vašich pozic by pak jakoby kopíroval cenovou křivku:
Je tedy jasné, že mít obrovské výnosy na cenové křivce, kterou známe předem, je jednoduché. A do stejné situace se dostane algoritmus, který optimalizuje parametry. Proč? Protože při tom množství parametrů indikátorů použitých v AOS je dost pravděpodobné, že nějaká kombinace parametrů povede v backtestu k sérii obchodů, které bude kopírovat cenovou křivku. Pro počítač je tedy snadné projít všechny možné kombinace parametrů a podívat se, které z nich byla na historických datech nejlepší, ale to samozřejmě nezaručí, že to bude optimální kombinace i na datech budoucích.
Tímto problémem například trpí optimalizace AOS v populární obchodní platformě MetaTrader 4 (MT4) – tester Vám vrátí backtesty všech prozkoumaných kombinací a ty nejlepší jsou tím pádem dobré jen proto, že kopírují křivku, nikoli proto, že by šlo o robustní (tj. zobecnitelné do budoucnosti) výsledky. Optimalizace v platformě MetaTrader 5 (MT5) se tento problém snaží řešit přidáním “forward” analýzy, ale protože na testovacím období (viz následující odstavec) pouští opět velké množství backtestů, tak ta nejlepší strategie z forward analýzy bude opět tak zisková spíše kvůli kopírování křivky než kvůli její robustnosti. Zkrátka, výsledky optimalizace v MetaTrader 4 neposkytují informace, které byste potřebovali, abyste mohli učinit dobré rozhodnutí o volbě parametrů. Optimalizace v MetaTrader 5 už sice klíčové informace poskytuje, ale pokud neovládáte statistické modelování a analýzu dat, a spolehnete se jen na to, která strategie vychází nejlépe ve forward analýze, přijdete nejspíše o peníze.
Robustní optimalizace pomocí AI
Dá se s tím něco dělat? Zde nám mohou pomoci principy strojového učení, konkrétně rozdělení dat na dvě složky – trénovací a testovací data. Jde o jednoduchý a zásadní princip, že výsledek nějaké algoritmické optimalizace nebo učení musí být ověřen na datech, která ten algoritmus při učení neviděl. V našem případě to znamená pustit optimalizaci parametrů např. na cenách EUR/USD v roce 2017 a pak se podívat, jak by takto optimalizovaná strategie fungovala v roce 2018. Pokud by totiž optimalizace „okopírovala“ křivku v 2017, nebude ta strategie v roce 2018 nejspíš k ničemu.
Tím ale přicházíme k dalšímu problému – jak na historických datech optimalizovat strategii tak, aby fungovala relativně dobře i na datech budoucích? To je pochopitelně svatý grál algoritmického obchodování a pečlivě střežené tajemství všech investičních bank a hedge fondů.
V CLEO.one jsme aplikovali další techniky strojového učení, abychom tento problém za vás vyřešili a vy se tak mohli soustředit na tvorbu strategie místo zdlouhavého hledání lepších parametrů. Na naší platformě tak můžete svou strategii optimalizovat na jedno kliknutí a mít při tom jistotu, že se zároveň vyhnete všem těm úskalím.
Nástroj CLEO.one Optimizer je dostupný pro uživatele s Premium účtem. Vytvořte si účet a vyzkoušejte si naši optimalizaci.
Tým CLEO.one