Tradestation Walk Forward Optimizer (dále jen WFO) je pokročilým nástrojem optimalizace automatických obchodních systémů (dále jen AOS), který automatizuje velice komplexní víceúrovňový proces statistického walk-forward testování vstupních parametrů (inputs) AOS. Tam, kde většina klasických optimalizačních testů končí, WFO nám umožňuje vykonat soubor walk-forward analýz za použití optimalizovaných in-sample historických dat vůči neznámým a neoptimalizovaným out-of-sample historickým datům za účelem nasimulování nepředvídatelnosti AOS. Účel této simulace je zjistit, zda má daný AOS vysokou pravděpodobnost být ziskový i v rámci živého obchodování či nikoliv. O principu optimalizace vstupních parametrů a out-of-sample testování jsme si řekli mnoho v minulém a předminulém článku, takže se k této problematice již nebudeme vracet.
Proto dnes upřeme veškerou pozornost jen nástroji WFO, který je univerzálním pomocníkem pro testování robustnosti AOS za využití TradeStation backtestovacího enginu, EasyLanguage a pokročilých backtestovacích výkonnostních reportů. K tomu, abychom tento nástroj plně pochopili, si musíme nejprve objasnit, co si představit pod pojmem walk-forward testy, které tvoří základní páteř walk-forward analýzy (dále jen WFA). Pro ilustraci si ukážeme následující obrázek, na kterém vidíme WFA, jež obsahuje sérii in-sample a out-of-sample vzorků historických dat s jednotlivými walk-forward testy (celkem 8 testů).
Obr. 1 Walk-forward analýza
Na obr. 1 vidíme WFA na příkladu 12 měsíců (historickou periodu si stanovujeme my, v praxi používám historická data starší i 10 let). Tato WFA obsahuje 8 tzv. in-sample částí (modré sloupečky) a 8 out-of-sample částí (zelené sloupečky). Od 5. měsíce tak prakticky simulujeme podmínky živého obchodování na neznámých datech.
Jak konkrétně při této analýze postupujeme?
Základní princip je veskrze jednoduchý: Pro všechny běhy in-sample provedeme optimalizační testy a to nastavení vstupních parametrů, které vykáže pro daný in-sample běh nejvyšší fitness function (dále jen FF), pak aplikujeme na out-of-sample data. Pokud Vám problematika FF a optimalizačních testů není dostatečně známá, přečtete si minulé články, na které jsem se již odkazoval v úvodu.
Není nad to si uvést jednoduchý příklad pro zopakování:
Představte si, že obchodujeme s AOS, který obsahuje dva vstupní parametry (inputs) pro delší a kratší klouzavý průměr. Pro delší klouzavý průměr použijeme například rozsah od 50 do 100 s krokováním po 10 (tj. 6 kombinací) a pro kratší 5 až 45 rovněž s krokováním po 10 (tj. 5 kombinací). Dohromady tedy můžeme získat: 5 x 6 = 30 možných kombinací těchto dvou vstupních parametrů. Nyní si představme, že naše FF bude nejvyšší možný čistý profit (Net Profit). Pro první In-Sample běh, tedy 1. až 4. měsíc, zjistíme, že nejvyšší čistý profit měla kombinace 5 pro kratší klouzavý průměr a 60 pro delší klouzavý průměr. Nastavení parametrů 5 a 60 tedy aplikujeme pro 1. out-of-sample testování, tedy 5. měsíc.
Pro druhý in-sample běh, což je 2. až 5. měsíc, zjistíme, že nejvyšší čistý profit měla kombinace 15 a 80. Nastavení parametrů 15 a 80 tedy aplikujeme pro 2. out-of-sample testování, což znamená 6. měsíc.
Stejným principem se posouváme vpřed (walk-forward) až do in-Sample běhu 8 s aplikací na poslední out-of-sample data, tedy 12. měsíc.
Tento princip nazýváme „rolling“ WFA. Vtip je v tom, že si tak historická data rozdělíme na mnoho částí, abychom získali více out-of-sample dat pro relevantní vyhodnocení potenciální robustnosti AOS. Potenciální robustnost pak vyhodnocujeme na základě předem určených testovacích kritérií. Tyto testovací kritéria si představíme v příštím pokračování tohoto článku. Pro začátek si jen řekněme, že základním a charakteristickým testovacím kritériem by pro nás mělo být, aby out-of-sample výsledky byly dostatečně ziskové a minimálně z poloviny tak výkonné jako in-sample výběr nejlepších optimalizovaných parametrů.
Shrnutí
Ze všech výše zmíněných poznatků vyplývá, že WFA analýza je nejrealističtější simulací chování AOS v reálném čase při živém obchodování a pomáhá nám zodpovědět tyto základní otázky:
- Bude AOS ziskový i po vykonání optimalizace k nalezení nejvhodnějších vstupních parametrů pro živé obchodování?
- Jaké výkonnostní charakteristiky by měl AOS splňovat, aby s vysokou pravděpodobností vydělával na neznámých datech při živém obchodování?
- Jaký vliv na výkonnost AOS vyvolá změna trendu, volatility či likvidity v budoucnosti?
- Jak často by měly být vstupní parametry (inputs) pro dané AOS reoptimalizovány?
Mnohem pokročilejším nástrojem, který jde za rámec většiny dostupných softwarových platforem pro trading, je Cluster Walk Forward analýza, která je souborem mnoha Walk Forward analýz a je dostupná v platformě TradeStation. Na jakém principu funguje si představíme v příštím článku.
Petr
(c) AOStrading.cz
Předcházející kapitola: Out-of-sample testování a optimalizace v TradeStation
Nadcházející kapitola: Cluster Walk Forward analýza v TradeStation – pokročilý nástroj testování robustnosti AOS