Další díly tématického seriálu :

Vyhledávání v článcích
Tip na knihu


Jak na...

Přímá cesta k informacím

Backtesting: TradeStation


V minulých částech volného seriálu o backtestingu jsme hovořili o tom, co to backtesting je, k čemu je dobrý, ukázali jsme si „ruční přístup“ a stručně si představili programy, kterými lze backtesting automatizovat. V dnešním díle si na konkrétním příkladu ukážeme, jaké možnosti v oblasti automatizovaného backtestingu nabízí jeden z nejvyspělejších programů v této oblasti – TradeStation. Na začátek musím podotknout, že článek nepředstavuje kompletní recenzi programu – ten je natolik komplexní, že mnoho jeho částí a možností není v článku vůbec zmíněno. Článek představuje základní konkrétní ukázku principů podobného typu software. V případě zájmu se v dalších dílech seriálu můžeme pustit do podrobnějšího představování jednotlivých modulů programů, případně do popisů postupů pro přípravu vlastních funkčních obchodních modelů.

Programování vlastních strategií, systémů a indikátorů

Sílou TradeStation – a podobných programů – je vlastní skriptovací jazyk, u TradeStation konkrétně EasyLanguage, umožňující programovat libovolné vlastní obchodní strategie, indikátory, studie atd. Výhodou EasyLanguage je jeho ohromná flexibilita, což je současně pro spoustu obchodníků překážkou – EasyLanguage je opravdu komplexním programovacím jazykem (postaveným na Pascalu) a třebaže je hodně přizpůsoben potřebám obchodníků, pro jeho ovládnutí je nutné osvojení základních programátorských přístupů. Nicméně díky obrovské aktivní komunitě uživatelů existuje skutečně moře předpřipravených knihoven a ukázkových kódu, ze kterých lze rychle čerpat nápady a zkušenosti a s příslušnými znalostmi lze v programu zautomatizovat a vizualizovat doslova cokoliv.

Abych však zbytečně nestrašil – samozřejmě, že komplexní systémy potřebují komplexní kód, jednoduché obchodní strategie si však v programu dokáže s příslušnou nápovědou po základním osahání systému připravit i méně programátorsky nadaný obchodník. Jenom pro ukázku, jak může vypadat takový jednoduchý programový kód v TradeStation:

if Close > High of 1 bar ago then Buy next bar at market;

Kód vyjadřuje jednoduchou podmínku – pokud bude aktuální close vyšší než předcházející high, potom nakoupit následující bar jeden kontrakt za market. Jak bylo řečeno, kompletnější obchodní strategie mají kód pochopitelně výrazně složitější. Lze pracovat s různými podmínkami, funkcemi, knihovnami atd.

Zobrazování strategií v grafech

Připravené naprogramované studie a systémy lze v programu používat několika způsoby. Vše má svůj podrobný řád a odlišnosti, do přílišných detailů se však v rámci tohoto prvního seznámení s platformou pouštět nebudeme. Řekněme si však, že s vlastními systémy je možné pracovat zejména tak, že jsou jejich výsledky buď zobrazovány v grafech (např. jako tečka v případě, že dojde k nějakému signálu či výskytu formace), nebo jsou používány pro automatizovaný backtesting a stejný kód může být následně použit i pro automatický trading.


Funkce ShowMe zobrazující strategii v grafu – v tomto případě jednoduchá funkce označuje outside úsečky.

V tento okamžik se podívejme, jaké některé možnosti nabízí program v případě, že náš obchodní systém používáme pro backtesting. Každou kompletní obchodní strategii lze v programu naprogramovat a testovat „se vším všudy“ – tedy nejen po stránce vstupu, ale i výstupů (včetně automatického posouvání stop-lossu, profit targetu atd.) a money-managementu. Vše lze naprogramovat maximálně detailně, pokud člověk ví „jak na to“.


Grafické znázornění průběhu testovaných obchodů v grafu.

