Nejprve si definujme, co optimalizace v obchodování skutečně je. V dokumentaci softwaru Strategy Quant X (dále SQX), který pro vývoj automatických obchodních strategií používám se píše:
“Myšlenka optimalizace je jednoduchá. Nejprve musíte mít obchodní systém – například jednoduché křížení klouzavého průměru: pokud EMA(10) překročí EMA(20), jdete do longu, jinak jdete do shortu. Téměř v každém obchodním systému existují nějaké parametry (periody indikátoru, konstanty k porovnání atd.), které ovlivňují výkon systému. Optimalizace znamená najít optimální hodnoty těchto parametrů (poskytující nejvyšší zisk nebo nejlepší poměr Return/DD nebo jiný požadovaný parametr). Bylo by například lepší použít pravidlo „EMA(10) kříží nad EMA(20)“ nebo pravidlo „EMA(15) kříží nad EMA(50)“? Optimalizace tedy může pomoci najít hodnoty, které v minulosti přinesly nejlepší výkon.“
V SQX je možné provádět 4 typy optimalizací:
- Jednoduchou
- Sekvenční
- Walk-Forward
- Walk-Forward matrix
Nechci zabíhat do příliš velkého vysvětlování, co která optimalizace provádí (zájemce odkazuji na volně přístupnou dokumentaci SQX), takže jen v krátkosti:
Jednoduchá optimalizace testuje systém s různými hodnotami parametrů s cílem najít optimální hodnoty těchto parametrů. K tomu použije hrubou sílu nebo přístup genetické optimalizace, aby prošla všemi možnými kombinacemi hodnot pro tyto parametry a použije variantu s nejlepšími výsledky.
Sekvenční optimalizace probíhá postupně. Optimalizuje všechny parametry strategie v tolika krocích, kolik strategie obsahuje parametrů, a to jeden po druhém, dokud nejsou postupně optimalizovány všechny parametry.
Walk-Forward optimalizace je obecně speciální typ backtestu, který se skládá z několika menších backtestů v optimalizačních obdobích. Tyto optimalizační periody jsou rozděleny do celého období zpětného testování a vždy po nich následují testy Out of Sample s optimalizovanými parametry.
Walk-Forward matrix je jednoduše soubor optimalizací Walk-Forward provedených s různým počtem období reoptimalizace a různými % Out of Sample.
Smysluplnost optimalizací jsem se rozhodl otestovat na obchodním systému, který obchoduji na trhu S&P 500 a to za použití simulovaného forward testu na Out of Sample datech od 01/2017 do 11/2021.
Výsledky jednotlivých optimalizací včetně originálního obchodního systému si můžete prohlédnout níže v tabulce:
A jaký jsem si udělal závěr o optimalizaci?
Na netu jsem našel mnoho článků, které tvrdí, že nesprávně provedená optimalizace obchodní strategie vede k systému, který si vedl dobře v minulosti, ale je nepravděpodobné, že bude dobře fungovat na neznámých budoucích datech, anebo, že správně provedená optimalizace může poskytnout cenné informace o vlastnostech strategie, a pokud pochopím, jak správně optimalizovat obchodní strategii, zvýším své šance na úspěch na Out of Sample datech. Zajímavé ale je, že žádný článek svá tvrzení neopíral o žádná čísla.
Z provedeného testu jednoznačně vyplynulo, že pro daný obchodní systém nebudu s žádnou optimalizací ztrácet čas.
Šťastné obchodování!
Martin Malý