Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Hledat v
  • Více možností...
Najít obsah, který ...
Hledat výsledky v ...
Seriály Komoditní Manuál Psychologie obchodování
  • Jaký software pro backtesting a vytváření vlastních obchodních systémů a indikátorů? (2)

    V pokračování našeho přehledu software pro backtesting a vytváření vlastních obchodních systémů se podíváme na programy, které se nevešly do minulého dílu článku. Pořadí, v jakém jsou programy uváděny je čistě náhodné a neudává žádné preference.

    eSignal

    http://www.esignal.com

    eSignal je známý především jako kvalitní poskytovatel realtime dat, nicméně svým zákazníkům nabízí i pokročilou platformu eSignal Pro umožňující vše, co popisuje tento článek – používat nástroje pro technickou analýzu, vytvářet vlastní indikátory a obchodní systémy a backtestovat je na historických datech. Pro programování vlastních systémů se v prostředí eSignalu pracuje se skriptovacím jazykem eSignal Formula Script postaveným na syntaxi JavaScriptu. Esignal Pro je možné získat v 30 denní trial verzi. eSignal je poskytován jak ve verzi pro realtime data, tak ve speciálním balíčku pro EOD data. Podrobný popis cen naleznete na stránce http://www.esignal.com/esignal/pricing/default.asp, všechny produkty jsou poskytovány na základě pravidelných měsíčních nebo ročních plateb.

    MetaStock

    http://www.equis.com

    Equis MetaStock patří mezi tradiční řešení pro technickou analýzu akcií a komoditních kontraktů, vytváření a testování obchodních systémů a indikátorů. Software dnes patří pod Reuters a prodává se ve verzích pro EOD obchodování, realtime obchodování a nově i pro forex. Software je dodáván se slušnou knihovnou indikátorů (přes 200) a řadou předdefinovaných obchodních systémů, na kterých lze získat dobrou představu, jak vše funguje. MetaStock je zajímavý i díky velkému množství pluginů a indikátorů pocházejících od nejrůznějších třetích tvůrců. MetaStock je zajímavý ve své EOD verzi – ta stojí 499 dolarů, Realtime verze je dražší – stojí 1695 dolarů a lze ji napojit na data od eSignalu, QCharts nebo QuoteCenter (tato verze je levnější). Software lze používat i na bázi předplatného – tj. pravidelných měsíčních plateb.

    TradeStation

    https://www.financnik.cz/komodity/zkusenosti/tsg.html

    Patrně nejznámější řešení v této oblasti. Dlouhou dobu představovala TradeStation určitý standard pro profesionální řešení v oblasti tradingu, technické analýzy, vytváření a testování vlastních obchodních systémů. Tomu odpovídala i poměrně vysoká cena, díky které čím dál více obchodníků přecházelo na jiné programy. Dnes se TradeStation profiluje především jako brokerská společnost, která software poskytuje coby obchodní platformu svým zákazníkům.

    Co se samotné platformy týče – kromě klasických nástrojů technické analýzy je TradeStation ceněná především pro svůj programovací jazyk EasyLanguage, kterým lze vytvářet vlastní obchodní systémy a strategie. EasyLanguage je poměrně intuitivní a je to takový hybridní jazyk mezi angličtinou a programováním. Jednoznačnou výhodou platformy je integrace zdroje dat – jak EOD, tak především realtime. Pro backtesting je v systému k dispozici cca 20 let historie.

    Genesis Trade Navigator

    http://www.genesisft.com

    Se jménem Trade Navigator se patrně setkali ti uživatelé Finančníka, kteří studují knihy Larryho Williamse. Ten pro testování obchodních strategií a různé technické analýzy používá ve svých knihách právě Trade Navigator od společnosti Genesis Financial Technologies. Výhodou tohoto systémů oproti ostatním řešením na trhu je podle výrobce jednoduchý programovací jazyk Tradesense, který je zaměřen hodně na uživatele, kteří nejsou programátoři. Jak vidíte na screenshotu, program umožňuje poskládat jednotlivé podmínky obchodního systému hodně intuitivně. Web výrobce je neskutečně chudý na informace a obsahuje v podstatě pouze ceník. Chcete-li se podívat na nějaké screenshoty z prostředí programu, můžete použít například tyto stránky. Program je nabízen ve třech verzích, kde pouze ta nejvyšší – Trade Navigator Platinum – umožňuje backtestování vlastních obchodních systémů. Cena programu je 1695 dolarů.

    Amibroker

    http://www.amibroker.com

    Amibroker patří mezi levnější nástroje, které disponují vlastním programovacím jazykem a umožňují tak vytvářet a testovat vlastní obchodní systémy. Nevýhodou pro komoditní obchodníky je skutečnost, že program je primárně určen pro akciové trhy a některé jeho funkce jsou pojaty hodně z „programátorského pohledu“ svého tvůrce Tomasze Janeczko. Nicméně do programu lze natáhnout v podstatě libovolná data. Vlastní systémy lze v programu vytvářet pomocí skriptovacího jazyku AFL (Amibroker Formula Language), data jde do programu získávat z řady zdrojů, včetně některých bezplatných. Program se prodává ve dvou verzích, kdy levnější (149 dolarů) není určena pro realtime trhy, ty podporuje verze "Pro" prodávaná za stále vynikající cenu 229 dolarů. K dispozici je demoverze na adrese http://www.amibroker.com/download.html

    Qtstalker

    http://qtstalker.sourceforge.net

    Zajímavý tip pro uživatele linuxu padl od warriora v diskuzním fóru – je jím zcela free software Qtstalker vyvíjený pod licencí GNU GPL. Qtstalker disponuje běžnými nástroji pro technickou analýzu, indikátory, umožňuje import EOD dat z CSV souborů, případně obsahuje plugin pro download EOD dat ze zdrojů jako je Yahoo. Program umožňuje pracovat s akciemi, komoditami i spready. Realtime obchodování program nepodporuje. Součástí programu je i prostředí pro backtestování vlastních obchodních systémů. Program je k dispozici zdarma, ke stažení je na adrese http://qtstalker.sourceforge.net/

    Shrnutí

    Cílem obou dvou článků zaměřených na programy pro backtesting je poskytnout na jednom místě radu všem, kteří hledají programové vybavení pro vytváření a testování svých vlastních obchodních systémů. Pouze programy s vlastním programovacím jazykem a dostatečnou historií dat vám mohou poskytnout základní odpovědi na otázky typu: „Mám obchodní systém složený ze dvou indikátorů a v posledním měsíci mě tento systém dává super výsledky – je tento systém dostatečně robustní pro ostré obchodování?“ Pochopitelně, že historické výsledky nejsou zárukou budoucích zisků, ale právě a pouze backtesting vám může během krátké chvíle poskytnout hodnotné souhrnné informace o tom, jak se obchodní systém chová v průběhu dlouhého času, jak vypadají jeho horší a lepší období, jaký kapitál potřebujete do začátku, případně jak velké stop-lossy jsou pro daný trh nejvhodnější.
    Programy uvedené v našem dvoudílném přehledu jsou dnes hlavní řešení, která na trhu najdete. Pokud znáte další programy, určitě je zmiňte v diskuzním fóru.

    Na co se při výběru programů pro vytváření obchodních systémů a backtesting zaměřit?

    Jak je vidět z přehledu, programů existuje obrovská řada a jednotlivá řešení se liší jak vlastnostmi, tak především cenou. Ta se dnes pohybuje od „nuly“ až po stovky dolarů měsíčně. Podle čeho si tedy případný software vybrat? Velký rozdíl je ve skutečnosti, zda-li požaduje řešení pro denní obchodování (a stačí vám EOD data), nebo chcete vytvářet systémy na intradenních datech (tyto systémy bývají výrazně dražší). Ostatně samotná data jsou otázkou, kterou je třeba mít jednoznačně zodpovězenou před nákupem systému. Nezapomeňte, že pro backtesting potřebujete mít k dispozici co největší množství historických dat, bez nich je jakékoliv testování bezcenné. U některých systémů lze data získat relativně levně, jinde se za ně musí opět velmi tvrdě platit. Pokud používáte některého on-line brokera, nepůjdou například data integrovat zdarma od něj? Kromě historických dat je třeba u realtime platforem řešit otázku realtime dat, která bývají drahá – řešením může být napojení software na data, která již máte k dispozici. Řada platforem podporuje například data od Interactive Brokers, ale ne všechny, atd.
    Flexibilita a intuitivnost programovacího jazyka je jistě faktor, který je velmi důležitý. Současně si nezapomeňte pořádně před nákupem prohlédnout dokumentaci k programovacímu jazyku a případně vyzkoušet zákaznickou podporu. Tyto systémy nebývají jednoduché a i zkušený uživatel bude potřebovat občas poradit.
    A v neposlední řadě je výhodné mít takový software, který kolem sebe seskupuje velkou uživatelskou komunitu, která nejen poradí, ale často poskytuje i různé zásuvné moduly, obchodní systémy atd.

    Jak jsem psal na začátku minulého dílu. Otázka výběru software pro vytváření obchodních systémů a backtesting není jednoduchá, ale skoro každý obchodník na ni dříve či později narazí. Pokud tuto otázku řešíte, pak doufáme, že vám tento článek bude dobrým odrazovým můstkem, prostor pro další diskuzi je ve vlákně Software pro vytváření obchodních systémů a backtesting. Nezapomeňte, zejména v oblasti poskytování dat a software je trading pro všechny vývojáře a prodejce neskutečným businessem, a je třeba hodně vybírat a přebírat, protože nabízeno je skutečně cokoliv a vyšší cena nemusí být nutně zárukou kvalit :)

    28.8.2005

    Petr Podhajský

    Fulltime obchodník věnující se tradingu více než 15 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování - intradenní s využitím orderflow. Poslední roky pak stavba automatizovaných portfolio systémů.


    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...

Důležitá informace

Na tomto webu zpracováváme cookies potřebné pro jeho fungování a analytiku, v případě udělení souhlasu také cookies pro účely cílení reklamy.