Výsledky obchodní strategie jsou zobrazovány šipečkami do grafů a pochopitelně je lze velmi podrobně zkoumat v souhrnné zprávě o výkonnosti strategie (Performance Report).


Ukázkový Performance Report obsahující v několika záložkách naprosto všechny souhrnné informace o testované strategii.

Zpráva o výkonnosti strategie je nezbytným základem podobných systémů a v případě zájmu se jednotlivým položkám budeme na stránkách Finančníka věnovat v samostatném článku. V principu je možné ve zprávě nalézt všechny podstatné informace, zda-li je strategie smysluplná či nikoliv. A to nejen z pohledu zisku a ztrát, ale především z pohledu procentuální úspěšnosti, průměrného zisku/ztráty na jeden obchod, profit faktoru, frekvence obchodů, maximálního drawdownu, maximální největší ztráty, počtu ztrátových dnů za sebou atd. Vše je možné analyzovat např. z pohledu krátkých či dlouhých pozic, různých období a mnoha dalších měřítek. Nechybí pochopitelně ani možnost, zobrazit si výkonnost strategie graficky, v podobě tzv. equity křivky (kromě klasické křivky jsou k dispozici další typy grafů).

Důležitým nástrojem při analýze obchodních systémů je také Optimalizace. Pomocí tohoto nástroje je možné nechat program spočítat jeden či několik parametrů strategie s různými vstupními hodnotami. V praxi se přístup používá především ze dvou důvodu:
1) Nalezení nejvhodnějších parametrů. Příkladem může být např. testování vhodné strategie pro výstup z pozice. Lze zkoumat, jak se systém celkově chová při různých stop-lossech, při různých taktikách posouvání stop-lossu, při použití profit targetu atd. Zkoumání je přitom velmi jednoduché – stačí do příslušných vstupních políček vyplnit rozmezí hodnot, která mají být testována, a program sám postupně propočítá všechny možnosti a výsledky zobrazí ve formě tabulky a různých grafů.
Tento přístup může být dvousečný a je třeba k němu přistupovat velmi opatrně a zodpovědně. Je zřejmé, že přílišná optimalizace strategie na konkrétní data daného trhu (tj. nastavení všech parametrů tak, aby strategie generovala „v minulosti“ co nejvíce peněz), k ničemu nevede – jde o tzv. „curve fitting“, tedy přizpůsobení systému konkrétním historickým pohybům daného trhu. Takový systém má pochopitelně velmi dobré výsledky v minulosti, ale v budoucnosti se bude chovat úplně jinak. Nicméně optimalizace nemusí zacházet tak daleko a v případě rozumného testování možných taktik např. pro zmíněné výstupy z pozice jde o neocenitelného pomocníka. Jak jinak rychle zjistíte, zda-li je pro vaši strategii v daném trhu obecně výhodnější použít SL 100 nebo 300, případně jak SL posouvat nebo dokonce jak se strategie chová při použití různých profit targetů...


Chcete podrobný přehled, jak se daná strategie bude chovat s různými profit targety? Od toho je zde funkce "Optimize".

2) Testování robustnosti systému. Každá správná strategie by měla být co nejrobustnější. Měla by fungovat na různých trzích, v různých timeframech a neměla by jí výrazně rozhodit ani jemná změna parametrů a na to se s úspěchem dá opět použít nástroj optimalizace, pomocí které lze systém podrobit podrobnému zkoumání jeho chování při různých změnách vstupních parametrů.

Data, data, data

Základem jakéhokoliv backtestingu jsou pochopitelně kvalitní data. V tom má TradeStation obrovskou výhodu – v ceně programu je i přístup na integrovaný datový server, takže uživatel data nemusí řešit a má k dispozici vždy to, co potřebuje pro aktuální analýzu. K dispozici jsou historické ceny komodit za několik desítek let zpátky, včetně intradenních průběhů. Kontrakty jsou v programu k dispozici nejen ve formě jednotlivých kontraktních měsíců, ale také jako kompozitní data – tj. jeden kontinuální graf, na kterém lze backtestovat najednou strategii třeba za posledních 20 let vývoje dané komodity.


