Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Archiv článků Psychologie obchodování Jak na obchodní plán Mé obchodní strategie
  • Jak na software pro obchodování [3] - analytické programy

    Analytický program pro zobrazování grafů a aplikování nástrojů technické analýzy používá dnes v podstatě každý obchodník. Začínajícího tradera ale může zaskočit, že programů této kategorie existují nejméně stovky, pokud započteme i ty vyloženě okrajové, může být počet ještě mnohem vyšší. Jak se programy liší a podle čeho vybírat?

    Obchodované trhy a styl obchodníka

    Jednoznačně prvním důležitým vodítkem při výběru analytického programu jsou obchodované trhy a obchodní styl tradera, který bude s programem pracovat. Přestože všechny programy pracují v podstatě se stejnými daty (ceny trhů), předurčuje celkové nastavení software, napojení na data atd. často produkt ke konkrétnímu užití. Pokud je například program určen primárně pro obchodování akcií, bude sice s největší pravděpodobností možné zobrazovat grafy např. komoditních trhů, ale často komplikovaněji než u programů, které se na dané trhy vysloveně specializují (bude pravděpodobně potřeba nastavovat ručně dolarovou hodnotu ticku pro daný trh atd.). I když je pravda, že za posledních několik let šel vývoj extrémně kupředu a dnes je již většina programů poměrně dost univerzální. Nicméně velké rozdíly jsou např. mezi programy pro burzovní (např. komodity, akcie) a mimoburzovní trhy (např. forex nebo CFDs). Proto zejména pokud začínáte, je dobré si najít aplikaci, která se na daný trh rovnou zaměřuje. Je to nejjednodušší cesta.

    Podobná situace je v oblasti stylu obchodování - myšleno intradenní či poziční obchodování. Pro intradenní obchodování jsou programy většinou výrazně dražší a jsou na ně kladeny vyšší nároky. Při intradenním obchodování musí platforma dokázat zpracovat obrovské množství dat, musí být rychlá, spolehlivá a velmi stabilní. Nároky pozičního obchodníka nejsou tak zásadní - své analýzy nedělá pod časovým stresem a často nepotřebuje ani intradenní data (a pokud ano, tak mu stačí nějaký tradiční klasický timeframe, kde intradenní obchodník často sahá pro alternativních timeframe jako jsou tickové nebo volume grafy).

    Pokud hledáte analytický program, první co si musíte zodpovědět je, jaké trhy budete obchodovat a jakým stylem. Tím byste se měli nasměrovat do určitého segmentu programů, kde přichází na řadu jemnější výběr podle odlišností jednotlivých programů. V čem se mohou analytické programy lišit?

    Intuitivnosti a celkovou komplexností

    Jelikož je tento seriál určen především pro začínající tradery, začnu poněkud netradičním parametrem pro výběr software, který je však velmi důležitý. Programy jsou dnes různě komplexní a složité. Pro zkušeného obchodníka může být výhodou, že program disponuje např. programovatelným rozhraním a mnoha pokročilými funkcemi, ale začínající obchodník se v takovém programu spíše ztratí nebo se bude věnovat zbytečnostem v podobě zkoumání nějakých hybridních indikátorů místo studování grafů trhů.

    Začínající obchodník, který teprve objevuje trhy má prostě v rámci software úplně jiné "starosti" než pokročilejší obchodník. Např. otázka dat - většina začínajících obchodníků pořádně neví, kde se trhy, které plánují sledovat, obchodují, natož aby si dokázala někde externě sehnat data nebo je načítat např. přes API do software. Pokročilý obchodník již řeší zcela jiné otázky.

    Není tak úplně od věci začít nejprve pracovat s "jednoduššími", ale více uživatelsky komfortními programy a postupem času se přeorientovat na programy, které jsou složitější a třeba obsahují všechny funkce, které obchodník potřebuje (a z praxe ví, že je potřebuje).

    software3_gecko.gif

    Konkrétním příkladem může být třeba program Gecko T'n T, který je zobrazen na screenshotu. Ten v žádném případě nevyniká po technologické stránce, ale velmi kompaktně integruje všechny základy, které jsou pro trading potřeba. Je takový software vhodný pro pokročilého obchodníka? To samozřejmě záleží, co a jak kdo obchoduje. Mě např. Gecko vyhovuje pro určitý typ obchodování (konkrétně komoditní spready), protože nabízí vše, co pro tento způsob tradingu potřebuji. Pro jiný typ tradingu používám jiné programy, které jsou flexibilnější. Ale pro začátek není vůbec od věci začít principy obchodování zkoumat nejlépe na trial verzích podobných software, které jsou jednoduché, obsahují integrovaná historická data, nabízejí funkce jako krokování historickými cenami a integrované informace o tom kde se jaký trh obchoduje, kolik je dolarová hodnota bodu atd.

    V příštím díle článku uvedu přehled programů, se kterými mám v rámci komoditního obchodování praktické zkušenosti a pokusím se u nich uvést základní specifika čím se jednotlivé programy odlišují a pro koho mohou být zajímavé.

    Nyní si pojďme základní možné rozdíly popsat obecněji. V čem dál se dnes mohou analytické programy lišit? Je toho docela dost.

    Způsob práce s grafy. Programy se liší v tom, zda-li mají možnost zobrazovat intradenní průběhy grafů a zejména v používaných timeframe. Ty jsou důležité především pro intradenní obchodníky - programy se liší v tom, jaké alternativní timeframe dokáží zobrazovat. Běžným základem jsou klasické timeframe jako tří minutový, hodinový, denní atd. Řada intradenních obchodníků pracuje ale s tzv. alternativními grafy. Jsou to například volume grafy nebo tick grafy, ale existují i další jako např. range grafy. Vesměs jsou to grafy, které nejsou závislé na čase, ale úsečky jsou vykreslovány v závislosti na aktivitě trhu. Poměrně důležitou vlastností je možnost zobrazit si více grafů najednou, což umí také většina, ale nikoliv všechny software.

    Nabídka nástrojů technické analýzy jako jsou různé linky zakreslované do grafů či nejrůznější indikátory. V této oblasti nabízí většina programů ohromný výběr nástrojů, z nichž 99% běžný obchodník vůbec nevyužije. V čem se programy liší, je možnost si dané nástroje přizpůsobovat vlastním potřebám. Některé programy jsou v tomto flexibilnější, jiné umožňují měnit pouze základní nastavení indikátorů.
    Další odlišnost může být v dostupnosti speciálních nástrojů, které využijí obchodníci specializující se na určité techniky. Některé programy jsou například specializované na práci s fibonnaciho nástroji, což využijí obchodníci, kteří mají svůj systém a obchodní přístup postavený na těchto technikách.

    Důležité rozdíly v analytických programech nalezneme zejména v oblasti dat (cen trhů), se kterými program pracuje. To je problematika, které začínající obchodník často nevěnuje skoro žádnou pozornost, a které jsme se podrobněji věnovali v minulém díle seriálu. Z pohledu programu je důležité, do jaké míry umí programy data ukládat k pozdějšímu použití. Některé programy totiž dovolují pracovat jen s malou historií dat - s takovými není možné strategie příliš backtestovat a začínající obchodník by měl tuto otázku mít na mysli. Dalším důležitým faktorem je samozřejmě zdroj dat, ze kterého dokáže program ceny čerpat - některé programy jsou velmi limitované na poskytovatele, jiné dokáží pracovat i s bezplatnými zdroji dat (především v oblasti EOD dat).

    Programy mají odlišný stupeň podpory - jak ze strany výrobců, tak především ze strany uživatelské komunity. Hlavně u komplexních programů je výhodou rozsáhlé diskuzní fórum stávajících uživatelů, kteří mohou poradit a hlavně poskytnout studnici již vyřešených problémů a dotazů. Toto je další velmi důležitý faktor, který nemusí být pro začínajícího obchodníka na první pohled zásadní. Osobně bych si dnes určitě nepořídil žádný program, který nemá okolo sebe aktivní skupinu obchodníků, se kterými mohu komunikovat (např. prostřednictvím nějakého diskuzního fóra).

    Z pohledu intradenního obchodníka je velmi důležitá také rychlost programu. Bohužel jsou na trhu software, nabízející velmi dobré funkce a kvalitní data, která však nestíhají zpracovávat v reálném čase a grafy jsou tak občas vykreslovány se zpožděním. Pokud obchodník pracuje s nižšími timeframe, je to pochopitelně zásadní problém.

    Některé programy disponují vlastním programovacím jazykem, s jehož pomocí si obchodník může vytvářet vlastní nástroje technické nástroje a především testovat jednodušší nebo komplexnější strategie, případně obchodovat tzv. AOS - automatické obchodní systémy, kterým se budeme věnovat v některém dalším díle.

    Shrnutí

    Vidíte, že základních parametrů pro výběr existuje celá řada a to jsme se problematiky dotkli jen velmi letmo. Programy se pochopitelně liší i v ceně, takže každý obchodník stojí v případě výběru software před poměrně komplexním rozhodnutím.

    Podle mého názoru a zkušeností je dobré na začátku kariéry obchodníka pracovat s jednoduššími a intuitivnějšími programy a zaměřit se na samotné poznávání trhů a testování obchodních strategií. Je rozhodně zbytečné vyhazovat velké peníze za něco, co člověk za pár měsíců shledá jako nepotřebné. A můžete mi věřit, že dnes se obejdeme bez většiny software, které jsme si kdy s Tomášem pořídili a stačí nám nejlevnější řešení a především Microsoft Excel, který představuje z našeho pohledu jediný zásadní analytický nástroj jakéhokoliv obchodníka, kterému byste měli věnovat velkou pozornost.


    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 při správě většího externího kapitálu.


    Další články na toto téma

    Track 'n Trade Pro 4.0

    Track 'n Trade Pro 4.0 společnosti Gecko Software 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.

    Screenshot obrazovky programu zobrazující graf prosincového kontraktu britské libry. Mj. je na grafu vidět období FND (First Notice Day - zobrazeno modře) a LND (Last Notice Day - zobrazeno červeně), tj. den, kdy se kontrakt přestává obchodovat. Klikněte pro plné rozlišení obrázku.
    Zakladní představení
    Track 'n Trade Pro 4.0 slouží pro grafické znázornění cenového průběhu nejběžněji obchodovaných komodit. Program pracuje s denními daty (tzv. End Of Day market data), které graficky znázorňuje pomocí denních, týdenních a měsíčních grafů. Grafy umí TNT zobrazovat ve všech běžných formách - jako čárový graf (zobrazující Open, High, Low, Close), candlestick i v různých alternativách čárového grafu (zobrazující pouze High, Low Close nebo pouze Close).
    Nástroje pro technickou analýzu
    Silnou stránkou programu je podle našeho názoru především množství dostupných nástrojů současně s velmi přehledným prostředím a intuitivním ovládáním. Nástroje pro technickou analýzu jsou dostupné přes dva dokovatelné panely ikon standardně umístěné nad grafem příslušné komodity.

    Panel "Charting tools" obsahuje všechny běžné základní nástroje technické analýzy jako je například kreslení trendových čar, 1-2-3 formací, formací "head and shoulders", různých kanálů, trojúhelníků atd. Popisu jednotlivých nástrojů se budeme na Finančníkovi věnovat v jiných článcích, protože každý jednotlivý nástroj vydá většinou na dlouhý seriál, ne-li samostatnou publikaci.

    Panel "Advanced Tools" pak obsahuje další sadu technických nástrojů, většinou vnímaných jako "pokročilejší". Jde např. o elliotovy vlny, různé fibonacciho nástroje a další.
    Stručně řečeno - v oblasti nástrojů pro technickou analýzu obsahuje program vše, co může začínající či lehce pokročilý technický obchodník požadovat. Na rozdíl od jiných nástrojů jsou v ceně programu všechny i pokročilé nástroje jako fibonacci time zones aj.
    Používání jednotlivých nástrojů je velmi snadné. Po zvolení nástroje se myší klikne do grafů a podle konkrétního nástroje se například tahem aplikuje konkrétní technická formace, kterou lze později myší upravovat podle potřeb obchodníka. S uložením grafu se pochopitelně uloží i formace a ke grafům se obchodník může kdykoliv v budoucnu vrátit.

    Na grafu je vidět, jak snadno a vizuálně přehledně lze na graf aplikovat jednotlivé technické nástroje.
    Anotační nástroje

    Pomůcky pro technickou analýzu doplňuje paleta anotačních nástrojů. S jejich pomocí lze grafy popisovat, označovat a zvýrazňovat zajímavé části grafů, které by později neměly uniknout naší pozornosti.
    Indikátory
    Žádnému nástroji pro technickou analýzu trhu nemohou chybět indikátory - nástroje vizualizující různé jednoduché i složitější matematické vzorce. Jak píšeme v našem manuálu v kapitole věnující se technické analýze - indikátory mohou být součástí řady obchodních strategií. Indikátorů dnes existuje bezpočet (každý výpočet lze vizualizovat do podoby indikátorů), a tak je dobře, že v TNT jsou obsaženy pouze ty nejzákladnější. Mimochodem - verze 4 byla vylepšena tím, že některé méně používané indikátory byly z programu vypuštěny. To je podle našeho názoru pouze dobře - zejména začínající obchodníci mohou v indikátorech hledat zlatý grál, kterými nejsou. Indikátory představují pouze matematické vzorce a v obchodování je třeba je používat s rozvahou a většinou pouze jako podpůrné nástroje např. potvrzující základní technické formace.

    Graf cukru se zapnutými dvěma indikátory - Donchian Channels zobrazený přímo v grafu a Commodity Channel Index zobrazený v okně pod grafem jehož nákupní a prodejní signály jsou zobrazeny v grafu formou šipiček.
    Indikátory, které naleznete v TNT 4 jsou Moving Averages, MACD, 10x8, 3x3, Williams %R, Fast & Slow Stochastics, Williams Accumulation/Distribution, Momentum, MOMMA, DMI, Commodity Channel Index, Bollinger Bands, Donchian Channels, Parabolic SAR, Historic Volatility, Relative Strength Index, Pivot Points, Volume, and Open Interest. Opět si zde nebudeme vysvětlovat funkce jednotlivých indikátorů, protože jde o standardní výpočty a na stránkách serveru se věnujeme jednotlivým indikátorům samostatně.
    Indikátory se v programu zobrazují v okně pod hlavním grafem. Novinkou čtvrté verze programu je možnost zobrazit libovolnou kombinaci indikátorů najednou. Klouzavé průměry (Moving Averages), Bollinger Bands, Donchian Channels, Parabolic SAR a Pivot Points se zobrazují přímo v grafu konkrétní komodity.
    Indikátory zpravidla fungují tak, že se nákupní/prodejní signál generuje např. překřížením různých křivek či překročením určité prahové hodnoty. Na to začátečníci nemají samozřejmě vycvičené oko a indikátory jim tak mohou přijít zbytečně složité. Zajímavou novinkou v tomto směru je tak funkce vizualizace nákupních/prodejních signálů přímo v grafu komodity různými šipkami.

    Všechny indikátory lze podrobně nastavovat v preferencích. To je velmi důležitá vlastnost - každý by si měl uvědomit, že přednastavené hodnoty nejsou žádné fungující dogma - naopak jde často o údaje, které tam vložil "programátor". A jaké hodnoty konkrétně používat? To je už na každém obchodníkovi, aby si našel kombinaci, která jemu osobně bude nejvíce vyhovovat.
    Finanční kalkulátory

    Dollar Calcular - triviální, ale velmi užitečná funkce umožňující i nezkušenému obchodníku přesně interpretovat finanční dolarové hodnoty pohybů. Šipičky na grafu jsou opět generovány indexem Commodity Channel Index, čáry představují klouzavé průměry Donchian Channels
    Na první pohled naprosto banální funkce, které však potěší každého začínajícího obchodníka. Finanční kalkulátory snadno spočítají rozdíl mezi dvěmi body grafu - funkce, která není obvyklá ani ve výrazně dražších programech. V programu je dále implementovaná funkce Risk/Reward Calculator umožňující vizuálně kalkulovat potenciální zisk.
    Data
    Samotný program se dodává již s 25ti letou historií všech hlavních komoditních trhů a 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ůžete "den po dnu" projít řadu trhů a v podstatě v reálných podmínkách simulovat, jak byste se v dané situaci rozhodovali.
    Pluginy
    Funkčnost TNT lze rozšířit několika hodně zajímavými pluginy, kterým se budeme na našich stránkách věnovat podrobně v budoucnu. Ve stručnosti jde o:
    Accounting & Trade Simulation Plug-in umožňující simulované obchodování v trzích. Uživatel může do programu zadávat různé typy nákupních a prodejních příkazů a "papírově" si zkoušet, zda-li v obchodování uspěje. Ideální nástroj v kombinaci s možností trénování na historických datech. COT Plug-in vizualizující tzv. Commitment of Traders - data poskytovaná burzami informující o obchodních náladách velkých profesionálních obchodníků, hedgerů a malých spekulantů. Jde spíše o doplňkový plugin, stejná data lze nalézt i v řadě bezplatných grafů. Options Plug-in. Nový plugin sloužící k obchodování opcí. Uživatel získá historická i aktuální data cen opcí a nástroj pro simulované obchodování tohoto instrumentu. Historická data opcí jsou sice často hodně aproximovaná či různě dopočítávána (jinak by objem dat byl naprosto neúnosný), přesto jde o hodně zajímavý nástroj pro trénink opčních obchodních strategií. Seasonals Plug-in sloužící k zobrazení sezónních trendů včetně historických průměrných cen. Jde o zajímavý podpůrný nástroj pro obchodníky, pracující v dlouhodobém časovém horizontu. Nástroj může "napovědět"jak se cena komodity obchodovala "v průměru" minulých x let. Spreads Plug-in nezbytný pro simulování spreadových obchodů, kterým se na Finančníkovi hodně věnujeme. S pomocí tohoto nástroje lze zobrazovat cenové vývoje spreadů a také simulovat jejich obchodování. Cena
    Atraktivnost programu podtrhuje i jeho cena, která je na běžné poměry hodně příznivá. Samotný program lze na webu výrobce získat za 197 USD, pro průběžné aktualizace je nutné zakoupit "data" - jejich měsíční cena činí 19,95 USD/měsíc (případně 199,50 USD/rok). Ceny jednotlivých pluginů se pohybují od 100 do 200 USD.
    Naše shrnutí
    Track 'n Trade Pro 4.0 je zajímavý především svým propracovaným a intuitivním prostředím. Nováček se v programu hodně rychle zorientuje a v podstatě okamžitě jej může začít používat. Za základní cenu 197 dolarů získá silný nástroj s 25ti letou historií dat, který zejména pro trénování základních technických formací a získávání "pocitu" pro pohyb trhů patří rozhodně mezi nejlepší nástroje co se poměru cena/výkon týče. Promyšlené jsou v tomto ohledu zejména nástroje umožňující "krokovat" historické trhy. Pokročilejší obchodník postupně narazí na řadu omezení. Jak již bylo řečeno, program pracuje pouze s EOD daty (denními) a není možné si zobrazit intradenní průběh obchodů. Pro začátečníky pochopitelně nepotřebné, pro jemné pilování např. vstupních strategií pokročilými obchodníky jsou však intradenní data nezbytná. Také je škoda, že EOD data je nutné odebírat pouze od výrobce programu. Program neumí zpracovávat data z různých bezplatných ani z komerčních zdrojů třetích stran. Pokročilejším obchodníkům pak nezbude, než platit taková data 2x, pokud si současně například platí data pro intradenní obchodování.
    Track 'n Trade Pro 4.0 se od jiných produktů tohoto typu neliší množstvím funkcí ani celkovými možnostmi, ale zejména stylem ovládání a celkovou intuitivností. Program doporučujeme především začínajícím obchodníkům, kteří potřebují koncentrovat svoji pozornost na základní technické analýzy trhů - a to jak aktuálních, tak zejména historických. Program je na stránce výrobce k dispozici v 30 denní zkušební verzi (obsahující také denní aktualizace dat a všechny pluginy), kterou určitě doporučujeme k vyzkoušení.

    Propojení Excelu a IB - načítání historických dat

    V minulém článku jsme si vysvětlili, jak funguje základní komunikace mezi aplikací MS Excel a obchodní platformou TWS od Interactive Brokers za pomocí DDE rozhraní. Také jsme si vytvořili ukázkový Excel obsahující jednoduchý VBA kód, který umí načítat real-time data z TWS. V dnešním článku si předvedeme, jak z TWS načítat data historická.
    Ještě než začneme, rád bych upozornil na jednu věc - pokud chcete historická data z TWS smysluplně využívat, budete potřebovat u IB reálný účet. Demo verze je omezená na jeden týden historických dat a i tak mi připadlo, že data byla vymyšlená. Takže demo účet je dobrý tak na otestování, že věci opravdu fungují, ale to je tak všechno. Pokud máte reálný účet u IB, můžete si samozřejmě zažádat o „papírový“ účet a na tom si všechno testovat. Celkový limit na historická data v TWS je 1 rok. Pokud potřebujete data starší, budete se muset podívat po jiném zdroji dat.
    Základní stavební kámen nám opět poskytne vzorový XLS od Interactive Brokers, ve kterém mají načítání historických dat také implementováno. Opět si to ale zjednodušíme, jak jen to je možné. Pro začátek si vytvoříme jednoduchý Excel, který umí načítat historická data pro jeden akciový titul. Na tom by měl být velice dobře pochopitelný princip, jak to celé vlastně funguje. A pak si vytvoříme Excel druhý, který umí pro dané akciové tituly načíst historická i real-time data.
    Vytvoření požadavku na historická data
    Minule jsme si ukázali, že načtení real-time dat z TWS do Excelu je záležitostí dvou kroků. V prvním kroku si vytvoříme tzv. control link a v druhém kroku si vytvoříme již odkaz přímo na konkrétní data, která nás zajímají. K načtení dat historických budeme potřebovat kroky tři. V prvním kroku si opět vytvoříme control link, v druhém kroku si počkáme na to, až TWS data připraví (chvilku to trvá) a načteme si je, a konečně ve třetím kroku si historická data vypíšeme do Excelu.
    Jako první věc tedy musíme vyřešit, jak vlastně má vypadat control link. Tady opět přichází na řadu vzorový XLS od IB, konkrétně list „Historical Data“:

    klikněte pro celý obrázek
    Když vyplníme nějaký titul a zmáčkneme tlačítko „Request Historical Data“, tak se vytvoří nový list a historická data se vloží do něj. Pokud se přepneme zpět a označíme si control link (sloupec „Ctrl“), tak v řádku formule opět vidíme, jak má control link vypadat (viz obrázek). Ještě než si jednotlivé části vysvětlíme podrobněji, chtěl bych poukázat na to, že control link pro historická data vrací i určité hodnoty (na rozdíl od control linku pro real-time data, který má vždy hodnotu 0) - viz hodnota „FINISHED“ na obrázku. Tyto hodnoty reflektují status, ve kterém se právě TWS při zpracovávání požadavku na historická data nachází. Po odeslání požadavku se status nastaví na „PROCESSING“ – TWS připravuje požadovaná historická data. Jakmile jsou data připravena, status se změní na „RECEIVED“ - TWS platforma obdržela data z IB serveru. A jakmile si data pomocí DDE požadavku načteme a TWS nám je tímto předá, status se změní na „FINISHED“ - operace dokončena. Tyto hodnoty jsou pro nás důležité, protože jakmile se změní status na „RECEIVED“, je to signál, abychom si historická data vyzvedli.
    Vraťme se teď k samotnému control linku a jeho obsahu. První část je víceméně stejná jako u control linku na real-time data. Také tam musí být jméno účtu, ke kterému se připojujeme (DDE server), unikátní ID, „req“ definující, že po serveru něco požadujeme a základní popis finančního nástroje, jehož historická data požadujeme. Hlavní rozdíl je zde v druhé hodnotě (DDE topic), která obsahuje „hist“ místo „tik“ (hodnota „hist“ říká TWS, že chceme pracovat s částí aplikace zaměřenou na historická data). Potom je tam druhá část, kde jsou všechny ty hodnoty oddělené slovy „singleSpace“ a „singleColon“ a tato část je specifická pro požadavky na historická data. Hesla „singleSpace“ a „singleColon“ znamenají přesně to, co znamenají v angličtině - tedy jedna mezera a jedna dvojtečka. DDE příkaz nesmí obsahovat mezery a dvojtečky a toto je způsob, jak mezery a dvojtečky v příkazu použít (TWS těmto slovům rozumí a překládá si je na mezery a dvojtečky). Dále budu používat „přeložené“ hodnoty, ať je to trochu čitelnější.
    První hodnota je v našem případě „20100428 08:00:00 GMT“ a udává datum a čas, od kterého chceme jít do historie (většinou je to dnešní datum, protože chceme co nejbližší historii). Dále tam máme „5 D“ - tím definujeme, jak hluboko chceme jít do historie. 5 D v našem případě znamená 5 dní, „30 S“ by bylo 30 sekund, „3 W“ by byly 3 týdny atd. Dále je v linku hodnota definující časovou velikost úsečky (timeframe), v našem případě je to „11“ a to znamená, že chceme denní data. Např. 3-minutový graf má hodnotu 16, 5ti minutový má hodnotu 7 a hodinový má hodnotu 10. Další hodnota specifikuje, jaká chceme data - většinou chceme „Trades“, neboli Last hodnoty (hodnoty posledních spárovaných obchodů). Můžeme si ale nechat vygenerovat i například Bid nebo Ask data. Pak tam máme hodnotu „RTH Only“ (RTH jako Regular Trading Hours) a zde můžeme zadat 0 pro všechna data nebo 1 pro data pouze z regulérních obchodních hodin. A poslední hodnota definuje, v jakém formátu má TWS vracet datum a čas u jednotlivých úseček. Hodnota 1 znamená formát čitelný pro lidi, hodnota 0 je užitečná pro programátory (počet sekund od 1. ledna 1970).
    Všechny tyto hodnoty jsou velice dobře vysvětleny v dokumentu „DdeForExcelApiGettingStarted.pdf“, který by měl být součástí archívu, ve kterém si stáhnete vzorové XLS od IB. Takže pokud umíte aspoň trochu anglicky, podívejte se tam na kapitolu 16.
    Jakmile control link vytvoříme a vložíme jej do jakékoliv buňky v Excelu, dáváme TWS příkaz, aby nám poskylo požadovaná historická data.
    Načítání historických dat do Excelu
    Nyní víme, jak dát TWS příkaz, aby nám poskytlo historická data a také víme, že historická data budou připravena, jakmile se změní hodnota control linku na „RECEIVED“. Poslední věc, kterou potřebujeme vědět, je, že TWS nám historická data vrátí v podobě dvourozměrného pole, což si můžeme představit jako jeden list v Excelu - každá buňka (neboli hodnota pole) má svou unikátní adresu, která se skládá ze dvou hodnot (pořadí v první dimenzi a pořadí v druhé dimenzi - první dimenzi si můžeme představit třeba jako řádky, druhou jako sloupce). Protože je to datová struktura, která sama o sobě zabere minimálně několik buňek, nemůžeme použít stejný postup jako u real-time dat, kdy do určité buňky vložíme DDE příkaz a ten nám pak do té samé buňky vrátí požadovanou hodnotu. Budeme si muset pole načíst přímo pomocí DDE příkazů v programu a pak jednotlivé hodnoty pole vypsat do Excelu.
    Nyní už víme všechno, co potřebujeme, abychom si mohli naprogramovat jednoduchý XLS, který nám načte historická data pro jeden titul. Program bude mít 3 vstupní parametry - uživatelské jméno TWS, jméno akciového symbolu a hloubku historie dat. Budeme předpokládat, že historii chceme ode dneška a budeme chtít denní timeframe. V jedné části programu si vytvoříme control link a v druhé části budeme monitorovat jeho hodnotu a jakmile se změní na „RECEIVED“, načteme si data z TWS a vypíšeme si je do Excelu.
    XLS bude vypadat takto:

    Do nového modulu ve VBA si vložíme funkci, která se spustí po stisknutí tlačítka a vytvoří control link. Také si tam vytvoříme pomocnou funkci, kterou budeme z control linku extrahovat ID, to budeme potřebovat později:

    klikněte pro celý obrázek
    A k listu, do kterého vkládáme control link (v mém případě první list - Sheet1) si vložíme obsluhu události, která bude sledovat změnu v buňkách na základě výpočtu formule a pokud se naše buňka změní na „RECEIVED“, načteme a zobrazíme historická data:

    klikněte pro celý obrázek
    Nyní už si pouze přiřadíme makro „PripravaControlLinku“ k našemu tlačítku, vyplníme uživatelské jméno, akciový symbol a hloubku historie, a po stisknutí tlačítka nám program načte do Excelu požadovaná historická data. TWS samozřejmě musí běžet pod uživatelským jménem, pod kterým se z Excelu připojujeme.
    Tento Excel si můžete stáhnout zde.
    Načítání historických a real-time dat pro více akciových párů
    Právě jsme si ukázali, jak vytvořit jednoduchý Excel, který nám načte historická data z TWS. Nyní si nové poznatky spojíme s tím, co jsme se naučili minule. Vytvoříme si Excel nový, který nám načte jak historická, tak i real-time data pro symboly, které uvedeme v Excelu. Opět budeme pro jednoduchost pracovat s akciovými tituly. V každém řádku bude v prvním sloupci uvedený jeden akciový titul, pro který si stáhneme historická data na základě zadané hloubky historie a na konec řádku přidáme i real-time hodnotu. Excel bude vypadat takto:

    Program se bude opět skládat ze dvou částí. První část bude makro přiřazené k tlačítku. Toto makro nám v cyklu projede všechny řádky, kde je uvedený symbol a vytvoří control linky pro historická (Ctrl1) a real-time (Ctrl2) data. Druhá část programu bude opět obsluha události Worksheet_Calculate(), která bude monitorovat všechny control linky pro historická data a pokud se hodnota změní na „RECEIVED“, tak historická data načte, zobrazí historické Close ceny do jednotlivých sloupců a na konec ještě přidá odkaz na real-time data. První část programu si opět vložíme do nového Modulu:

    klikněte pro celý obrázek
    Na screenshotu není úplně zobrazena funkce „Pause“, ale je to naprosto stejná funkce, kterou jsme použili v minulém článku při načítání real-time dat. Opět ji používáme z důvodu, abychom dali TWS trochu prostoru mezi zpracováváním jednotlivých příkazů. Druhá část kódu musí být opět přiřazena k listu, ve kterém chceme control linky monitorovat. V mém případě je to opět „Sheet1“:

    klikněte pro celý obrázek
    Nyní si pouze přiřadíme makro „PripravaControlLinku“ k našemu tlačítku, vyplníme uživatelské jméno, hloubku historie a akciové tituly, a po stisknutí tlačítka nám program do řádků načte požadovaná historická data a doplní je o real-time Last cenu.
    Tento Excel si můžete stáhnout zde.
    Závěrem
    Ani můj dnešní článek neměl za cíl naprogramovat 100% robustní „blbuvzdorný“ program, který má ošetřeny všechny věci, které uživatel může udělat špatně. Cílem bylo poskytnout vysvětlení a co nejjednodušší praktickou ukázku toho, jak to vlastně celé funguje pod pokličkou. Dnešní kód už je trošku komplikovanější než ten minulý, ale opět jsem ho pořádně okomentoval, takže by neměl být problém ho pochopit. Hodně štěstí při experimentování!
    Autor: Petr alias gizmo

    Několik tipů pro začínající v Gecko TnT

    S Tomášem dostáváme na setkání řadu dotazů, týkající se práce v programu Gecko TnT. V dnešním článku jsme pro vás připravili odpovědi na čtyři nejčastěji pokládané dotazy, určené především začínajícím obchodníkům, kteří se snaží v programu zorientovat.
    Pokud zatím o programu Gecko TnT nic nevíte, přečtěte si tento článek.
    Vytváření a sledování portfolia trhů
    V Gecko TnT lze sledovat vývoj všech běžně obchodovaných amerických futures trhů. Které trhy se v programu aktualizují, je třeba nejprve nastavit pomocí funkce Commodity Chooser. Tu vyvoláme přes ikonku nebo pomocí menu View Commodity Chooser...

    Podle svých preferencí si zde můžete vybrat komodity, které vás zajímají, případně omezit jejich historii na určitý počet let. Pokud máte rychlou linku a velký disk, patrně není důvod se příliš omezovat, aktualizace všech dat trvá i na pomalejším připojení pouze několik minut. Máte-li k dispozici modul pro práci s opcemi, můžete si nechat stahovat také data opcí. Sloupec Fraction (zlomek) udává, v jakém formátu se mají data stahovat. Je-li políčko zaškrtnuto, budou se data stahovat ve formátu zlomku (např. 9 1/2), v opačném případě bude použit desetinný tvar (např. 9,5).
    Poznámka: řada komoditních trhů je v tabulce uvedena několikrát - vždy si však všímejte údaje v závorce. Open Outcry specifikuje data z pitového trhu (tzn. pouze v rámci denních seancí), Combined jsou data jak z pitového, tak elektronického obchodování. Electronic jsou čistě elektronické trhy. Většina klasických surovinových trhů má k dispozici pouze data typu Open Outcry nebo Combined. Je to proto, že čistě elektronické trhy nemají dostatečnou likviditu a běžně se neobchodují. To se postupně mění a předpokládáme tak, že postupně budou v Gecko TnT k dispozici také data pro čistě elektronické surovinové trhy. Vysvětlení rozdílu mezi elektronickým a pitovým trhem naleznete mj. v článku Jaký trh si vybrat pro obchodování?
    Jakmile máte vybrané trhy k aktualizaci, je třeba pravidelně stahovat aktuální data - to se provede pomocí ikony Data Update .
    Samotné vkládání příslušných trhů do portfolia probíhá jednoduše zvolením daného trhu a příslušného kontraktního měsíce:

    Máte-li navolené své portfolio trhů, je třeba jej uložit, abyste s ním příště mohli dál pracovat. Ukládání probíhá klasicky přes menu File -> Save nebo přes ikonu Safe. Soubory se ukládají ve speciálním formátu .tnt a při ukládání souboru poprvé je třeba vybrat jak příslušný adresář tak jméno, pod kterým soubor příště naleznete.
    Co je velmi důležité - chcete-li při příštím přihlášení pracovat se stále stejným portfoliem, zaškrtněte v menu File položku Remember Last Book:

    Máte-li tuto položku zaškrtnutou, budete mít při dalším spuštění programu k dispozici stejné grafy, jako při jeho uzavření. Pomocí programu si můžete vést samozřejmě několik "portfolií" - nejrychlejší cesta jak spouštět různé soubory, je přes výběr nejnovějších souborů, které se zobrazují dole v menu pod nabídkou File. Alternativně lze pochopitelně použít příkaz Open a vybrat příslušnou složku na disku. Při ukončování programu nesmíte zapomenout poslední nastavení uložit (File -> Save) nebo přes ikonu Safe, ale program by se měl sám připomenout pokud jej budete ukončovat bez uložení posledních změn a aktualizací.
    Práce s paletkami
    Občas dostáváme dotazy na "zmizelé paletky". Problém může mít v zásadě dvě příčiny - pokud vám doběhla zkušební verze programu, pak řada paletek zmizí a objeví se až poté, co si program u výrobce zaplatíte. Pokud používáte plnohodnotný program, pak jste si patrně některé paletky skryli. Paletky s ikonami jsou v programu modulární - lze je přesouvat či skrývat. Pokud kliknete levým tlačítkem myši na svislou čárku na levém konci paletky, lze - při stále stisknutém tlačítku - paletu přesouvat na libovolné jiné místo v rámci programu. Kliknete-li na paletku levým tlačítkem myši 2x, paletka "vyskočí" z programu a lze ji umístit libovolně mimo program nebo úplně zavřít.
    Paleta klasicky umístěná v rámci Gecko TnT:

    Pokud na paletku 2x klikneme levým tlačítkem myší, paleta se přemístí do samostatného okna. Pokud okno uzavřete, paleta z programu úplně zmizí:

    Chcete-li paletu opět dostat do prostředí Gecko TnT, popotáhněte ji myší na místo, kde jsou ostatní paletky a ona se do programu zpátky "vrátí".
    Pokud vám paletka v programu chybí, můžete ji znovu zobrazit přes menu View:

    Skryté palety jsou v menu zobrazeny bez ikony "zatržítka".
    Likvidita
    Jeden z nejdůležitějších faktorů pro výběr trhu k obchodování je tzv. likvidita. Likvidní trh je takový, ve kterém se čile obchoduje. Jeden konkrétní obchod tak nemá příliš vysoký vliv na změnu ceny. Dostatečně likvidní trh také znamená, že obchodník může pozici otevřít i uzavřít v podstatě v libovolné situaci. Je-li trh málo likvidní, může se stát, že pozici sice uzavřít lze, ale za výrazně horší cenu, než bychom si přáli. Jinými slovy - pokud se na trhu denně zobchoduje třeba několik desítek tisíc kontraktů (jako např. v kukuřici), pak si můžeme být jisti, že v podstatě v libovolný okamžik můžeme kontrakt uzavřít/otevřít za cenu hodně podobnou té, kterou vidíme na obrazovce (máme-li k dispozici živá data). Takový trh je vysoce likvidní. Vysoce likvidní bývají především aktuálně obchodované (tzv. front) měsíce většiny běžných komodit. Konkrétně se likvidita pozná podle hodnoty Volume, což je ukazatel, vyjadřující celkové množství kontraktů zobchodovaných v rámci specifického časového úseku (podrobně viz článek "Co je to Volume").
    V Gecko TnT se likvidita zvoleného měsíce zjistí velmi snadno. Nejsnáze to jde přímo v grafu se zvoleným indikátorem Volume.
    Volume indikátor se zapne kliknutím na tlačítko V/OI Výsledkem je graf podobný tomuto:

    Na uvedeném screenshotu je vidět grafický vývoj volume v jednotlivých dnech. Tento údaj lze snadno interpretovat vizuálně (tj. pohledem zjistíme, jestli se volume zvyšuje či snižuje), pro přesnou interpretaci je však třeba se podívat na volume příslušného dne. Stačí najet myší na daný cenový bar a volume se zobrazí dole v okénku, které jsem zvýraznil červeně. Mimochodem - chcete-li v Gecko TnT svisle zvýraznit určitý den jako na našem screenshotu, stačí při projíždění grafu stisknout klávesu SHIFT.
    Osobně sleduji v Gecko TnT volume také přes praktickou záložku Data zobrazující jednotlivé hodnoty v číselné podobě.

    Tabulka Data je sama o sobě velmi praktickou pomůckou a umožňuje zobrazování i číselných hodnot nejrůznějších výpočtů (indikátorů, Commitments of Traders, ceny opcí atd.). Sloupce, které chcete v tabulce zobrazit můžete navolit přes tlačítko Customize.... Zobrazené hodnoty lze i snadno přenášet např. do Excelu pro další výpočty - stačí do tabulky kliknout, zvolit všechna data (Ctrl A) a následně data zkopírovat přes schránku (nejprve Ctrl C v programu Gecko TnT, a poté Ctrl V např. v Excelu).
    Pozn.: u pitových obchodů zveřejňují burzy informaci o volume s určitým zpožděním, proto je v Gecko TnT tato informace dostupná až následující den. Hodnotu volume za předchozí den můžete zjistit např. na stránkách burzy, kde je uveřejněno tzv. předběžné volume, které se může ještě v průběhu dne nepatrně měnit.
    Zobrazování LTD, FND
    Hodnoty FND a LTD jsou pro poziční obchodníky velmi zásadní. FND (First notice day) představuje upozornění, že se daný kontrakt přestane brzy obchodovat. V praxi FND znamená, že většina brokerů bude požadovat, aby klienti k tomuto datu uzavřeli v daném trhu své pozice. LTD (Last trading day) představuje zcela poslední den, kdy se daný trh obchoduje. Po LTD se daný kontrakt přestává obchodovat a začíná proces tzv. vypořádání - fyzického dodání dané komodity.
    Hodnoty FND a LTD je velmi důležité sledovat, především ve fázi plánování (ve fázi ostrého obchodování vás málokterý broker nechá v obchodu přes FND). Gecko TnT umí obě data sledovat několika způsoby:
    V první řadě je datum FND a LTD k dispozici v záložce Key:

    Datum je pochopitelně udáváno v americkém formátu - tzn. měsíc/den/rok.
    Velmi praktická je pak možnost nechat si zobrazovat hodnoty LTD a FND přímo do grafů. To je třeba nejprve nastavit přes preference programu. Klikněte na ikonu Program Options (alternativně lze zvolit View -> Program Options...) a v okně Program Options rozbalte složku My Default Settings a vyberte volbu Appearance (vzhled):

    V okně zaškrtněte okénko u voleb Last Trading Date a First Notice Day, případně si zde můžete nastavit barvu, kterou budete chtít dané datum v grafu zobrazovat. Pozor! Chcete-li aplikovat nastavení na již zobrazené grafy, musíte nyní kliknout na tlačítko Apply to active charts (aplikovat na aktivní grafy), a poté vše potvrdit OK. Pokud kliknete pouze na tlačítko OK, nastavení se projeví až u nově otevíraných grafů a nikoliv těch, které již máte v programu aktuálně zobrazené.
    Výsledný graf se zobrazenými daty FND a LTD pak vypadá např. takto:

    Žlutá oblast je oblast "v rámci FND", červeně je označen LTD.
×
×
  • Vytvořit...