Hlavní navigace

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

11. 7. 2013
Doba čtení: 6 minut

Sdílet

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

root_podpora

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.  

Byl pro vás článek přínosný?

Autor článku

Mnohaletý profesionální burzovní obchodník a spoluprovozovatel serveru Finančník.cz, který založil společně s kolegou Petrem Podhajským.