Nechte svůj počítač vydělávat na burze, aneb začínáme s AOS (2)

Tomáš Nesnídal 11. 7. 2013

V minulém díle našeho seriálu jsme si společně udělali lehký úvod o tom, co jsou to automatické obchodní systémy a jak začít využívat počítač pro automatické obchodování na burze. Dnes se pokusím trochu popsat problematiku toho, s jakým software vůbec začít svůj první AOS programovat a obchodovat.

Podle čeho vybírat obchodní a backtestovací platformu

Nejprve mně dovolte napsat, že platforem pro vývoj a obchodování AOS je opravdu obrovské množství a snažit se sledovat všechny, které neustále vznikají, je téměř nemožné. Osobně mám dlouholetou zkušenosti se třemi platformami, které se pokusím popsat dále, ale rozhodně to neznamená, že neexistují další kvalitní možnosti. Právě proto je tedy rozumné začít vlastním průzkumem všech obchodních platforem, které na trhu existují (stačí použít Google) a udělat si sami představu o tom, co se tak nabízí. K tomuto hledání bych vám však rád přidal několik rad ohledně toho, co je při hledání obchodní platformy důležité a na co si dávat pozor.

Snadný přístup k historii dat

Začněme ryze praktickým a zároveň nejdůležitějším bodem. Sebelepší obchodní a backtestovací platforma je nám k ničemu, pokud k ní nemáme historická data trhů. A to je nezřídka problém. Řada jinak špičkových obchodních platforem žádná historická data standardně neobsahuje, a tak je třeba tato někde sehnat a do platformy dostat. Nejčastěji se využívají „on demand“ služby, kdy se platforma napojí na určitý zdroj dat třetí strany a veškerá potřebná data si odtud již platforma sama tahá. Takové služby ovšem nebývají bohužel zrovna levné. Některé platformy dokonce ani nepodporují „data on demand“ a je třeba historická data velmi složitě importovat. Při výběru platformy tedy především zjišťujte, jakými různými způsoby do ní dostat data, jaké zdroje dat platforma nabízí a podporuje a za jakou cenu.

Programovací jazyk, který mně vyhovuje

Různé platformy používají různé programovací jazyky. Je vždy třeba si ověřit, jaký programovací jazyk která platforma podporuje a zda vám tento jazyk bude vyhovovat. Řada platforem podporují například C# nebo C++. Nejrozšířenější jazyk mezi tradery je však zřejmě EasyLanguage, který podporují platformy MultiCharts a TradeStation – viz dále. Jedná se o velmi jednoduchý jazyk, podobný jazyku BASIC. Oproti C# nebo C++ zde samozřejmě existují určité limity, na ty ale však stejně narazí až opravdu profesionální vývojáři AOS v pozdější fázi a vše se dá následně vyřešit například skrze externí DLL. Osobně jsem 100% uživatel EL a jsem zcela spokojený. Potřebuji především skvělé obchodní nápady, nikoliv extrémně sofistikovaný programovací jazyk.

Rychlost

Pozor na to, i v dnešní době existují platformy, které nedokáží pracovat se všemi jádry procesoru. To je pak velmi nepříjemné, neboť potřebné optimalizace i backtesty mohou být extrémně pomalé.

Stabilita při automatickém obchodování

Různé obchodní platformy je možné napojit na různé brokerské firmy, skrze které pak dochází k automatické exekuci nákupních a prodejních signálů. Některé platformy však nemusí být zrovna nejstabilnější, obzvláště při propojení s určitým konkrétním brokerem. Proto je vždy třeba strávit nějaký čas tím, že se snažíme na internetu pohledat maximum ze zkušeností ostatních uživatelů. Nestabilita může být v tomto případě velmi drahá.

Rychlost vývoje a komunita

Rychlost vývoje a komunita kolem dané platformy jsou kriticky důležité body. Burza  je vysoce soutěživé místo a udržet si na trhu výhodu vyžaduje i držet krok s technologiemi. Pro vývoj AOS je například čím dál tím běžnější využívat genetické algoritmy, nebo pokročilejší analýzy až na úrovni vteřin a mikro-vteřin. Kvalitní platforma jde s dobou, neustále se zlepšuje, zrychluje a přizpůsobuje stále lepšímu a novějšímu hardware. Bohužel to u mnoha platforem neplatí, některé stále ještě pracují v prostředí připomínající DOS, dokáží využít jediné jádro a nemají ani tušení o něčem jako 64 bit nebo genetické algoritmy.

Komunita je naprosto stejně důležitá. Čím větší komunita kolem dané platformy, tím větší šance, že už někdo vyřešil určité problémy před vámi a že je řešení nebo rada někde na fóru k dispozici. Čas jsou peníze a na burze to platí zrovna tak. Proto osobně neexperimentuji moc s ničím, okolo čeho už neexistuje široká skupina uživatelů.

