U automatických strategií, neboli robotech, je potřeba umět zjistit, zda má strategie šanci fungovat i do budoucna. Najít funkční strategii na historická data není těžké, ale zjistit, zda bude dobře fungovat i do budoucna, již může být oříšek. Odborně se toto nazývá robustnost a říká nám, jak je strategie citlivá na změnu vnějších vlivů apod.
Nebudu vás zde zatěžovat matematickými poučkami a různými modely, ale podíváme se na praktickou stránku.
Testování robustnosti
Robustnost považuji za naprostý základ a používám mnoho různých testů. Celkem jich používám více než 10 a mám je rozdělené do tří skupin. Na jednu stranu jsou testy robustnosti důležité, ale na druhou stranu je potřeba to s nimi nepřehnat. Veškeré testy je potřeba používat umírněně a rozumně. Pak jsou teprve užitečné a chrání nás před přeoptimalizací strategie (přeoptimalizace znamená, že strategie je přesně vyladěná na historické podmínky a takové v reálu nikdy nefungují). Teď se podívejme na kategorie testů.
Testování během vytváření strategií
Již během vytváření strategií pomocí genetického algoritmu mám zapojené první testy robustnosti. Sem patří především out of sample testy (OOS). OOS test jednoduše znamená, že např. na 2/3 dat strategii postavím a na zbylé 1/3 dat ji pouze pustím. Tím ihned vidím strategie, které mimo data, na kterých byly vygenerovány, nefungují. A mohu je snadno odstranit z další práce. Ukázku vidíte na obrázku, kde modrá oblast znázorňuje OOS.
Testování po vytvoření strategií
Jakmile mám vytvořen balík strategií (např. 2000), tak přijde jejich testování. Naštěstí se to dá dělat dávkově a tak nemusím zkoumat jednu strategii po druhé :). Zde je testů přirozeně nejvíce a jsou mezi nimi např. portfolio testy, tedy testy na jiných datech, tak i monte carlo analýzy. Monte carlo analýza je jedna ze základních testů a ukazuje nám, jak je strategie citlivá na změny různých faktorů, jako je např. pořadí obchodů. Výsledkem simulace monte carlo je např. 1000 simulací, kde dojde k zamíchání obchodů a výsledkem je statisticky nejvíce pravděpodobný maximální draw down, tedy riziko strategie. Na obrázku vidíte ukázku takové simulace, kde maximální propad stoupl z 35% na 43%, což je mimochodem slušný výsledek.
Testování po vabrání robustní strategie
Jakmile mám balík strategií probrán a mám strategii která „přežila“ všechny testy, tak čekají poslední testy, jako je např. cluster analýza, jejímž výstupem je 3D graf robustnosti. Popis cluster analýzy je rozsáhlejší, takže to si nechám na extra článek.
Závěr
Robustnost je základ algoritmického tradera a když vidím, jak to lidé, včetně různých lektorů tradingu, zanedbávají, tak mne občas až mrazí. Pokud se s ní naučíte pracovat a budete umět vybírat robustní strategie, tak získáte portfolio, které má velkou šanci dlouhodobě fungovat k vaší spokojenosti. A vy pak můžete být na Barbadosu, dívat se do krajiny z Liv’s lookout a přesto vydělávat :). Testování robustnosti považuji za klíčové know-how a věnuji se mu na mých kurzech o algoritmickém obchodování.
[reklama]