Testy robustnosti: In Sample a Out of Sample
V článku „Příklad stavby AOS pomocí StrategyQuant“ jsem popsal, jak pomocí programu StrategyQuant vyvíjím novou obchodní strategii. Dnes popíši, jak provádím testy robustnosti, a sice první z nich, kterým je použití In Sampe a Out of Sample test.
Jakmile mi program vygeneruje dostatečný balík strategií, většinou se spokojím se dvěma tisíci, pustím se do jejich testování. Stanovení historické ekvity strategie, na kterých byla postavena je největší nebezpečí pro strategie vytvářené za použití jakéhokoli procesu strojového učení. A tím vývoj ve StrategyQuantu je. Po vývoji nových strategií se tedy musím ujistit, které z nich jsou robustní. Co to znamená? Jde o to, vybrat takové strategie, které mají vyšší pravděpodobnost, že budou fungovat i v budoucnu.
Co je to robustnost?
Jednoduše se dá říci, že jde o schopnost strategie vyrovnat se s měnícími se podmínkami obchodovaného trhu. Strategie musí pracovat s neznámými daty (v případě, že se vlastnosti trhu nezměnily), a to buď s anebo bez periodického parametru opětovné inicializace. Neměla by přestat fungovat, pokud dojde k vynechání několika obchodů (v reálu je to například způsobeno výpadkem internetového spojení mezi serverem brokera a serverem, kde je AOS spuštěna). Robustní strategie by také neměla být příliš citlivá na vstupní parametry - měla by fungovat, i když mírně změním hodnoty vstupních parametrů, jako je například období indikátoru nebo nějaká konstanta.
Test In Sample a Out of Sample
In sample test je obecně nejzákladnějším testem robustnosti. Jde o test na datech, na kterých StrategyQuant strategie staví (In Sample neboli IS) Oproti tomu Out of Sample test se provádí na takových datech, která při vývoji strategie StrategyQuant neviděl (Out of Sample neboli OOS), tedy je při vývoji strategie nepoužil. Zatímco In Sample test mi slouží ke zjištění, zda je strategie zisková, Out of Sample test mi slouží ke zjištění, zda je schopná generovat zisk také v budoucnosti, kterou představují právě data nepoužitá při jejím vývoji.
Pojďme si oba testy ukázat prakticky:
Modrá část každého grafu obsahuje ekvity mimo vzorek (neznámý) dat. Můžeme krásně vidět, že strategie na horním obrázku dobře funguje i na tuto část, zatímco strategie na spodním obrázku selhává na neznámých datech. V praxi to znamená jediné: StrategyQuant ekvity křivku v druhém případě strategii „namontoval“ na známá data, neboli ji přeoptimalizoval.
Příště popíši test strategie na více symbolů a časových rámců.
Šťastné obchodování,
Martin Malý