Jaké trhy chci obchodovat

Některé platformy, nebo jejich varianty, lze napojit pouze na určité trhy. Já osobně se například vůbec nezabývám forexem, protože na tomto trhu je vytvoření stabilní a robustní strategie téměř nemožné (forex je již příliš saturovaný dalšími AOS a navíc soutěžíte s vývojáři, kteří mají neporovnatelně lepší zázemí a prostředí). Jeden můj známý vytvořil první funkční a robustní AOS na forexu déle než po roce, za stejnou dobu jsem já vytvořil pro komoditní trhy takových AOS téměř 20. Pro mě osobně jsou tedy zajímavé jen ty platformy, které obchodují především komoditní trhy (pozor nikoliv CFD´s, což je něco úplně jiného), a to není zdaleka samozřejmé u všech platforem. Je tedy dobré si již dopředu ujasnit, zda budeme chtít obchodovat akciové trhy (dobrá volba), komoditní trhy (dobrá volba), forex (výrazně nedoporučuji), nebo CDF´s (výrazně nedoporučuji).

TIP: Zajímá vás trading? Podívejte se na nabídku online kurzů na Měšci. Můžete se v nich setkat i s autorem tohoto článku.

Konkrétní obchodní platformy

Nyní se pojďme podívat na tři konkrétní platformy, se kterým mám sám zkušenosti.

NinjaTrader

Univerzální platforma využívající programovací jazyk C#. Platformu lze napojit na celou řadu brokerů, je však třeba zajistit si do platformy data.

Komunita je vcelku rozsáhlá, program stabilní a rychlý. Pro mě osobně je hlavní nevýhoda právě v jazyku C#, který je na mě příliš složitý a zdlouhavý (oproti jazyku EasyLanguage). S programem jsem pracoval především dříve v rámci diskréčního („ručního“) burzovního obchodování.

Největší výhoda programu je, že dokud s ním nezačnete obchodovat naživo, je zcela zdarma.

TradeStation

Největší výhodou této platformy je, že firma TradeStation je zároveň i broker. Platforma tedy nelze napojit na jiné brokery, což může být na jednu stranu i nevýhoda, na druhou stranu je ale provázanost mezi brokerem a platformou znamená, že je maximálně vyladěná, robustní a neustále zdokonalovaná, asi jako provázanost mezi iOS a HW od Apple. Druhou naprosto zásadní výhodou je, že TradeStation již obsahuje implementovaná historická data, a to na drtivou většinu trhů. Začít tedy okamžitě s platformou pracovat je uživatelsky velmi jednoduché a pohodlné.

Nevýhodou je, že program podporuje pouze jedno jádro a není 64 bit. Zrovna tak vývoj programu není zrovna nejrychlejší, zrovna tak i přístup k uživatelům by mohl být značně otevřenější.

V platformě se programuje v jazyku EasyLanguage, komunita kolem TradeStation je gigantická. Pokud u TradeStation už obchodujete, máte platformu zdarma.

MultiCharts

Jedná se o další platformu pracující s jazykem EasyLanguage, existuje ale i verze MultiCharts.NET.

Platforma je neuvěřitelně rychlá, využije veškerý výkon počítače na 100 %, je i ve verzi pro 64bitové platformy. I vývoj je rapidní, firma reaguje na nové trendy a požadavky vždy velmi pohotově. Platforma jde napojit na obrovské množství brokerů.

widgety

Komunita kolem MCH je spíše normálně rozsáhlá, nevýhodou je absence historických dat (existuje ale celá řada způsobů, jak data získat, napojit, nebo importovat) a především cena – ze všech zmíněných platforem je MultiCharts jednoznačně nejdražší.

Závěrem

Osobě z výše popsaných platforem používám tedy poslední dvě zmíněné. MultiCharts pro vývoj a TradeStation pro obchodování (jelikož obě používají stejný programovací jazyk, kompatibilita je zde bez problémů). Po dalších řešeních příliš nepátrám, neboť mám již zaběhnuté funkční workflow a v programu EasyLanguage vytvořím, cokoliv potřebuji, případně se obrátím pro pomoc na kamaráda, pro kterého je programování hračka. Určitě se ale vyplatí udělat si na začátku vlastní širší průzkum.  

Našli jste v článku chybu?
DigiZone.cz: Sony MP-CL1A: miniaturní projektor

Sony MP-CL1A: miniaturní projektor

DigiZone.cz: DVB-T2 ověřeno: ČRa doplňují seznam

DVB-T2 ověřeno: ČRa doplňují seznam

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Samsung EVO-S: novinka pro Skylink

Samsung EVO-S: novinka pro Skylink

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Vitalia.cz: Fyzioterapeutka: Chůze naboso? Rozhodně ano!

Fyzioterapeutka: Chůze naboso? Rozhodně ano!

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští