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
  • MSA 3 - skvělý vylepšený nástroj pro analýzu obchodování a nyní i portfolia

    O programu Market System Analyzer (MSA) jsme na Finančníkovi poprvé psali před více než rokem. Jde o velmi silný a zároveň dostupný nástroj pro analýzu výsledků obchodních systémů, který byl nedávno výrazně vylepšen a rozšířen.

    Než se podrobněji podíváme na novinky v programu, zrekapitulujme si, proč je program typu MSA tak důležitý. Základním kamenem úspěšného obchodování je evidence obchodů. Obchodníci si vedou své obchodní deníky, ve kterých by měly nalézt odpovědi na většinu svých otázek spojených s úspěchem či neúspěchem v trzích. Odpovědi budou tím konkrétnější, čím detailnější informace budeme o systému mít. A nejde o to zaznamenávat nějaké ohromné množství informací, ale běžné informace (datum, vstup, výstup z pozice atd.) umět vyhodnotit a rozvést o další rozměr obchodování - aplikaci money-managementu (podrobněji je myšlenka rozvinuta v našem prvním článku o MSA)

    Sílou programu MSA jsou jeho univerzální schopnosti importu dat. Další řešení (a že jich v této oblasti opravdu moc není) jsou vázána na konkrétní, často drahý software. Většina obchodníků přitom své obchodní záznamy vede např. v Excelu, kde si jen málokdo dokáže naprogramovat nějaké pokročilejší řešení pro analýzu obchodních výsledků nebo porfolia. V tomto ohledu je MSA výtečné.

    MSA dokáže importovat výsledky obchodních systémů uložené v jednoduchých textových souborech, které není problém z Excelu exportovat. Podrobný návod "jak na to" naleznete na Finančníkovi v článku Praktický návod jak analyzovat vlastní obchodní výsledky v programu typu MSA - import. Jinak pro doplnění - MSA dokáže automaticky pracovat i s výsledky automatizovaných strategií vytvářených v programu TradeStation. Po zakoupení plné verze programu dostane uživatel zdarma k dispozici skript WriteTrades3, který toto automaticky a zcela bez problémů zajišťuje. Případně je možné z TradeStation do MSA data importovat přes TradeStation performance report (data je třeba z TradeStation nejprve uložit do Excelu).

    Novinky v MSA 3

    A nyní již k novinkám. Hlavní novinkou programu Market System Analyzer v jeho třetí verzi je dlouho slibovaná podpora práce s více obchodními systémy najednou - portfolio analýza. V předcházející verzi bylo možné v programu pracovat v jednom čase pouze s výsledky jednoho systému, nyní je možné na pracovní ploše otevřít výsledky více systémů najednou a kombinovat je do jednoho výstupu. Velmi silný nástroj, který poskytuje obrovskou škálu vyžití. Právě přes kombinaci výsledků různých obchodních systémů (neboli diverzifikaci) dosahují profesionálové "vyhlazené equity". MSA 3 nyní umožňuje výsledky podobné diverzifikace nejen snadno vytvářet, ale i detailně zkoumat a analyzovat.

    msa3a.gif
    Novinkou v MSA 3 je možnost zobrazovat najednou více oken s různými obchodními systémy (klikněte pro plnou obrazovku).

    Výsledky několika obchodních systémů lze spojit do jednoho portfolia:

    msa3_1.gif

    Portfolio se poté zobrazí jako jediná equity, na které lze provádět podobné analýzy, jako na jednotlivých systémech (podrobnosti viz naše recenze MSA - dostupný position sizing v praxi.

    msa3_2.gif
    Výsledná equity křivka portfolia obchodních systémů.

    Autor programu, Michael Bryant, do aktuální verze 3.0.4. již zapracoval většinu slibovaných nástrojů pro práci s portfoliem, které v rámci cenové kategorie dělají z programu opravdu hodně silný a snad i bezkonkurenční nástroj.

    Konkrétně lze v rámci portfolia analyzovat robustnost pomocí testu významnosti a monte carlo analýzy (podrobnosti o monte carlo analýze viz článek Pracujeme s MSA - Monte Carlo simulace. K dispozici je i test závislosti a simulace různých taktik na základě závislosti (zvyšování/snižování různých parametrů obchodování na základě ziskových nebo ztrátových sérií obchodů).

    Pochopitelně, že v rámci portfolia lze simulovat i různé typy money-managementu. MSA je vybaven snad všemi běžnými i méně běžnými vzorci pro position sizing a všechna nastavení dostupná pro jednotlivé individuální systémy lze s různou logikou aplikovat i na celé portfolio. Již mnohokrát jsme na serveru zmiňovali, jak důležité je o position sizingu uvažovat již ve fázi přípravy systému - i jednoduché myšlenky s dobrým money-managementem dokáží vydělávat velmi zajímavé částky a často je zbytečné a kontraproduktivní ladit systém s jedním kontraktem "k dokonalosti", která neexistuje jen kvůli tomu, že na jeden kontrakt vydělává systémem málo. V případě portfolia je to ještě evidentnější - spousta obchodníků se nevěnuje dobrým myšlenkám např. na poziční obchodování jen proto, že vypadají, že nepřinášejí příliš profitu. Pokud budete mít několik takových přístupů a budete o nich uvažovat z pohledu portfolia, které se postupně bude zhodnocovat nejen systémem samotným, ale i díky aplikaci position sizingu, může váš pohled na trading získat zcela jiný rozměr. Navíc díky vhodné diverzifikaci může být dobře složené portfolio systémů výrazně stabilnější, než aplikování jednoho obchodního přístupu.
    Proto jsou popisované funkce tak důležité - byť může být posizition sizing až "další úrovní" vašeho obchodování, je dobré vidět, jaký potenciál může zvolená kombinace systémů přinášet a současně testovat dostupnými nástroji celkovou robustnost a sledovat parametry jako drawdown atd.

    msa3_3.gif
    V diskuzích často padají dotazy na nejlepší "tajemné vzorce" pro position sizing. Nejlepší je vyzkoušet jejich dopad přímo v praxi - MSA nabízí většinu přístupů k position sizingu popsaných v nejrůznějších knihách.

    Autor programu slibuje ještě několik funkcí, které postupně do programu dopracovává - konkrétně se u portfolia můžeme těšit na funkci optimalizace money-managementu pro celé portfolio (funkce vyhledává nejvhodnější parametry pro zvolený position sizing; v tuto chvíli funguje pouze pro jednotlivé systémy nikoliv pro celé portfolio a korelační analýzu, která nyní také funguje pouze pro jednotlivé systémy).

    MSA 3 nabízí celou řadu dalších drobných novinek, které jsou silným nástrojem jak pro práci s jednotlivými systémy, tak s celým portfoliem. Mj. lze například equity křivky zobrazovat nejen po jednotlivých obchodech, ale také z pohledu času:

    msa3_4.gif
    Zobrazení equity křivky z pohledu času - na horizontální ose není číslo obchodu, ale datum. Výrazněji tak vynikne vývoj našeho obchodního účtu v čase.

    MSA 3 je také nyní kompatibilní s Windows Vista, umožňuje nastavit symbol pro měny (např. koruny, euro atd.), podporuje různé oddělovače desetinných míst (není třeba v systému nastavovat anglické prostředí s desetinnou tečkou).

    Velmi výrazně byl přepracován report výsledků portfolia nebo jednotlivých systémů. Systém nyní poskytuje detailní informace v samostatných tabulkách zvlášť pro krátké a dlouhé pozice a především byla výrazně rozpracována informace o drawdownu. Mj. vidíme počet drawdownů, samozřejmě nejvyšší drawdown, jejich vyjádření v procentech, penězích, ale také jejich délku v čase a počet obchodů, který byl třeba k "zotavení". Podobné informace bude běžných obchodník jen těžko získávat např. ve svém Excelu a jsou skutečně k nezaplacení.

    Závěr

    MSA je jedním z mála programů, které představují stabilní kámen pro naše vlastní obchodní analýzy. Program zaplnil mezeru na trhu, kdy dříve byly uživatelé odkázání na výrazně dražší programy a myslím, že dnes již nenabízí nic, co by obchodník v programu vysloveně postrádal. A to vše při ceně 199 dolarů. Verze 3 je autorem stále považována za "pre-release" a všichni uživatelé verze 2 mají možnost bezplatného upgrade, což jednoznačně doporučuji. Program je možné stáhnout v měsíční plně funkční zkušební verzi na této adrese.

    10.10.2007

    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.


    Zaměřte se na to, co přináší reálné výsledky.

    Nakopněte své obchodování
    k systematickým profitům

    (program pro začínající obchodníky, kteří se chtějí dostat ke stabilnímu obchodování bez časové náročnosti)

    Začínáme 30. 1. 2024.

    Nově s vytvořením a popisem všech pravidel mechanické obchodní strategie, ve které mám sám aktuálně otevřený profit +224 121 Kč!

    >> Workshop profitabilního obchodování od A do Z

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