Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • Backtesting aneb testujeme obchodní strategie II

    V našem seriálu dnes udělám malou odbočku, ve které se pokusím obšírněji odpovědět na řadu dotazů, které vyvolal první díl článku. Ten byl mimochodem velmi čtený a je zřejmé, že toto téma je pro řadu komoditních obchodníků velmi aktuální.

    Backtesting - ano či ne?

    Řada dotazů směrovala k samotnému smyslu backtestingu. Pominu ty, které zpochybňují samotný princip technického obchodování - pokud někdo obchoduje na základě fundamentálních zpráv (analýzou stavu zásob, aktuální produkce, počasí atd.), backtesting patrně nevyužije. Mnoho spekulantů pracuje s tzv. technickými ukazateli nejrůznějšího druhu a nejrůznějších kombinací - ať jde o počet obchodovaných kontraktů, různé průměry, technické formace (patterny), či nejrůznější pokročilé matematické indikátory - vše lze vyjádřit čísly. A jakmile jde něco vyjádřit čísly, lze toto testovat na historických datech. Backtesting na historických datech není samozřejmě žádný zlatý grál, historické výsledky nikdy nejsou zárukou budoucích zisků, ale je to cesta, jak nenechat v trhu své všechny peníze. Nefunguje-li obchodní systém na historických datech, nebude fungovat ani datech aktuálních.
    Mimochodem - řada především neúspěšných obchodníků se domnívá, že tzv. obchodní systémy postavené na nějaké konkrétní technické strategii nefungují a "velcí" obchodníci obchodují na základě "intuice". Toto bych si dovolil označit minimálně za velmi pochybné i když samozřejmě existuje nepřeberné množství obchodníků a obchodních přístupů, ale úspěšní obchodníci se vyznačují právě tím, že mají svůj systém konkrétně definovaný a především jej dokáží naprosto precizně dodržovat.
    A ještě jedno odbočení - mohou fungovat i tzv. "jednoduché systémy" postavené např. na tak obyčejných záležitostech jako jsou různé jednoduché patterny či klouzavé průměry? Opět naprosto jednoznačná odpověď - ano tyto strategie fungují, ale musí být dotažné po všech stránkách. Především po stránce money-managementu. Mezi zahraničními obchodníky mám několik přátel co obchodují například výhradně na základě strategie klouzavých průměrů. Tito lidé ale přesně vědí kolikadenní průměry používat, jak přesně velký stop-loss aplikovat a mají ještě několik dalších pravidel za jakých podmínek vstupovat do trhu a kdy ne - takovému souboru pravidel se pak říká obchodní systém. Zajímavé je, že pokud by stejná obchodní strategie byla obchodována s jiným stop-lossem, může být ztrátová. Stejně tak mají tito obchodníci otestováno, že strategie funguje v některých typech trhů, v jiných používají např. jinak postavený klouzavý průměr reflektující charakter daného trhu. A právě pro tyto účely přesně slouží backtesting (bez ohledu na používanou strategii - klouzavý průměr byl jen konkrétní příklad) - zejména u pokročilých strategií dokáže backtesting odhalit řadu drobností (např. nejvhodnější strategii na posazení stop-lossu, přidávání pozic atd.), které jiným způsobem odhalit ani nelze.

    Před časem jsem například pomáhal jednomu obchodníkovi s jeho opční strategií. Většina jeho opcí expirovala jako zcela bezcenná a tento člověk trvale ztrácel poměrně velké peníze. Není překvapením, že tento obchodník nakupoval opce zcela a pouze na základě "pocitu" - stejně tak jako většina ztrácejících obchodníků. Postupně jsme připravili novou strategii pracující na základě jednoduchého principu historické volatility, tedy něčeho, co lze testovat na historických datech a dnes je tato strategie funkční i po několika letech a trvale hodnotí investice, se kterými tento obchodník obchoduje.

    Libovolnou formu backtestingu tak doporučuji zejména začínajícím obchodníkům, kteří mají pocit "že takto to musí fungovat". Nedejte na pocit, že vaše strategie funguje v několika posledních týdnech - vše je nezbytné otestovat ve větším časovém měřítku.

    Data, data, data

    Další skupina dotazů se týkala dat - kde sehnat historická data komodit k testování? V minulém dílu seriálu jsem zmiňoval Gecko Track'n Trade, které sám používám k "ručnímu" testování různých technických formací. Podobné programy se dodávají s historickými daty a TNT není výjimkou. Potřebujete-li však data pro jiné aplikace nebo chcete-li data testovat např. v Excelu, doporučuji k vaší pozornosti službu Advanced Commodites Services, kterou provozuje společnost Barchart na stránce http://futures.barchart.com/futures.html Zde lze za 20 dolarů měsíčně získat v neomezeném rozsahu historická denní data komoditních trhů a opcí až do roku 1990 - navíc v několika různých formátech, snadno importovatelných do libovolné aplikace. Za 20 dolarů tak můžete získat všechna data, která budete potřebovat. Ukázku dat naleznete na stránce http://www.barchart.com/info/sample/mrifile.html - data obsahují open, close, high, low, volume a open interest - tedy všechny informace potřebné i pro ty nejsofistikovanější výpočty. Není to sice úplně zadarmo, ale částka je velmi přijatelná (mimochodem - znáte-li někdo další dostupné podobné zdroje a chcete-li se podělit s ostatními čtenáři - pošlete mi prosím odkaz na e-mail petr@financnik.cz). Podobná data lze získat i bezplatně, ale většinou pouze k aktuálním trhům. K dispozici jsou u služeb, které nabízejí komoditní grafy. Příkladem může být například stránka společnosti Britefutures - http://www.britefutures.com/home.asp. Otevřete-li si libovolný graf, je k dispozici také položka DOWNLOAD PRICES, která vám umožní stáhnout data v textové podobě a vložit je do libovolného programu.
    Komfortní stahování dat do vašich aplikací či různé streamování dat v reálném čase je na internetu také k dispozici, ale to už vesměs za pravidelný měsíční poplatek.

    Kam s daty?

    Data jsou samozřejmě základ, ale jde pouze o naprostý začátek. K jejich analýze je třeba nějaký programový nástroj a posléze především vytvoření potřebných algoritmů. To je pochopitelně ta nejtěžší část a proto existuje celá řada specializovaných programů (viz minulý díl seriálu), které vám mohou pomoci. Nicméně jde to pochopitelně i v Excelu, jak ukazují například stránky http://www.ozgrid.com/Services/excel-back-testing-trading.htm popisující vytvoření backtestingové analýzy (zde konkrétně akcií) v programu Microsoft Excel pomocí standardního visual basicu. A existují samozřejmě i další stránky - stačí zadat heslo "backtesting" třeba do google. Chcete-li si backtesting vyzkoušet s nějakým sofistikovanějším nástrojem, doporučuji program Amibroker, který je na stránce http://www.amibroker.com/download.html ke stažení v plně funkční demoverzi (tento program je k dispozici také v české verzi). Výhodou podobných programů je skutečnost, že disponují i speciálním programovacím jazykem, který již zohledňuje řadu obchodních strategií a např. běžné indikátory jsou v programu již zabudovány. S určitou nadsázkou tak lze obchodní systém typu "protnou-li se dva určité klouzavé průměry pak vstoupit do trhu a nastavit SL podle pravidla xy", naprogramovat poměrně snadno.

    Závěr

    Backtesting může být jednoduchý ale také velmi komplexní a složitý. Je jasné, že začínající obchodník by svoji pozornost NEMĚL upnout k programování obchodních systémů v komplexních programech. Toto řešení je pro uživatele, kteří již mají své strategie hotové a potřebují je ladit - třeba na optimalizaci money-managementu.
    Začínající obchodník by měl použít program typu Track'n Trade Pro či bezplatné grafy a testovat si v nich ručně základní strategie, které jsou často stejně účinné jako ty komplikovanější (jen tomu někteří lidé nechtějí věřit). S programem typu Excel lze také pracovat jednoduchým způsobem (dostačující pro drtivou většinu uživatelů) a současně si lze i běžnou kancelářskou agendu optimalizovat třeba s použitím visual basicu. Proto začínáte-li obchodovat, zvolte prosím tu jednodušší cestu... Pokud vám základní strategie fungují a hledáte cestu jak vše optimalizovat, věřím, že vám byl tento článek užitečným pomocníkem na další cestě k vašim ziskům.

    Petr
    12.1.2005

    Petr Podhajský

    Fulltime obchodník věnující se tradingu více než 20 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování: stavba automatizovaných portfolio systémů, které využívá i v alternativním fondu, který spravuje.


    Mohlo by vás dále zajímat

    Bulls 'n Bears obchodní systém pro Gecko Track'n Trade Pro

    Všem uživatelům programu Gecko Track'n Trade Pro patrně neuniklo, že výrobce, společnost Gecko představila nový zásuvný modul určený pro tento program - obchodní systém Bulls'n Bears. Jelikož dostáváme s Tomášem řadu dotazů jaký je náš názor na tento plugin, připravili jsme o tomto novém rozšíření TnT krátký článek. Dopředu však musíme upozornit, že nejde o podrobnou recenzi a ani v článku nezazní jakýkoliv jednoznačný závěr -s tímto obchodním systémem nemáme zatím žádné praktické zkušenosti a jakékoliv závěry by tak byly přinejmenším předčasné.
    Ale vraťme se na začátek k samotnému programu Gecko Track'n Trade Pro. Pro nové čtenáře Finančníka jenom stručně v krátké rekapitulaci: TnT je zástupcem klasického software pro technické analýzy komodit a opcí. Silnou devizou programu je jeho přehlednost a intuitivnost, která jej předurčuje pro začínající či mírně pokročilé obchodníky, kteří se mohou soustředit na samotné trhy a nikoliv na technické problémy. Program je určen pro komoditní trhy a pracuje s denními daty (tzv. End Of Day), které graficky znázorňuje pomocí denních, týdenních a měsíčních grafů (výrobce nabízí i intradenní verzi pro akciové trhy a forex). TnT je tedy určen pro poziční obchodování (nikoli intradenní) a slouží především pro plánování obchodů pomocí technické analýzy trhů. Výhodou programu je i skutečnost, že se dodává již s více než 25ti letou historií všech hlavních komoditních trhů a je tedy ideálním nástrojem pro trénink vlastních obchodních strategií. TNT je po této stránce dobře navržené - v programu existuje nástroj i pro "krokování" trhů po jednotlivých dnech. Během jednoho odpoledne si tak může i začínající obchodních "den po dnu" projít řadu trhů a v podstatě v reálných podmínkách simulovat, jak by se v dané situaci rozhodoval. Pokud jste o programu dosud neslyšeli, můžete řadu informací načerpat ze seriálu, jehož první díl naleznete na této adrese.
    Klasické nástroje technické analýzy nyní výrobce rozšířil o kompletní obchodní systém nazvaný Bulls 'n Bears. Jde o trendfollowingový obchodní systém, který se svojí vnitřní logikou graficky odlišuje downtrend a uptrend a označuje pásma, kdy jde cena do strany. Výstupy jsou v systému naznačeny pomocí parabolicky umísťovaného stop-lossu.
    Interní logiku obchodního systému výrobce z celkem pochopitelných důvodů nezveřejňuje, jde tedy o určitý "black box", jehož výstup je kreslen do grafů TnT.

    Graficky lze systém nastavit několika způsoby. Informace o stavu trendu je možné zobrazovat buď grafickými symboly mimo cenové bary, nebo změnou barvy cenového grafu tak, jak je zobrazeno na našich screenshotech.
    V pojetí výrobce představuje základní vstupní signál:
    žlutý bar následovaný dvěmi červenými bary pro vstup do short pozice žlubý bar následovaný dvěmi zelenými bary pro vstup do dlouhé pozice Umístění stop-lossu je znázorněno modrými tečkami parabolického indikátoru (podrobnější info o podobné indikátoru Parabolic SAR můžete najít v našem článku Začínáme obchodovat V: PSAR - Parabolic SAR.


    Postřehy Finančníka
    Jak jsem již naznačil v úvodu článku, se systémem nemáme zatím žádnou praktickou zkušenost a tak není možné hodnotit jeho výsledky. Ty navíc budou velmi závislé od toho, jak konkrétně bude systém obchodník aplikovat do trhů. Na přiložených screenshotech nicméně vidíte, že systém poměrně slušně identifikuje hlavní trendy trhů a při použití dalšího potvrzujícího nástroje (např. průlom trendové linky, nějaký jednoduchý indikátor), používaného do směru trendu, zcela jistě může fungovat jako konkrétní obchodní systém.
    Co se výstupů týče, tak použití parabolického indikátorů vytváří zejména po vstupu do pozice podle našeho názoru v komoditních trzích již hodně velký stop-loss a pro řadu obchodníků tak bude zajímavější postavit stop-loss ze začátku blíže - např. do fixní vzdálenosti podle volatility trhu nebo nad S/R úroveň.

    Obrovskou výhodou systému je jednoznačně jeho jednoduchá interpretace. Pomocí barev "semaforu" jak říká jednotlivým barvám výrobce, může i začínající obchodník snadno identifikovat hlavní trend a obchodovat čistě do směru trendu, což výrazně zvyšuje šance na dlouhodobější profity.
    Na sobotním brněnském setkání mi některý z přítomných obchodníků uváděl první pozitivní zkušenosti se systémem a slíbil, že zkusí vkládat poznatky postupně do našeho diskuzního fóra, takže věřím, že se o průběžných zkušenostech se systémem postupně dozvíme více.
    Pokud s tradingem začínáte a ještě jste Gecko TnT nezkoušeli, tak jednoznačně doporučujeme si software stáhnout a vše otestovat - první měsíc budete mít zdarma k dispozici nejen samotný program, ale i tento obchodní systém, který může řadě nováčkům výrazně pomoci s identifikací trendu a formováním konkrétního obchodního systému. Systém Bulls'n Bears funguje v TnT samozřejmě i na historických grafech, takže je možné jej testovat opravdu neomezeně. Jako tip znovu připojuji radu pokusit se systém doplnit např. o vstupy z některého indikátoru nebo o průlomy trendových linek či S/R úrovní do směru trendu zobrazeného systémem. Program si můžete v bezplatné 30ti denní zkušební verzi stáhnout zde.

    Praktický návod jak analyzovat vlastní obchodní výsledky v programu typu MSA - import

    Minulý týden jsme si představili program Market System Analyzer 2.0 sloužící pro analýzy výsledků obchodních systémů a především aplikaci různých typů money-managementu. Dnes si ukážeme, jak vést vlastní obchodník deník tak, abychom jej mohli do programu MSA snadno importovat a jak takový import provést.
    Obchodní deník
    Jak si vést alespoň základní obchodní deník jsme na Finančníkovi ukazovali již několikrát (např. článek Jak si připravit a používat jednoduchý obchodní deník, kapitola Obchodní deník našeho on-line manuálu.
    Informace z každého obchodního deníku lze pochopitelně exportovat tak, aby je bylo možné v MSA analyzovat. Aby to však bylo co nejsnazší, přikládám pro ukázku konkrétní příklad v podobě velmi blízké té, jakou si vedu pro intradenní obchodování já:

    Deník je připraven v Excelu a při obchodování vyplňuji následující položky:
    datum obchodu čas obchodu vstup (cena, za kterou jsem vstoupil do pozice) výstup (cena, za kterou jsem vystoupil z pozice) pozice (-1 pro krátkou pozici, 1 pro dlouhou pozici) LOT (počet obchodovaných kontraktů) Deník mám připraven pro intradenní obchodování, a tak na jednom listu obchoduji stále stejný kontrakt (konkrétně E-mini Russell 2000). Pokud bych obchodoval další kontrakt, založím si jednoduše další list (v poli S2 je třeba nastavit odpovídající velikost plného bodu). Zbylá políčka jsou nastavena tak, že automaticky počítají zisk a ztrátu z konkrétního obchodu. Na stránce je ještě několik automatických sloupců, které zde mám připraveny pro další dílčí výpočty (tyto sloupce již nejsou na screenshotu). Poslední sloupec "Bankroll" (který také není na screenshotu) obsahuje aktuální "stav účtu", tj. průběžně sčítá zisky a ztráty (mínus odpovídající komise, kterou je třeba vložit do políčka S4).
    Deník si můžete v excelovské tabulce stáhnout pro své vlastní potřeby zde (soubor Microsoft Excel). Je to samozřejmě jenom návrh obchodního deníku, který si můžete uzpůsobit zcela podle svých obchodních potřeb.
    Import dat do MSA
    Předmětem dnešního článku je však návod, jak přenést data z obchodního deníku do programu MSA k dalším analýzám a testování různých money-management taktik.
    Pro začátek doporučuji zkusit postup s deníkem, který je přiložen k tomuto článku. Deník již obsahuje poměrně slušnou historii dat, na které si můžete nejen vyzkoušet převod do MSA, ale i základní ovládání programu. Mimochodem - data vložená v deníku jsou obchodní výsledky plně automatizované verze tří let obchodů podle Pavlova obchodního systému "PB systém", který je diskutován v diskuzním vlákně věnovaném e-mini trhům (pro nezasvěcené upřesňuji, že jde o diskréční obchodní systém, který však i v plně mechanické podobě, kterou jsme ve fóru sestavili pro otestování základní robustnosti systému, dává stále poměrně zajímavé výsledky, byť je charakteristika systému výrazně méně profitovější než v případě diskréčního obchodování). Všechna data uložená v našem ukázkovém deníku jsou samozřejmě pouze ilustrační (důvodem pro použití právě dat z PB systému je možnost jejich dalšího testování zejména pro účastníky e-mini diskuze). Data jsou vyexportována z programu TradeStation, datum a čas obchodu je vyplněn pro ilustraci pouze u prvních několika obchodů.
    Krok 1 - uložení dat do CSV souboru
    Předtím, než data můžeme načíst do MSA, je třeba excelovský soubor uložit do textového formátu CSV. Zvolte Soubor > Uložit jako, zadejte příslušný název souboru a z menu Typ Souboru vyberte CSV oddělený středníkem. Pozor - ujistěte se předtím, že jste si uložili poslední aktuální verzi deníku do původního xls souboru pomocí tlačítka Uložit.

    Data v Excelu uložíme jako soubor CSV oddělený středníkem.
    Operaci potvrďte kliknutím na tlačítko OK a následné okno potvrďte kliknutím na tlačítko Ano (Excel upozorňuje, že převodem do jednoduchého souboru CSV se ztratí některé vlastnosti dokumentu).

    Z konce textového souboru vymažeme řádky obsahující pouze středníky, které import komplikují.
    Tip 1: Zeditujte nyní pomocí Poznámkového bloku vytvořený soubor a vymažte poslední řádky obsahující pouze středníky (tyto prázdné řádky dělají programu MSA při převodu problémy).
    Tip2: Změny vytvořené v Poznámkovém bloku můžete uložit až poté, co uzavřete Excelovský dokument.
    Krok 2 - načtení CSV do MSA
    Nyní již můžeme uložený CSV soubor načíst do programu MSA pomocí funkce Trades > Import > General Text File.

    Dialogové okno Import Format programu MSA.
    V zobrazeném dialogovém okně Import Format jako první zaškrtněte políčko Delimiters > Semicolon. Toto políčko programu říká, že jednotlivé sloupce jsou odděleny v textovém souboru středníky.
    Nyní je třeba v MSA označit význam jednotlivých sloupců:

    Kliknutím na záhlaví tabulky se zobrazí dialogové okno Select data label.
    Kliknutím na záhlaví tabulky v okně Import Format se zobrazí malé dialogové okno "Select data label", prostřednictvím kterého musíme jednotlivým sloupcům přiřadit příslušný význam. Sloupcům, které nebudeme v MSA potřebovat, přiřadíme označení SKIP (vynechat).
    Sloupce nastavíme tak, aby původní názvy z Excelové tabulky odpovídaly následujícím pojmům:
    Vstup = Entry Price
    Výstup = Exit Price
    Pozice = Long/Short
    LOT = Size
    Zisk/Ztráta = Profit/Loss
    Tabulka import by pak měla vypadat podobně jako na následujícím screenshotu:

    Jednotlivým sloupcům jsme přiřadili příslušný význam, ostatní sloupce označíme SKIP.
    Poslední operací v rámci okna import je zaškrtnutí volby Skip first 2 lines - programu říkáme, že první dva řádky načítaného souboru neobsahují obchodní výsledky, ale jsou pouze popisné.

    Nyní již stačí kliknout na tlačítko Import a všechny naše obchodní výsledky se přenesou do programu MSA, kde je můžeme dále zpracovávat.
    Krok 3 - základní nastavení programu MSA

    Obrázek obsahuje pouze ilustrační hodnoty.
    Předtím, než začneme v programu své obchodní výsledky analyzovat a zkoušet na ně aplikovat různé money-management techniky, je třeba nastavit základní parametry účtu, aby prováděné operace dávaly smysl. Základní nastavení parametrů se v MSA provádí pomocí volby Analysis > Setup > Account Settings. Zde je třeba nastavit především počáteční kapitál (starting account size - např. 5000 USD), maximální počet obchodovaných kontraktů (trade size limit), margin nutný pro otevření pozice (initial margin per contract), skluz na kontrakt (round turn slippage per contract /zde zadávejte raději co nejvyšší hodnotu podle skluzu, který očekáváte - vše závisí na obchodovaném trhu, použitých příkazech ke vstupu/výstupu, obchodované strategii atd./), výši komise na kontrakt (round turn commission and fees per contract). Nastavení potvrďte kliknutím na tlačítko OK.

    Poté již v programu vidíme parametry našeho systému s aplikovanými všemi nastaveními (tj. včetně komise a slipů) a systém můžeme testovat po stránce jeho robustnosti (např. Monte Carlo analýzou) nebo si zkoušet dopady aplikace různých typů position sizingů (pro některé typy money-managementu je třeba vyplnit ještě další záložky v okně Analysis Setup).
    Závěrem
    Konkrétním tipům jak s programem MSA pracovat se budeme věnovat v dalších částech našeho volného seriálu. Nicméně skutečně doporučuji si program průběžně zkoušet, třeba na datech, která si můžete stáhnout v rámci tohoto článku. Money management je oblast, která je pro trading nesmírně důležitá. A byť třeba ještě zatím nemáte vlastní funkční obchodní systém, může vás již samotné základní pochopení principů money managementu na cestě k úspěšnému tradingu skutečně výrazně posunout dál. Můžete si totiž na vlastní kůži vyzkoušet, že svatý grál nespočívá v nalezení systému s extrémní výkonností nebo úspěšností, ale pro úspěšné obchodování stačí stabilní, rozumně profitující obchodní systém s vhodně zvoleným money managementem.

    GSB – automatizovaná cesta pro zkoumání trhů a vytváření obchodních systémů

    Dnešní trhy vyžadují zejména na nižších timeframe průběžné zkoumání širších souvislostí toho, co v nich funguje a co už nikoliv. Což je dost práce, kterou je dobré maximálně zefektivňovat použitím různých nástrojů. Těch existuje celá řada, ale ne všechny stojí za námahu. Jednou z výjimek, která mě poslední dobou oslovila, je program GSB.
    Co je horší – snažit se slepě obchodovat systémy vytvořené tvrdým dataminingem, nebo mysl zabetonovat používáním starých přístupů? Těžko říci, ale z mé zkušenosti nepovede ani jedna z uvedených cest k dlouhodobým profitům.
    Agresivní dolování dat (datamining), kdy trader neustále prochází stejná historická data, až nalezne systém s parametry, které hledá, vede k obchodování přeoptimalizovaných systémů, které na nových datech nevydělávají. Používání starých a obecně známých přístupů sice může vést k systémům založených na smysluplných a ověřených principech, ovšem ani ty s velkou pravděpodobností nebudou zejména na nižších timeframe dnes již vydělávat. Jednoduše proto, že popisovaná tržní neefektivita z trhů vymizela tím, jak ji v průběhu času obchodovalo velké množství traderů.
    Je potřeba jít určitou střední cestou. Vycházet z ověřitelných a vysvětlitelných myšlenek a na nich se nebát stavět nové a inovované obchodní přístupy.
    Sám rád ve svém obchodování vycházím z „idea first“ přístupu, kdy systémy stavím na pro mě srozumitelné a odůvodnitelné hypotéze, proč by profitabilita daného přístupu měla v trzích vydržet. Současně si ale rád pomáhám automatizovaným prohledáváním ideálního kontextu, ve kterém základní myšlenka dnes funguje nejlépe (viz workflow Fcontext diskutované v AOS kurzu). Podobný přístup mi pomáhá objevit souvislosti, které není možné v rozumném čase otestovat ručně.
    Proto mě velmi potěšilo, že jsem objevil program Genetic System Builder (GSB), jehož autor, trader Peter Zwag, vyvíjí software, který se v řadě ohledech zaměřuje v trzích na řešení podobných problémů, které jsou i pro mě důležité.
    Řekne-li se genetická stavba obchodních systémů, patrně vás, stejně jako mě, napadne tradiční software pro „datamining“. Dnes existuje spousta programů umožňujících procházet historická data a, zjednodušeně řečeno na nich automatizovaně testovat různé kombinace indikátorů a cenových patternů za cílem získat obchodní systém. Jak jsem předeslal, jsem vůči podobným cestám poměrně skeptický. Bohužel často podobné softwary najdou to, co chce obchodník najít. Tedy systém s hezkými historickými výsledky včetně krásných ověření na OOS datech, která se prostě vyberou z tisíců a tisíců možných systémů, které systém vygeneruje.
    Proč se mi pak líbí GSB? Protože přes svůj název není program zaměřen jen na genetické vytváření systémů. Jeho silnou stránkou je analytické zkoumání širšího kontextu toho, co v trhu funguje a co nikoliv. A teprve do tohoto kontextu pak můžeme více či méně automatizovaně vytvořit obchodní systém. Tato filosofie hodně resonuje s tím, co při vývoji systémů sám vnímám za důležité a celkově je na programu vidět, že jej tvoří zkušený trader vycházející z vlastní praxe systematického obchodování (výsledky Petera jsou mj. ověřené například v časopise Futures Truth, kde sledují a porovnávají automaticky obchodované systematické strategie).
    Popsat konkrétní funkcionalitu GSB není úplně jednoduché, protože program toho umí opravdu hodně. A co především – je neustále rozšiřován (opravdu velmi aktivně). Je na něm skutečně znát, že je autorem využíván pro vlastní trading a analýzy trhu. Podrobnější představu o způsobu využití programu můžeme získat z těchto anglických videí (do fóra je nezbytná bezplatná registrace), program je pak možné vyzkoušet ve 14denní plně funkční demoverzi, kterou naleznete zde.
    Co tedy umí GSB ve zkratce?
    Jako kterýkoliv program na automatizované vytváření obchodních systémů umí GSB vzít jako vstup například 30minutová data trhu e-mini S&P 500 (ES) a zkoušet na jejich historii vytvořit obchodní systém složený z různých indikátorů a jejich parametrů. Co se mi líbí na GSB je skutečnost, že už tato část je dotažena nad rámec toho, co se nabízí jinde. Je možné pracovat s pokročilými fitness funkcemi ovlivňujícími výsledek vytvářených systémů, systémy automaticky verifikovat na vybraných dalších trzích a timeframe a následně je verifikovat pomocí WFO. Dále lze automaticky vytvářet systémy s využitím více trhů či timeframe, vybírat použité indikátory, aplikovat různé stop-lossy, výstupy atd.
    Řadu zmíněných funkcí nabízí i jiné podobné programy, byť si myslím, že GSB hezky integruje podstatné funkce, které v této oblasti trader potřebuje.
    V čem GSB z mého pohledu exceluje, je rychlost a výkon. A to je v této oblasti prakticky to nejdůležitější.
    Samotný GSB pracuje svižně. Můžeme jej spouštět jako klasickou desktopovou aplikaci, kde pochopitelně výkon nejvíce záleží na parametrech samotného použitého hardwaru. A ten je vždy omezený, i když zvolíme výkonnější hardware. Jako opravdu dobrý a promyšlený krok tak hodnotím skutečnost, že GSB umí pracovat coby cloudové řešení. V tomto případě nastavujeme testované analýzy v tzv. Managerech, které následně spouští Workery – instance zpracovávající výpočty. Ty mohou být na stejném počítači, na jiných našich počítačích nebo v cloudu – na cizích počítačích.
    Jako cloud přitom mohou sloužit i počítače ostatních uživatelů GSB (lze nastavit, jestli se do cloudu chceme zapojit či nikoliv). Toto provedení mi přijde jako opravdu dobré. Většinou se podobné programy instalují na servery, které běží nonstop (sám si řešení pronajímám, viz popis zde). Spotřeba elektřiny i odpisy hardwaru jsou v takovém případě započteny do ceny nájmu a je úplně jedno, jestli servery běží naprázdno nebo jsou plně vytíženy. V době, kdy doběhnou testy, tak dává naprostý smysl sdílet výkon s ostatními. Jakmile pak sám potřebuji skokový výkon a jsou volné servery ostatních, získávám násobně vyšší výkon, který by mne stál v pronájmu vlastních serverů opravdu hodně peněz. Samozřejmě sdílený výkon se liší v čase a nejvíce závisí na tom, jestli své servery využívá tvůrce programu Peter. Nicméně vesměs získávám s GSB běžně dvoj až trojnásobek výpočetního výkonu, než který mi poskytují vlastní servery. Což je u podobného řešení nezanedbatelná výhoda. V každém případě Peter slibuje, že uživatel vždy získá alespoň jednoho cloudového workera zdarma, což už samo o sobě může pomoci pohnout s výpočty.

    Ukázka prostředí GSB. Vpravo je vidět, že výpočet probíhá na celkem 30 workerech. Přitom jen 5 jich běží na mém vlastním hardwaru. Ostatní jsem v daném okamžiku využil bezplatně, což samozřejmě výrazně zvyšuje efektivitu celého výpočetního procesu.
    Dobré je, že Peter poskytuje k celému řešení bezplatně samostatný software Resource Manager umožňující výkon řídit – můžeme si například nastavit prioritu, se kterou se budou spouštět vlastní workery (a ostatní budou zastaveny). Sdílení výkonu pak probíhá naprosto automaticky.

    V Resource Manager mám nadefinované dvě skupiny – první jsou mí vlastní workeři. Ti mají přednost a běží v momentě, kdy s programem pracuji. V druhém řádku jsou potenciální workeři z cloudu, kteří se spustí v okamžiku, kdy server není vytížen.
    Právě zmíněná cloudová funkcionalita posouvá GSB k možnostem, které jsem jinde nenašel (v dané cenové kategorii). Vysoký dostupný výkon mi coby traderovi poskytuje analytické možnosti zmíněné na začátku článku.
    Efektivně dovoluje zjišťovat, co na daném trhu funguje a co ne. Tak, že vygenerujeme statisticky relevantní počet, například několik desítek tisíc systémů a vyhodnocujeme různé celkové degradace systémů v out of sample datech. Nezaměřujeme se na jeden systém, ale na statistický vzorek. Můžeme například snadno porovnat OOS degradaci 10 000 vytvořených systémů z ověřování na jiném trhu a bez tohoto ověřování. Snadno tak zjistíme, jestli daný prvek ověřování skutečně celkově pomáhá na daném timeframe vytvářet robustnější systémy či to byla jen záležitost u několika málo systémů.
    Jistě, spousta uvedeného lze provádět v jiných softwarech. Ostatně sám jsem některé podobné principy testoval v Amibrokeru s pomocí OLE automatizace. Ale právě s využitím cloudového výkonu je toto opravdu práce na jiné úrovni.
    I díky tomu, že program umožňuje některé chytré analýzy, které jsem zatím v jiných programech neviděl.
    Především způsob definování in-sample a out of sample dat, pomocí kterých je možné sledovat degradaci systému v rámci učení (in-sample data) a testování (out of sample data). Tradičně se dělí data trhu například v poměru 60 % IS a 40 % OOS (nebo podobně, podle osobní preference). Jenže to s sebou nese problém, že daná testovaná období trhu se mohou velmi lišit svým charakterem. Proto se mi velmi líbí myšlenka používat jako OOS data každý druhý den či každý druhý měsíc a podobně. Systémy pak učíme na celém období dat (kdy software vidí například každou druhou úsečku) a testujeme na druhé části úseček. Do vývoje systému pak zahrnujeme všechny zásadní fáze trhu a vyhodnocení na OOS bude mít více vypovídající hodnotu. V GSB lze toto přitom nastavovat velmi flexibilně.

    Silnou stránku GSB vnímám v jeho komplexnosti, která je využitelná v praxi právě i díky cloudovému výkonu. V řadě programů lze provádět například walk forward testování (wf) a GSB není výjimkou. Ale kdo někdy wf prováděl, jistě může potvrdit, že tyto testy vyžadují hodně výkonu a tedy času, pokud vše probíhá na jednom počítači. V GSB lze i walk forward provádět pomocí workerů (tedy v cloudu) a reálně lze propočítat vyšší stovky wf na intradenních systémech za den. Na cloudu lze nechat i automatické ověřování systémů na jiných trzích/timeframe a následně jen ve statistikách sledovat, jak si systém vedl na zvolených trzích/timeframe určených pro validaci. Výsledkem je pak podobný přehled, kde můžeme na jednom místě vidět, jak stabilní jsou výsledky. Lze sledovat stabilitu výsledku na ověřovaných jiných trzích a timeframe, ale i stabilitu výsledků z pohledu použitých parametrů. V tomto ohledu se mi moc líbí Peterův parametr stability umožňující vybírat ty systémy, jejichž parametry se v průběhu času nemění (a existuje tak vyšší šance, že v live tradingu bude systém robustnější).
    Generované systémy lze z GSB rovnou přenášet v hotovém kódu do TradeStation.
    GSB toho skutečně umí hodně, byť je to pochopitelně opět jen software – nástroj, jehož výsledky budou do velké míry záležet na jeho použití. Určitě nejde o software typu „zapni“ a po x minutách získáš systémy připravené k živému obchodování. Naopak. Jde o nástroj poskytující různé analýzy, nad kterými je třeba přemýšlet a trávit čas. A teprve následně výsledek práce použít k vytvoření obchodovaného modelu. Který by ale měl mít vyšší šance na robustní výkonnost v živých trzích.
    V každém případě doporučuji shlédnout Peterova videa popisující metodologii s jakou trhy testuje.  A případně prozkoumat zkušební verzi programu. Už i to může přinést do vašeho vývoje strategií nové podněty a zajímavé inspirace. Té nabízí GSB dost. A byť software stojí 1 500 dolarů, jde z mého pohledu o smysluplné řešení v této silně konkurenční oblasti.
×
×
  • Vytvořit...