Přístup k historickým datům je v TradeStation jednoduchý – stačí vyplnit box s preferencemi zobrazovaného kontraktu a data se automaticky načtou ze serveru.

V případě dat disponuje TradeStation ještě jednou zajímavou a důležitou funkcí – možností „podívat se“ v rámci backtestingu např. denních dat na intradenní průběh konkrétního baru. Slouží k tomu funkce Look-Inside-Bar Back-testing, pomocí které lze otestovat, jak konkrétně se trh choval např. v den vstupu či výstupu, což testování výrazně zpřesňuje díky přesné interpretaci ceny plnění získané například při stop nebo limit příkazech.

Pro koho podobné řešení?

Systémy typu TradeStation nejsou levné a nejsou nezbytné pro každého. Je zřejmé, že zejména v začátcích se noví obchodníci chytají každého stébla a investují do nejrůznějších programových řešení a obchodních systémů – třeba i typu TradeStation. Systémy tohoto typu jsou přitom podle mého názoru určeny pro pokročilejší obchodníky, kteří již vědí, jak trhy fungují, mají s nimi praktické zkušenosti a hledají například efektivnější strategie než ty, které dosud obchodují. Pro takové uživatele přinášejí programovatelné systémy typu TradeStation obrovskou flexibilitu a úsporu času.


Diskutovat k tématu článku můžete zde


Petr


(c) foto ISIFA, zdroj ISIFA/Getty Images
(publikováno 15.09.2005, editovat ) Vytisknout tento článek

Sdílej


Předcházející kapitola:
Jaký software pro backtesting a vytváření vlastních obchodních systémů a indikátorů? (2)

Následující kapitola:
Statistika věda je…


Finančník.cz je místo, kde už od roku 2004:

  • Autoři webu a zkušení tradeři Petr a Tomáš předávají své know-how.
  • Autoři webu Petr a Tomáš přinášejí kompletní vzdělání v tradingu.
  • Naleznete nejkomplexnější informace o tradingu v českém jazyce.
  • Získáte profesionální tipy a rady, plynoucí z reálných zkušeností z trhů.
  • Najdete inspiraci a motivaci k novému životnímu stylu tradera.
  • 2x týdně naleznete nový článek věnovaný úspěšnému tradingu.

Upozornění: Všechny informace poskytované na Financnik.cz jsou určeny výhradně ke studijním účelům témat týkajících se obchodování na burze a neslouží v žádném případě coby konkrétní investiční či obchodní doporučení. Provozovatel serveru ani jednotliví autoři nejsou registrovanými brokery či investičním poradcem ani makléřem. Jsou-li na stránkách zmiňovány konkrétní finanční produkty, komodity, akcie, forex či opce, vždy a pouze za účelem studia obchodování na burze. Vydavatel serveru není zodpovědný za konkrétní rozhodnutí jednotlivých uživatelů.

Burzovní obchodování a investování s finančními instrumenty (a komoditami obzvláště) je vysoce rizikové. Rozhodnutí obchodovat komodity a akcie je odpovědností každého jednotlivce a jedině on sám nese za svá rozhodnutí plnou odpovědnost. Nikdy se nepouštějte do obchodů, jejichž podstatě plně nerozumíte. Pamatujte, že burza má svá pravidla, kterým je třeba porozumět, než začnu riskovat své vlastní peníze!
Copyright 2009 © Financnik.cz - Developed by BlueCube.cz
Server Financnik.cz vydává a všechny služby provozuje Centrum finančního vzdělávání, s.r.o.
Všechny články zde uveřejněné podléhají autorskému zákonu a jejich kopírování pouze se souhlasem autora.