Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • Opentick – alternativní zdroj levných realtime a bezplatných historických dat

    (Upozornění: článek je z archivu a Opentick již data bohužel nenabízí.) V rámci článku věnovaného software pro obchodování, který jsme na Finančníkovi publikovali minulý týden, jsem se podrobněji zmínil o problematice dat. Pro profesionální trading (a zejména ten intradenní) potřebuje obchodník skutečně co nejlepší data, která nejsou levná, ale na druhou stranu v porovnání s komisemi při aktivním tradingu bývá cena docela zanedbatelná, takže u aktivních obchodníků nedává smysl příliš "přebírat" a hledat "levnější" varianty, protože takový obchodník ví co potřebuje, kolik vydělává a kolik je pro něj přiměřené vydávat např. za data.
    Nicméně začínající obchodník by měl své výdaje omezovat na co nejnižší rozumnou míru - doba přípravy a tréninku může být poměrně dlouhá a kapitál je lepší koncentrovat na trading a nikoliv jej postupně rozpustit do drahého software a dat, pokud člověk navíc ani vlastně neví, co přesně bude v budoucnu potřebovat.

    V řadě článků jste od nás slyšeli, že jsme zastánci přístupu vnímat trading jako business od samotného začátku a k tomu patří také přiměřené investice. Sám jsem tak nikdy nevyhledával různá bezplatná "alternativní" řešení a snažil se spíš soustředit na cestu jak peníze vydělat než jak výrazně ušetřit - bohužel řada lidí řeší tak dlouho "šetření", že se k samotnému vydělávání nikdy nedostane, ale to je zase jiný příběh… Ale jelikož existuje několik zajímavých cest, které mohou být do určité míry skutečně zadarmo a poskytovat službu na poměrně vysoké úrovni, rozhodl jsem se o nich napsat podrobnější článek, aby vznikl na Finančníkovi především prostor v rámci diskuze ke sdílení zkušeností s tím kterým produktem.

    Dnes se budeme věnovat datům, konkrétně produktu Opentick.com (upozornění: článek je z archivu a Opentick již data bohužel nenabízí).

    Opentick (www.opentick.com) je projekt, který funguje již několik let a který se zaměřuje na poskytování dat především z amerických burz (a nutno dodat, že se projekt stále vyvíjí a zlepšuje). K dispozici jsou na serveru realtime-data i poměrně velká databáze historických dat, přičemž se platí případně pouze poplatky burzám za realtime data. Zpožděná data jsou k dispozici zdarma. Tj. cenově jde o nejlevnější data, která lze legální cestou získat, pokud za vás neplatí poplatky burze broker.

    Výhodou Opentick projektu je API poskytované bezplatně jako open source. Výrobci software nebo webových služeb tak mohou elegantně a zdarma zabudovat tento zdroj dat do svých aplikací, což také dělají.

    Co je zdarma, co se platí?

    Nutno říci, že s Opentick nemám nějaké dlouhodobé praktické zkušenosti a službu sám nepoužívám, protože jsem spokojen se svými placenými daty. Službu jsem po delší době zkoušel několik hodin, porovnával data v různých aplikacích a svoji základní zkušenost sepsal v podobě tohoto článku, který by mohl inspirovat především začínající tradery, kteří zatím nemají ani data od svého brokera a hledají nějakou cenově přijatelnou cestu "odkud začít". Moje zkušenost nicméně nezahrnuje dlouhodobé reálné používání dat a bude pro řadu ostatních určitě přínosem, pokud se se svými zkušenostmi budete dělit v připojené diskuzi.

    Pro využití služeb Openticku je třeba se registrovat (zde). Registrace nevyžaduje zadávání informací o platební kartě a její součástí je i výběr trhů a odsouhlasení standardních smluv burzám, které jsou ve stejné podobě vyžadovány všude, kde k realtime datům budete přistupovat.

    Pokud si nechcete platit realtime data, doporučuji při registraci zvolit datafeed ECN, který je zdarma, případně CBOT E-Mini's, která jsou také zdarma. V rámci těchto datafeedů nejsou k dispozici data v reálném čase žádných běžně obchodovatelných komoditní trhů, ale zřídí se registrace do systému, odkud je pak možné získávat bezplatně historická data případně živá data (ale samozřejmě zpožděná).

    Tzn.: pokud si při registraci vyberete bezplatné datafeedy je možné získat historická data a případně zpožděná data pro všechny ostatní burzy.

    Pokud potřebujete živá, nezpožděná data, pak je třeba platit měsíční poplatky burzám. Ceník naleznete na této stránce: http://www.opentick.com/index.php?app=content&event=market_data
    Ceny nejsou vůbec špatné (pro běžné obchodníky platí sloupec nonpro). Klasické běžně obchodované futures indexy (CME E-Mini's) přijdou např. na 15 dolarů měsíčně.

    Do jaké aplikace lze data načítat?

    Jak jsem již zmínil, Opentick poskytuje otevřené API, takže je jen na softwarových vývojářích zda-li datafeed do svých platforem zabudovali. Opentick napájí celou řadu individuálních projektů, v diskuzi můžete nalézt odkazy na pluginy načítající data do Excelu a samozřejmě i seznam běžných programů pro technickou analýzu. Ten je k dispozici zde: http://www.opentick.com/index.php?app=content&event=platforms

    Z těch nejběžněji používaných na stránkách Finančníka je zajímavý především SierraChart, Ensign a NinjaTrader. V rámci těchto aplikací lze propojení zřídit v podstatě "jedním klikem". Co jsem pochopil, tak i řada dalších programů umí s daty z Opentick pracovat, ale už to není tak "oficiální".

    Jaká historická data jsou k dispozici a jak je dostanu do svého software?

    Historická databáze kontraktních měsíců sahá např. u indexů do roku 2003, u klasických komodit jsou většinou k dispozici jen elektronické kontrakty. To je samozřejmě pro řadu testovacích účelů a na data zdarma slušné. Rozsah historické databáze jsem netestoval nějak komplexně a určitě nestahoval všechna historická data - o tom, jaké historické kontraktní měsíce Opentick obsahuje se můžete sami přesvědčit přes toto vyhledávání: http://www.opentick.com/index.php?app=search&event=symbols

    Jak dostat data do vašeho software, záleží na tom, který program používáte.

    Pro SierraChart naleznete návod na této stránce: http://www.sierrachart.com/index.php?file=opentick.php

    V praxi je propojení triviálně jednoduché: Vyberete Global Setting > Data/Trade Service Settings a v políčku Service nastavíte opentick. V rámci Connection Details nastavte feed1.opentick.com (to by měl být datafeed obsahující všechna data zpožděná, ale přístupná bez placení poplatku burze), vyplňte uživatelské jméno a heslo.

    Dole na výše odkazované stránce Sierry naleznete ukázku syntaxe symbolů.
    Např. aktuální březnový kontraktní měsíc ER2 načtete po zadání symbolu: [ER2H8-EM
    Tj. Nejprve hranatá závorka (ta nahrazuje lomítko, které naleznete ve vyhledávání symbolu na stránce Opentick), potom specifikace kontraktu a nakonec pomlčka s kódem burzy (EM znamená CME - ve vyhledávání symbolů na Opentick naleznete vždy i kód burzy, takže není problém symbol poskládat).

    Opentick poskytuje i kontinuální kontraktní měsíce (tj. pospojované), ale do Sierry se mi je nepodařilo načíst (patrně chybí podpora, dokumentace rozhodně…). Do Ensignu načtete kontinuální měsíc Russellu syntaxí ER2 #F.

    Jak jsou data kvalitní?

    Co se kvalit dat týče, paradoxně výsledek hodně závisí podle všeho na použitém software, do kterého data stahujete. Data v reálném čase (tj. ta, u kterých je třeba platit poplatek burze) jsme testovali v SierraChart a v Ensign a vypadají překvapivě dost kvalitně (i když některé dny chvíli trvalo, než se realtime stream "nahodil" a byl skutečně realtime). Porovnávali jsme např. ER2 s daty z TradeStation a eSignalu a data jsou velmi podobná (tj. určitě dostatečně kvalitní pro běžné testování).

    Jiná věc je to u historických dat. Zde měla problémy SierraChart, která patrně stahuje jen nějakou část dat a výsledek byl docela nejistý - nebyl jsem třeba schopen zobrazit tickovou historii dat (patrně se vůbec nestáhla). Nicméně např. u Ensignu porovnával kolega s nickem trader01 ticková data z backfillu s daty z backfillu z eSignalu a ta byla až na pár duplicitních ticků (paradoxně v eSignalu) naprosto shodná.

    Zkoušel jsem data stahovat ještě do programu NinjaTrader (www.ninjatrader.com) - mimochodem luxusní aplikace pro technickou analýzu, kterou je možné používat zdarma a které se budeme věnovat v některém z příštích článků) a tam fungovalo spojení výrazně lépe než v SierraChart a grafy byly pro testování na historických grafech určitě ok. I když spíše klasické časové timeframe - jako 3 min a výše. Grafy založené na ticích a volume se rozcházely s těmi, které mám v TradeStation, což je pochopitelné s ohledem na ohromný objem dat, který by bylo třeba přenést.

    Závěr

    Opentick může být zajímavá cesta, i když podle mého názoru hlavně pro vývojáře, kteří budou těžit z API. Pro trading mi mnohem smysluplnější připadá čerpat např. data z InteractiveBrokers, byť ani zde člověk rozhodně nemá tento proces bez problémů. Nejvíc mě u Opentick zarazilo, jak výrazně rozdílně fungoval backfill u SierraChart a u Ninjatrader. Být začínající obchodník, který nemá možnost si data srovnat s jiným, relevantnějším zdrojem dat, budu patrně zaskočen. Pokud nemáte jiný zdroj dat a potřebujete historická data (hlavně klasický časový timeframe) pro testování, tak mi jako smysluplná volba připadalo propojit Opentick s programem Ninjatrader. Zde byl backfill vyřešen komfortně a snad i spolehlivě, byť určitě ne bez problémů, jak zaznělo v diskuzi i posledního článku. Nicméně tomuto programu se budeme ještě věnovat podrobněji. A pokud budete takové řešení využívat, nezapomínejte prosím na to, že jde o nejlevnější data, která nejsou např. filtrována na chyby, a nejsou tak 100% spolehlivá. Osobně bych taková data nepoužíval pro nějaké ultra rychlé tickové timeframy, nebo volume grafy, ale pro např. 3 minutové a vyšší timeframe mohou posloužit dobře. Pokud budete mít s daty praktické zkušenosti, podělte se prosím s ostatními v připojené diskuzi.

    27.2.2008

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