Automatické obchodování

Automatické obchodování 8: Proč backtest nestačí?

Backtest je jednoduše simulace strategie na historických datech. Vidíte tedy, jak se strategie chovala před měsícem, před rokem, nebo klidně před sto lety.

Mít kvalitní backtest je důležité. Pomůže nám odhadnout, co od strategie očekávat, zda je vůbec zisková, kolik potenciálně vydělá, jaká má rizika…

Samotný backtest ale nestačí. To je pouze začátek a dále s ním musíme pracovat. Začátečníci se často zaměří pouze na backtest, strategii nasadí a prodělají. Z toho pak vznikají předsudky o tom, že automatické strategie nefungují.

Podívejme se tedy na to, co je potřeba s backtestem dále dělat.

Při stavbě strategií mám tři základní kroky:

  1. Backtest
  2. Testování
  3. Optimalizace / ověření

Backtest provádíme na kvalitních datech, jak jsme si řekli minule. Dnes si povíme něco o testování.

Při testování strategie používám několik metrik. Díky nim zjistím, jak je strategie citlivá na změny v trhu, na brokera atd. Tuto analýzu nazývám testováním kvality neboli robustnosti. Ukažme si na příkladu o co jde.

Příklad testování kvality strategie

Vezměme si jako příklad jednoduchou strategii. Vstupujeme, když klouzavý průměr s perdiodou 50 vystoupá nad klouzavý průměr s periodou 200. Stop loss i profit target máme 200 pipů. Tato strategie je pouze příklad, obchodovat ji nezkoušejte.

Může se ale stát, že její parametry, tedy periody průměrů, SL i PL jsou „napasované“ na historická data a strategie by s nimi byla zisková pouze v backtestu. Musíme tedy změřit, jak moc je na tyto parametry strategie citlivá.

Backtest může vypadat například takto:

K otestování pak používáme tzv. monte carlo simulaci. Zní to možná složitě, ale je to jednoduché. U strategie provedeme 100 až 200 backtestů, každý s náhodnými parametry v určitém rozsahu. Tedy v našem případě bychom vybírali klouzavé průměry v rozmezí 70 až 130, resp. 140 až 260 pro druhý průměr, SL a PT pak mezi 140 až 260 pipy. Z výsledku pak spočítáme, jaké výsledky můžeme reálně očekávat. Celý test samozřejmě nemusíme dělat ručně, ale provádíme jej automaticky, tato funkce je v programu StrategyQuant vestavěná.

Výsledek pak vypadá např. takto:

V pravé části vidíme všech 100 simulací a v levé části statistiku. Nás zajímá šedý řádek a vidíme, že zisk klesl cca na polovinu a DD (riziko) je 2x větší. Výsledek rozhodně není ideální a takovou strategii bych nenasadil.

Testů jako je tento dělám více, např:

  • Pořadí obchodů
  • Vynechání obchodů
  • Změna volatility trhu
  • Atd…

Závěr

Stavba kvalitních strategií je především o testování. V zásadě je jedno, jak strategie stavíme, tyto testy musíme dělat vždy. Dělá je dokonce i kolega, co má na analýzu trhů vlatsní umělou inteligenci. Zkrátka testování kvality je základ. Může se to na první pohled zdát složité, ale není, je to i zábava. Tyto nástroje v metatraderu nenajdete, proto pracuji s programem StrategyQuant, kde všechny tyto nástroje máme.