Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • Novinky v denících pro backtestování a vyhodnocování parametrů obchodních systémů

    Tabulkový deník, nejčastěji vytvořený v Excelu, je nástroj, který potřebuje každý trader. V rámci uživatelské komunity Finančníka vzniká v této oblasti postupně řada zajímavých projektů, přičemž např. J.A. tester se již přeměnil do skutečně profesionálního software. Hledáte-li deník, se kterým začít analyzovat trhy, tento článek vám může poskytnout zajímavé tipy.

    J.A.tester 3.0

    O programu J.A.tester jsme na Finančníkovi poprvé psali v roce 2006, kdy jej tehdy dva autoři, tradeři Alec a Jacomo, poskytli v první verzi ostatním uživatelům coby vánoční dárek (viz články J.A.tester a později J.A.tester 2.2)

    Program je určen k záznamu, testování a analyzování obchodů s akciemi, indexy, komoditami, měnami atd. a to jak pro intradenní tak poziční obchody. První verze programu byla defacto klasickým deníkem v Excelu s velmi rozšířenými vlastními naprogramovanými funkcemi. Tím, čím byl J.A. tester výjimečný, byla vždy filozofie práce s daty a obchody. Na rozdíl od jiných deníků je J.A. tester postaven na tom, že sám analyzuje skutečná data trhů a uživatel zadává čas vstupu a výstupu svých obchodů. J.A. tester tak umožňuje např. velmi přesně vyhodnocovat dopad posouvání SL, případně aplikování různých výstupů, což je něco, co v jiném podobném produktu k dispozici není.

    Novinkou je nyní verze programu 3.0, která s sebou přináší zejména profesionalizaci produktu - program je nyní plně samostatnou aplikací (nepracuje v prostředí programu Microsoft Office Excel) a obsahuje řadu vylepšení, které vám ve stručnosti představíme níže. Odklon od MS Office byl podle autora programu dán především současnými vyššími výkonnostními možnostmi samotné aplikace a teoreticky téměř žádném omezení z hlediska dalšího rozšiřování.

    Program je koncipován tak, že funkcionalita je rozšiřována pomocí Pluginů a Modulů. Pluginy řeší převážně manipulaci s datovými soubory (program si sám umí naimportovat data z nejběžněji používaných analytických programů). Moduly obsahují hlavní funkcionality programu.

    Aktuální pluginy:
    - Plugin SierraChart – umožňuje číst datové formáty tohoto programu (mnd, scid)
    - Plugin Metatrader – umožňuje číst datové formáty tohoto programu (hst)
    - Plugin NinjaTrader – umožňuje číst datové formáty tohoto programu (txt)
    - Plugin Textové datové soubory – umožňuje univerzální čtení textových datových souborů pomocí vytvářených šablon
    - Plugin Standard – obsahuje základní editory programu (pro Kontrakty, Účty, Obchodní systémy).

    Aktuální moduly:
    - Deník – hlavní modul programu. Slouží pro záznam, uchovávání a výpočet obchodů.
    - Autotest – umožňuje vyhledat výsledky různých kombinací Nastavení obchodu dle zvolených parametrů pomocí opakovaných výpočtů.
    - PS modul – modul pro position-sizing.

    modDenik.gif, 49kB

    Obchody se do J.A. testeru zadávání přes vstupní okno modulu Deník, kde se vkládají tradiční parametry jako pattern, počet kontraktů, long/short a především čas vstupu a výstupu (v programu lze dále nastavit mnoho proměnných jak se má tester chovat, program umožňuje testovat i dílčí výstupy z pozic atd.) Obchody lze do deníku také importovat například z logu programu Bracket Trader. Pro vytvořený seznam obchodů pak stačí přiřadit odkaz na jeden nebo více odpovídajících datových souborů, na kterých lze potom spustit výpočet obchodů. Datový soubor může být libovolného timeframe, včetně tickových dat. V současnosti jsou použitelné pro výpočet obchodů i data linkovaná přímo z programu SierraChart a Metatrader4. Pokud tedy pracujete se soubory v některém z výše uvedených formátů, nemusíte nijak s tímto souborem manipulovat a pouze přiřadíte odkaz, kde se tento soubor ve vašem počítači nachází. V případě, že váš datový soubor není v tomto formátu, lze jej pomocí zabudované funkce překonvertovat (pokud je pro čtení dostupný Plugin). J.A. tester pamatuje i na situace, kdy se pracuje s více kontraktními měsíci – v programu lze přidat odkaz na několik datových souborů a provést tak výpočet obchodů najednou.

    Výsledkem analýzy zapsaných obchodů je velmi přehledný sumář výsledných parametrů systému a také 10 grafů zobrazujících průběh stavu účtu atd.

    Vysledky.jpg

    Program není uzpůsoben pouze pro backtestování, ale jej používat pro průběžný záznam obchodů. Okno umožňuje zapisovat k denním obchodům poznámky k obchodování a online zobrazení výsledků reportů (prozatím pouze z Forexfactory) s možností načítat historické údaje (cca až 2 roky zpět) a tyto údaje pro obchodní dny i uložit.

    AT_sett.gif, 24kB

    Jednou z podstatných funkcí programu je pochopitelně zkoumání dopadu nastavení různých stop-lossů a profit-targetů. Pro to slouží modul Autotest, kde lze nastavit rozsahy jednotlivých parametrů obchodu (včetně velikosti kroku) a spustit výpočet. Tento způsob je v podstatě alternativou nebo spíš náhradou sledování a vyhodnocování hodnot MAE a MFE, protože nejefektivnější nastavení můžete snadno zjistit opakováním výpočtu na reálných datech. Výsledky lze také například vyhodnotit podle maximálního zisku nebo velikosti drawdownu. Vzhledem k tomu, že výpočet probíhá na reálných datech, velmi přesně dokáže zohlednit také parametry posouvání stop-lossu na B/E atd.

    SettMeth.gif, 22kB

    Podstatnou funkcí je v programu modul pro position sizing. Program umožňuje aplikovat jednu z deseti standardních metod pro určení velikostí pozic, včetně několika dalších variant pro dvě z metod. Celkem má tedy uživatel k dispozici 16 způsobů jak navyšovat pozice. Dále v tomto modulu můžete náhodně měnit pořadí obchodů a sledovat jak to ovlivňuje křivku Equity, drawdown a ostatní vypočtené hodnoty (Monte carlo analýza). Program umožňuje také náhodně vynechávat zadaný počet obchodů, protože i v reálném obchodování se vám pravděpodobně může stát, že váš vstupní příkaz nebude vyplněn. Pokud byste chtěli řídit své pozice na základě vývoje křivky Equity v závislosti na poloze klouzavého průměru i tuto možnost vám PS modul nabízí.

    jatester-equity.jpg, 110kB

    Diskuze k předcházejícím verzím programu na našem serveru:
    http://www.financnik.cz/forum/read.php?3,55359,page=1
    http://www.financnik.cz/forum/read.php?23,68110,page=1
    http://www.financnik.cz/forum/read.php?3,121443,121665#msg-121665

    Program od své poslední verze prošel skutečně zásadním vývojem a je vidět, že autor, Aleš Pechočiak, mu věnuje opravdu hodně času. Není proto divu, že změnou prošla i cenová politika – program nyní autor prodává za 2490 Kč / rok. Další informace k programu naleznete na adrese www.jatester.com

    Univerzální backtester

    Pokud vám pro analýzu obchodu stačí běžný obchodník deník, pak velmi sofistikovanou a dopracovanou podobu představuje Univerzální backtester, který v rámci komunity Finančníka vytvořil uživatel s nickem Tomassio.

    backtester.gif, 51kB

    Backtester je k dispozici zdarma, je však určen pouze pro komunitu traderů, kteří diskutují v rámci uzavřeného VIP vklákna absolventů emini kurzu (backtester je určen primárně pro intradenní obchodování). Pokud máte do vlákna přístup, můžete si backtester stáhnout zde:

    http://www.financnik.cz/forum/read.php?14,115176

    Backtest umožňuje testovat libovolný trh (tj. lze v něm nastavovat velikost ticku a dolarovou hodnotu), umožňuje vkládat vlastní patterny a samozřejmě velmi podrobně analyzovat SL, PT a hodnoty MAE a MFE.

    BacktestHelper

    Aby užitečných prográmků pro backtestování nebylo málo, připravil trader Laadiis utilitku BacktestHelper umožňující jednoduše odečítat cenové hodnoty v grafu NinjaTraderu a automaticky je vkládat přímo do Excelového deníku. Program umí z grafu odečítat také hodnoty MAE a MFE, takže výrazně urychluje práci se zanášením dat do Excelu.

    BacktestHelper je k dispozici také zdarma, je však opěn určen pouze pro komunitu traderů, kteří diskutují v rámci uzavřeného VIP vklákna absolventů emini kurzu. Pokud máte do vlákna přístup, můžete si BacktestHelper stáhnout zde:

    http://www.financnik.cz/forum/read.php?14,119624

    BacktestHelper spoluprace například s výše uvedeným „Univerzální backtesterem“:

    backtesthelper.gif, 58kB

    15.4.2009

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