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
  • Identifikace obchodů různých systémů v Interactive Brokers

    Aktivní obchodování je plné výzev. Zejména, pokud také budete obchodovat často. Jedním z hlavních úkolů je zpětně rozpoznat a analyzovat, které obchody patří do kterého obchodního systému/přístupu. A zde přichází na řadu v Interactive Brokers funkce Order Ref, která má několik svých specifik, se kterými je dobré počítat dopředu.

    Proč obchody identifikovat?

    Každý obchodník ví, jak rychle může být přehled o obchodech ztracen. O to více, pokud budete obchodovat aktivně a provádět například desítky obchodů týdně.

    Sám obchoduji portfolia mechanických obchodních systémů a zpětně je pro mě pochopitelně absolutně klíčové podrobně rekonstruovat, jak se každému ze systémů vedlo v živém obchodování a například porovnat jeho výkonnost s backtestem.

    Stejnou potřebu má více méně každý obchodník, který obchoduje podle nějakého obchodního plánu – ať již systematického nebo diskrečního.

    Úplně každý obchod, který do Interactive Brokers zadáváme, je tak dobré opatřit „štítkem“, který nám poslouží v jeho budoucí identifikaci. Osobně jako štítek používám jméno obchodního systému.

    Interactive Brokers říká takovému štítku „Order Ref“.

    Jedná se o referenční popisek, který můžeme přiřadit každému zadávanému příkazu, což nám zpětně po vyplnění obchodu umožní rychle a snadno identifikovat, k jakému obchodnímu systému obchod patří.

    Bohužel s Order Ref se v Interactive Brokers pojí několik specifik, které mohou začínající obchodníky překvapit. Tím největším je, že Order Ref je v platformě k dispozici prakticky jen sedm dnů! Samozřejmě platforma nabízí různé historické výpisy obchodů, kde můžeme obchody dohledat třeba několik let zpět, ale v těchto výpisech Order Ref není. Výpisy obsahují jen označení obchodovaných trhů, velikost pozice, směr obchodu, ale nikoliv Order Ref.

    To může nemile zaskočit každého, kdo se pustí do obchodování s tím, že analýzy systémů podle Order Ref provede později…

    Důležité

    Order Ref je potřeba nejen vyplňovat, ale také obchody s jejich identifikací průběžně ukládat.

    Pojďme ale popořadě.

    Vyplnění Order Ref

    V Interactive Brokers se Order Ref definuje jako součást obchodního příkazu. A to ať jej zadáváte automatizovaně přes API nebo ručně v TWS.

    Ručně lze zadat obchod v TWS mnoha způsoby. Například lze kliknout na ikonu Order, zadat obchodní příkaz a v sekci „Miscellanous“ vybrat Order Ref.

    Order Ref při zadávání obchodního příkazu v Interactive Brokers

    Jednou použité Order Ref se ukládá do seznamu. Ten se zobrazí po kliknutí na šipku rozbalovacího menu. Určitě je dobré pro jeden systém pracovat se stále stejným Order Ref.

    Pokud zadáváte obchodní příkazy v TWS často ručně, můžete si vytvořit pro každý systém záložku/stránku s tím, že příkazy zadávané v rámci takové stránky budou mít Order Ref předvyplněné. Takto si například vytvořím stránku TEST, kde všechny zadané příkazy budou mít Order Ref „TEST“:

    Order Ref můžeme definovat rovnou na stránce.

    Dobré mi také přijde zobrazovat Order Ref u všech zadaných příkazů. Můžete toho dosáhnout tak, že najedete do záhlaví tabulky, kliknete pravým tlačítkem myši, vyberete „Customize Layout“ a následně do Order Columns přidáte Order Ref (je třeba vyhledat v pravém sloupci v Available Columns):

    Přídání Order Ref coby sloupce do layoutu TWS

     Zobrazení Order Ref

    Nejsnadnější způsob, jak Order Ref u obchodů zobrazit, je podívat se do „Trade History“:

    image.png

    I zde můžeme kliknutím pravým tlačítkem myši do záhlaví tabulky definovat, jaké sloupce zobrazovat a Order Ref určitě chcete mít mezi viditelnými sloupci.

    V záhlaví okna se také volí, jak dlouhou historii obchodů chcete mít zobrazenou. Na screenshotu je „Last 7 Days“ – posledních 7 dnů, což je nejdelší možná historie.

    Delší historii obchodů lze získat už jen ve webové administraci Interactive Brokers v sekci reportů, zde již ale není Order Ref k dispozici.

    Ukládání dat s Order Ref

    Jelikož je identifikace obchodu s využitím Order Ref k dispozici skutečně jen velmi krátkou dobu, maximálně doporučuji tuto informaci průběžně ukládat.

    Ručně lze například jednou týdně exportovat data z výše uvedeného okna „Trades“ pomocí File > Export Displayed Reports, kdy se data uloží do csv. Csv data můžeme načíst do Excelu a zde je následně archivovat a analyzovat.

    Data lze stahovat i skripty.

    Takto například vypadá kompletní Python skript, který stáhne informace o exekucích (tedy i s Order Ref) a uloží je do csv:

    from ib_insync import IB, util
    import pandas as pd
    
    def stahnout_zaznamy_a_ulozit_do_csv():
        # Vytvoříme instanci IB a připojíme se k TWS nebo IB Gateway
        ib = IB()
        ib.connect('127.0.0.1', 7497, clientId=1)  # upravíme hosta a port podle našich potřeb
    
        # Získáme všechny záznamy o dokončených obchodech
        fills = ib.fills()
        
        # Převedeme záznamy na DataFrame
        df = util.df(fills)
        
        # Uložíme DataFrame do souboru CSV
        df.to_csv('fills.csv', index=False)
        
        # Odpojíme se od IB
        ib.disconnect()
        
        print("Záznamy jsme uložili do fills.csv!")
    
    if __name__ == "__main__":
        stahnout_zaznamy_a_ulozit_do_csv()

    Není to nic složitého a přesně takové jednoduché skripty jsou to, co mi v tradingu hodně pomáhá s efektivitou. Pokud hledáte asistenci s rozchozením podobné automatizace, pak doporučuji TechLab, kde se přesně podobným python skriptům věnujeme. Rozhodně to ušetří spoustu času. Nebo si pochopitelně můžete nainstalovat Python a začít se skripty tohoto typu experimentovat sami.

    Závěr

    Historii obchodů z brokerské platformy nezbytně potřebujeme pro průběžné vyhodnocování našeho živého obchodování a hledání cest, jak se posouvat kupředu. Hodně informací můžeme získat z exportů v podobě reportů na interactivebrokers.com. Ovšem tak potřebná informace, jako Order Ref sloužící k identifikaci obchodu v rámci našich systémů, zde zpětně k dispozici není. Je tak klíčové ji ukládat průběžně. Následně můžeme i plně automatizovaně vytvářet ze stažených dat například obchodní deník, ve kterém bude jasně rozlišené, jak se na celkové výkonnosti podílel který systém. Pokud ale tato data nebudeme mít uložená, rozdělení obchodů do jednotlivých systémů už reálně nikdy nedáme dohromady (při jen trochu větším počtu obchodů).

    30.8.2023

    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.

    • Líbí se 3

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

    Praxe – levná směna korun na eura (a opačně) skrz IB. Dokončení

    V minulé první části tutoriálu jsme si popsali, jak poslat do Interactive Brokers české koruny, které můžeme následně výhodně převést na cizí měnu. Dnes si ukážeme, jak konkrétně směnu zadat, jaké se budou platit poplatky a jak směněné peníze co nejvýhodněji poslat zpátky na běžný účet.
    Na základě minulého tutoriálu máme nyní v Interactive Brokers české koruny. Pojďme si ukázat, jak je „směnit“ na eura. Pochopitelně, že stejným způsobem můžete provádět libovolné jiné měnové konverze.
    Směna CZK na EUR není pochopitelně nic jiného než jednoduchý forexový obchod. V IB tak existuje hned několik cest, jak toto provést. Osobně používám tu úplně nejjednodušší – do hlavní záložky TWS si zapíši nový ticker – v tomto případě měnový pár EUR.CZK.
    Měnový pár EUR.CZK říká, že jde o pár, ve kterém je základní měnou EUR – nákupem páru nakupujeme euro, prodejem páru euro prodáváme. CZK je pak tzv. „quote currency“ udávající, za jakou cenu nakupujeme první měnu.
    Po zadání páru EUR.CZK do TWS tak můžeme vidět například podobný řádek:

    Kromě dalších informací vidíme především cenu bid a cenu ask – tedy ceny, za které můžeme aktuálně euro nakoupit (ask) nebo prodat (bid). Podrobněji o ask/bid viz článek Hodnoty bid a ask v intradenním obchodování. Na screenshotu například vidíme, že 1 EUR můžeme nakoupit za cenu 25.209.
    Chceme-li tedy nakoupit například 4 000 euro z našich českých korun. Stačí zadat BUY 4000 EUR.CZK a příslušný příkaz. Níže je screenshot, jak bude daná operace vypadat s limitním nákupním příkazem garantujícím určitou námi zadanou maximální cenu. Ta bude pochopitelně vyplněna jen v případě, že se trh bude na dané ceně obchodovat. Podrobně vysvětlení fungování obchodních příkazů naleznete v článcích Obchodní příkazy v praxi – market, stop a limit.

    Několik poznámek k zadanému příkazu:
    V políčku Destination lze volit IDEALPRO, nebo FXCONV. Volby se liší tím, co s převedenou měnou udělají v přehledu účtu. Tj. zdali obchod vedou jako spekulaci, nebo jako konverzi. Pokud chcete měny převést, zadejte FXCONV (jinak obchod uvidíte jako například otevřenou dlouhou pozici v euro, kterou pak samozřejmě můžete dále upravit).
    Zobrazené hodnoty bid/ask jsou určeny pro obchodování pozic s velikostí minimálně 25 000 USD, viz popis u IB. Pokud budete převádět menší částku – například nakupovat 4 000 euro jako na screenshotu, IB negarantuje uvedený kurz a plnění může být nepatrně horší. Rozdíl je ale absolutně minimální a zejména při konverzích menších částek naprosto zanedbatelný. Navíc je vždy možné provádět konverzi skrz limitní příkaz – viz screenshot.
    Počet nakupované měny uvádíme do políčka Quantity – zde je uvedeno 4K což znamená 4 000. Políčko lze editovat na libovolnou částku. Pokud tedy nakupujeme pár EUR.CZK a zadáme do políčka quantity 4000 nakupujeme 4 000 EUR, které se nám převedou z CZK.
    Po odeslání příkazu se standardně zobrazí potvrzení příkazu. Zde se nám jednak zobrazuje výše popsané upozornění (tj. že při převodu méně než 25 000 USD není garantovaná exekuce za uvedený kurz) a současně vidíme shrnutí transakce. Nakupujeme 4 000 EUR při kurzu 25.2, tj. na konverzi se "použije" 100 800 Kč. Celý poplatek na straně IB bude 2,5 USD:

    Jakmile celá konverze proběhne, můžeme vidět potvrzení v přehledu Trades. Zde je vidět přesná komise, kterou nám IB zobrazuje v korunách při aktuálním kurzu k měně, ve které je celý účet u IB veden – tj. konkrétně jsme zaplatili za konverzi 48.51 Kč:

    Převod EUR zpět do české banky
    Pokud jste si převáděli české koruny na euro s tím, že euro chcete dál využít například pro cestování či business, zde je několik tipů, jak udělat převod co nejlevněji:
    Z Interactive Brokers lze zdarma odesílat peníze 1x za měsíc. Jinak se platí 300 Kč / převod. Viz tento ceník. Pokud tedy budete podobné transakce dělat jednou měsíčně, je to na straně IB zcela zdarma.
    Peníze je třeba posílat do banky, která má rozumné poplatky za příchozí europlatby. IB eura posílá z německé banky a některé česky banky dokáží na podobou platbu nasadit poplatek i několik set korun (tj. na toto je třeba si dát pozor). Osobně mám pro tyto účely zřízen například euro účet u Fio banky – vedení je zcela zdarma a poplatek za přijetí euro platby z IB je 1 euro. Z IB si můžete peníze poslat pochopitelně na libovolný účet vedený na stejné jméno, na který byl u IB účet otevřen. Převod IB – Fio opět trvá necelých 24 hodin.
    Peníze se z IB posílají jako běžný transfer. V on-line managementu účtu vyberete Funding > Fund Transfers. Zvolíte Withdraw Funds, Method: Wire a skrz Add New Instructions si nastavíte „šablonu“ pro posílání peněz do své banky:

    Konkrétně do Fio banky stačí šablonu vyplnit takto:

    Vložíme tedy jen, že přesun je v euro a zadáme IBAN našeho účtu a SWIFT banky.
    Občas IB žádá ještě identifikaci účtu u korespondenční banky – např. u Fio to tak dělá. Opět vkládám SWIFT kód Fia a peníze procházejí bez problémů:

    Jakmile si jednou šablonu pro odesílání peněz nadefinujete, posílají se peníze pak již jen tak, že se zvolí příslušná šablona banky a zadá částka k odeslání.
    Shrnutí
    Popsaný proces lze využít mnoha způsoby. Určitě bych jej volil v případě, že máte kapitál v CZK a chcete si jej poslat k IB a zde obchodovat například z EUR nebo USD. Budete-li měnit peníze v ČR a pak je posílat ještě s drahými zahraničními poplatky, zbytečně přijdete o nezanedbatelnou část svých financí. A sami vidíte, že postup převodu CZK na cizí měnu není v IB vůbec složitý – a poplatky jsou minimální. I z toho důvodu se mi převod měn přes IB jeví jako zajímavý způsob směny i v případě, že potřebujete jen směnit peníze například pro účely svého podnikání nebo cestování. Celý proces je velmi rychlý a celou směnu máte plně pod vlastní kontrolou.

    Interactive Brokers

    Interactive Brokers (IB) (www.interactivebrokers.com) je mezinárodní brokerská firma známá svým sofistikovaným obchodním platformám a širokým spektrem nabízených finančních nástrojů. Firma byla založena v roce 1978 a je považována za jednoho z předních online brokerů na světě.
    Pro aktivní obchodníky je jedním z hlavních pracovních nástrojů IB platforma Trader Workstation (TWS). 
    Interactive Brokers nabízí přístup k řadě finančních trhů, včetně akcií, opčních kontraktů, futures, forexu, dluhopisů a mnoho dalších, což umožňuje traderům diverzifikovat svá portfolio a těžit z různých tržních příležitostí.
    Náklady Jedním z důvodů, proč mnoho profesionálních obchodníků volí IB, jsou konkurenceschopné poplatky a nízké náklady na obchodování, což může být zvláště atraktivní pro ty, kteří provádějí velký objem obchodů.
    Pro systematické obchodníky nabízí IB robustní API řešení, což umožňuje automatizaci obchodních strategií a integraci s vlastními aplikacemi nebo algoritmickými systémy.
    Podrobné shrnutí tohoto brokera: Interactive Brokers v kostce

    Interactive Brokers v kostce

    Interactive Brokers patří k jednomu z největších světových retailových brokerů. Jde o tzv. diskontního brokera poskytujícího levné služby s nižší mírou osobního servisu. Broker nabízí mnoho zajímavých technologií, ale od svých uživatelů očekává samostatný přístup v jejich studování a ovládání. Odměnou za to jsou nízké poplatky (komise), které patří k nejlevnějším na trhu.
    Společnost Interactive Brokers (IB) je licencována v EU a sama obchodována na burze. Zde ji naleznete pod tickerem IBKR – vývoj kurzu společnosti můžete sledovat například na Yahoo Finance. Kótováním na burze musí firma splňovat řadu dodatečných povinností a její fungování by mělo být transparentnější.
    Osobně používám IB prakticky od začátku svého obchodování. A třebaže dnes pracuji i s dalšími brokery, považuji IB za prostředí, kde bych si znovu účet při svém startu otevřel.
    V tomto článku jsem se pokusil sepsat hlavní pro/proti tohoto brokera, aby to zejména začínajícím obchodníkům pomohlo v orientaci. Finální výběr brokera ale samozřejmě záleží na každém obchodníkovi a jeho preferencích.
    Základní důvody, pro které u IB obchoduji:
    Levné komise. IB je jednoznačně jedním z nejlevnějších retailových brokerů. Komise jsou navíc dané (viz jejich ceník), a není tak třeba nic individuálně vyjednávat.
    Univerzálnost. U IB lze obchodovat prakticky vše – komodity, akcie, forex, opce, dluhopisy. A to na různých světových burzách… Základní přehled si můžete udělat na této stránce s vypsanými produkty. Pokud jsem tak v historii začal pracovat s novým typem trhu nebo jinou burzou, nemusel jsem měnit brokera ani platformu.
    Otevřenost API. IB disponuje otevřeným a popsaným API – rozhraním, na které lze napojit další programy. Ať již hotová řešení nebo vlastní kód. A tím, jak je IB rozšířený, představuje de facto standard připojení. Pokud začnu pracovat s novým softwarem pro burzovní obchodování, který je jen trochu univerzální, tak bude patrně podporovat IB jako zdroj dat či platformu pro zadávání příkazů. V minulosti jsem tak pracoval s mnoha softwary a všechny šly na IB napojit. Dnes přes API tohoto brokera posílám příkazy automaticky i přes vlastní řešení (lze například využít i Excel – viz popis na stránkách IB )
    Vedení účtu v Kč. U IB lze mít více účtů a výhodou může být jejich vedení v různých měnách. Některé si vedu v Kč. To v praxi znamená, že zůstatek je na účtu uložen v Kč a při obchodování se jen blokuje margin převedený za nejlepší možný kurz do příslušné měny (mimochodem přes IB lze i zajímavě převádět měny – viz článek Praxe – levná směna korun na eura (a opačně) skrz IB.
    Zabezpečení. Nejsem expert přes bezpečnost, ale to, že někteří brokeři stále posílají hesla v e-mailu mě děsí. U IB funguje několik typů dvoufázového zabezpečení.
    Různé aplikace. Obchodování a sledování grafů může probíhat různými kanály. Sám používám software TWS, který IB poskytuje zdarma. Jde o desktop platformu umožňující zobrazování grafů, vytváření analýz, sledování grafů atd. Použít lze ale i mobilní aplikaci nebo webové rozhraní. A samozřejmě přes zmíněné API je možné napojit na brokera mnoho dalších sofwarů. Například TradeStation. To se hodí v případě, že chcete dělat pokročilejší činnosti, pro které není TWS stavěná – například programovat strategie nebo pracovat s nadstandardními nástroji.
    Základní pohled do platformy TWS, kterou sám používám především pro zobrazování otevřených pozic. Ty si řadím do různých složek (například komodity, opce, akcie):

    V platformě TWS lze samozřejmě zobrazovat i grafy a základní technickou analýzu:

    Ale pro nějakou intenzivnější práci v této oblasti je lepší použít externí program napojený přes API. Osobně pracuji s programy SierraChart (intradenní obchodování), Amibroker (poziční obchodování portfolií) a TradeStation (systematické strategie).
    Ohromnou výhodou TWS je univerzálnost platformy. Takto se zde dají obchodovat opce:

    Tím ale technologický výčet zdaleka nekončí. Jde zde pracovat s nejrůznějšími komplexnějšími typy příkazů a podobně.
    Otevřenost administrace. Sám pracuji s větším počtem účtu a líbí se mi, že u IB je opravdu možné řadu úkonů automatizovat. Například pomocí tzv. Flex Queries, přes které si přenáším stav účtů a seznamy obchodů automaticky do Excelu.
    Pravděpodobně by se našly i další důvody, proč IB používám. Ale jsou zde i věci, které se nemusí každému líbit. Určitě je dobré o nich vědět.
    Samotná platforma TWS je tak univerzální a všeobsažná, až je hůře přehledná a pro začátečníky dost komplikovaná. Sám ji používám hlavně pro případné jednoduché zadávání příkazů, a hlavně pro přehled celkového dění na účtu. Určitě je dobré počítat s napojením specializovanějšího softwaru pomocí API (řada programů je ale zdarma – viz třeba TradeStation).
    V případě intradenního obchodování komodit (futures) nejsou marginy (požadované zálohy) regulovány burzou, a velmi se tak liší broker od brokera. IB patří k těm, které mají marginy vyšší, což osobně považuji za pozitivum chránící v konečném důsledku mě samotného. Menší brokeři s malými marginy se bohužel mohou dostat v případě nějakých nenadálých událostí typu teroristický útok rychle do problémů.
    IB poskytuje velmi levně širokou škálu burzovních dat. Poskytována jsou však jako tzv. snapshot data. Tedy posílána nikoliv non stop v reálném čase, ale v určitých velmi rychlých sekvencích (zlomky vteřiny). Data tak nejsou použitelná pro obchodování na velmi rychlých timeframe (například vteřinový nebo tickový). V takovém případě je potřeba data zakoupit jinde. Pro obchodování na vyšších timefrafme (více minut, hodinová, denní) jsou data normálně použitelná. IB také nepatří ke společnostem, které by poskytovaly nějakou ohromnou historii dat. Pro rozsáhlé backtesty na historických datech je potřeba vesměs použít data jiných poskytovatelů. Pokud ale budete obchodovat například swingově, budou vám data samozřejmě stačit.
    Bohužel mezi charakteristiku diskontního brokera patří i fakt, že s ním někdy není snadná komunikace a některé své kroky nekomunikuje dopředu tak, jak bych si představoval. Příkladem může být omezení obchodování některých ETF na základě nové legislativy EU. Tou se řídí všichni brokeři (a tedy všichni zavádějí podobná opatření), od svého brokera bych ale očekával, že mě bude s předstihem informovat. Osobně jsem ale neměl za celou dobu obchodování u IB žádný závažný problém, se kterým bych při komunikaci narazil (to už bych u takového brokera nebyl). Samozřejmě vše se u IB řeší standardně přes různé chaty a e-maily. To mně osobně vyhovuje, ale obchodníci, kteří hledají trochu vyšší úroveň supportu, používají například tzv. introducing brokery typu TradeStation Global, kteří přinášejí do celého procesu extra úroveň podpory a komunikace. 
×
×
  • Vytvořit...