Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Hledat v
  • Více možností...
Najít obsah, který ...
Hledat výsledky v ...
Seriály Komoditní Manuál Psychologie obchodování
  • Automatické obchodování z programu Excel

    Uživatelé brokerské platformy TWS od InteractiveBrokers mají k dispozici jeden velmi zajímavý nástroj, kterým je možnost obchodovat přímo z listu programu Excel. V minulých měsících jsme s kamarádem programátorem věnovali této oblasti mnoho času za účelem vývoje mých nových nástrojů pro obchodování akciových spreadů, dnes bych tedy rád letmo představil, jak vlastně takové obchodování Excel-IB funguje.

    Na začátku nutno říci, že nejsem žádný specialista přes počítače a celé řešení, o kterém napíši dále, využívám převážně jako uživatel. Nebudu zde ani představovat žádné návody, jak přesně krok za krokem z Excelu obchodovat - na to nejsem dost kompetentní a 99% práce v tomto ohledu stejně odvedl můj programátor. Představím však základní možnosti a koncepty, se kterými je možné se do obchodování z Excelu pustit.

    Proč chtít obchodovat z Excelu

    První důležitou otázkou je, proč vůbec chtít z Excelu obchodovat. V dnešní době velmi kvalitních obchodních platforem všeho druhu se podobný nápad může zdát trochu jako anachronismus. Přesto existují oblasti, pro které je podobné řešení velmi vhodné.

    Je třeba si uvědomit, že hlavní výhoda zde těží z faktu možností samotného programu Excel. Tento program je poměrně jednoduchý na naučení, zvládá s ním pracovat mnoho lidí a uživatelské prostředí Excelu je velmi přátelské, s řadou obrovských možností i pro technicky ne příliš zdatného jedince, jako jsem já. Takže v momentě, kdy potřebujete pro své obchodování jakékoliv komplikovanější výpočty, můžete narazit na problém, že jejich implementace do stávajících obchodních software může být pro vás opravdu náročné (pro mě prakticky nemožné). V takový moment tedy přichází na řadu právě Excel, do kterého si s již implementovanými funkcemi postavíte přesně ty výpočetní modely, jaké požadujete - a po té jen využijete API k propojení Excel-IB, abyste na základě svých matematických výpočtů nechali Excel realizovat potřebné exekuce.

    Další skvělé uplatnění, pravděpodobně ještě praktičtější, nastává v momentě, kdy chcete využít platformu TWS od IB k obchodování opcí. Jak již opční obchodníci dobře vědí, TWS je oproti platformě TOS co se opčního obchodování týče skutečně velmi pozadu a o řadě sofistikovaných a potřebných funkcí si v TWS můžete nechat jenom zdát. Přito se jedná o velmi důležité funkce, jako je například zadání různých podmíněných příkazů pro uzavření strategie Iron-Condor, atd.

    Pokud byste chtěli částečně automatizovat ještě sofistikovanější kroky, jako je například automatické rolování opcí za určitých podmínek, pak dokonce narazíte na limity i u platformy TOS. Opět je tu tedy řešení Excel-TWS, které může výrazně pomoci.

    V Excelu si můžete jak s pomocí standardních funkcí, tak s pomocí VBA vytvořit jakékoliv potřebné algoritmy, které pak samy budou opce obchodovat. Můžete si vytvořit libovolné automatické příkazy pro hlídání uzavírání strategie IC, dokonce i pro její automatické otevírání. Můžete si vytvořit algoritmy pro různá automatická rolování jednotlivých opcí, nebo i opčních pozic. Můžete si nechat i sledovat v Excelu portfolio jako celek, a následně na základě algoritmů nechat navrhovat různé vhodné adjustementy (úpravy), apod. Samozřejmě, nemluvím zde o žádném AOS, pouze o zautomatizování některých kroků, které celkový proces zjednoduší. I nadále musíte finální rozhodnutí zvážit a realizovat vy sami, a ne spoléhat na slepé úkony počítače.

    Pokud navíc vytvoříte dostatečně sofistikované prostředí pro obchodování opcí z Excelu, získáte ještě jednu výhodu - oproti TOS můžete rázem u IB obchodovat opce s nižšími komisemi.

    Toto jsou tedy jenom namátkou oblasti, kde se dá řešení Excel-TWS IB využít. Můžete samozřejmě uvažovat o řadě dalších, meze se zde nekladou.

    Jak na to

    Konkrétní realizace podobných projektů nemusí být až tak složitá, jak se na první pohled může zdát. TWS komunikuje s Excelem s pomocí API a naštěstí pro všechny byla společnost InteractiveBrokers natolik "štědrá", že už nám veškeré řešení prakticky předpřipravila.

    Základním kamenem je excelovský soubor TwsDdeBeginners, do kterého IB v podstatě implementovalo celou platformu TWS, avšak v podobě excelovského sešitu. Tento soubor si můžete stáhnout zde (pod názvem VBA samples for Chapter 22), nejprve však musíte stáhnout a nainstalovat API.

    Po otevření sešitu zjistíte, že se v podstatě jedná o prostředí velmi podobné tomu v TWS - jednotlivé listy zde prezentují jednotlivé "TAB" a funkce přímo z TWS.

    Základní prostředí sešitu TwsDdeBeginners je velmi podobné platformě TWS. Doporučuji v prvé řadě prostudovat jednotlivé listy v tomto sešitu.

    Abyste vůbec mohli se sešitem pracovat, potřebujete v první řadě spustit svůj IB účet (doporučuji striktně použít pro testování pouze DEMO účet) a dále na každém listě v sešitu vepsat název účtu do okénka USER NAME, aby Excel věděl, s jakým účtem se má propojit. Bez tohoto kroku vám nezačne Excel fungovat.

    Následně také nezapomeňte aktivovat API a DDE přímo v TWS, záložka CONFIGURE => API.

    Tímto budete připraveni a můžete začít celý sešit lépe zkoumat.

    Pravděpodobně nejzákladnější bude pro vás list ORDERS. Do tohoto listu můžete zadávat libovolné příkazy a to se stejnou logikou, jako se zadávají přímo do aplikace TWS. Pokud budete chtít zadaný příkaz realizovat, najeďte kurzorem na příslušnou řádku a stiskněte tlačítko Place/Modify Order, čímž dojde k exekuci příkazu.

    Názorný příklad: pokud najedu kurzorem na řádku YHOO a stisknu Place/Modify Order, pak se mně přímo z Excelu nakoupí (BUY) 100 akcií společnosti Yahoo a to za cenu Market (MKT).

    Samotný proces je poměrně jednoduchý, je třeba strávit pár hodin hraním si a tím se s celým fungováním sešitu seznámíte velmi rychle.

    Otázka samozřejmě zůstává, jak pak konkrétně vše propojit s potřenými výpočetními modely, resp. jak "napasovat" tento sešit na vlastní projekt. Zde máte prakticky dvě možnosti:

    1) nastudovat VBA kódy, které jsou součástí daného sešitu; tyto kódy jsou poměrně rozumně popsané a zkušený VBA programátor se v nich zorientuje dostatečně rychle na to, aby následně tyto VBA kódy využíval k libovolným řešením svého vlastního sešitu, s vlastními výpočty. Budete tedy už jen potřebovat volat jednotlivá makra a ta obstarají exekuci dle daných podmínek.

    2) Vzájemně prolinkovat váš sešit / list s výpočetními a dalšími modely s příslušnými listy sešitu TwsDdeBeginners. V takovém případě doporučuji nastudovat i list Conditional Orders, kde sloupce Y využíváte ke splnění konkrétní podmínky. Můžete si například vytvořit jednoduché VBA kódy, které vám v případě potřeby exekuce zkopírují potřebné údaje na list sešitu TwsDdeBeginners, prolinkují potřebnou podmínku ke splnění vstupu / výstupu do sloupce Y a následně nechají vyvolat makro, které celou exekuci spustí. Chce to trochu zkoušení a hraní si, také trochu přemýšlení - ale jak se dostatečně seznámíte s připraveným excelovským souborem, už vás hned začne napadat, jak elegantně "napasovat" sešit pro vaše vlastní plány.

    Závěrem

    Osobně jsem za tuto službu společnosti IB velmi vděčný. Sice jsme se s celým řešením já i můj programátor v začátcích značně potrápili, nyní jsme ale již ve fázi finálního debugingu a testování a vše vypadá, že by mohlo fungovat dle představ. Chce to trochu trpělivosti a studování - řadu nápovědy a dalších dokumentů ke stažení naleznete přímo na stránce InteractiveBrokers. Když pak ale vidíte, že se vše chová zhruba jak má, udělá vám to radost a rozšíří nové možnosti toho, co nyní můžete vše vymýšlet a dělat pro snadnější exekuce některých částí strategií.

    14.3.2010

    Tomáš Nesnídal


×
×
  • Vytvořit...

Důležitá informace

Na tomto webu zpracováváme cookies potřebné pro jeho fungování a analytiku, v případě udělení souhlasu také cookies pro účely cílení reklamy.