Jump to content
Co nového? Mé kurzy
  • Exekuce opcí v Interactive Brokers pomocí API

    V tomto článku na Finančníkovi popisuji důvody, proč se zajímám o obchodování breakoutů skrz opce. Technicky to přitom není příliš náročné. V dnešním tutoriálu ukazují základní kostru "jak na to".

    Exekuce opčních obchodů skrz API v TWS.

    Celý tutoriál naleznete v TechLabu zde.

    27.4.2024

    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

    Shortování breakoutů skrz 0TDE opce – 316 % zisk na obchod

    V článku Day trading breakoutů s 0TDE opcemi – extra páka s limitovaným riskem jsem ukazoval, jakým směrem se ubírám při vývoji systému obchodujícího intradenní breakouty na akciových indexech, které budou probíhat skrz exekuce 0TDE opce.
    Motivace pro můj trading je zřejmá:

    Toto je backtestovaná equity křivka breakout systému obchodujícího opce na dvou trzích QQQ/SPY. V minulém článku jsme si ukazovali, že počáteční účet 10 000 dolarů by byl za necelé dva roky na úrovni 82 833 dolarů! To je brutálního zhodnocení o 728,33 % a něco, z čehož si chci určitě část ukousnout i na svých účtech.
    Zde je update k progresu:
    V Trading Room jsem postupně ladil základní logiku breakout systému, která bude vycházet ze silné a jasně obhajitelné „idea first“ myšlenky. To se nám myslím povedlo a TradeStation kódy k hlavnímu modelu, ze kterého vycházím, naleznete v Trading Room zde.
      Model jsem osobně nasadil na svůj živý účet, ve  kterém nyní riskuji počátečních 300 dolarů/obchod. Minule jsem ukazoval výpisy z IB s prvními výsledky, další obchody následují – viz níže. Breakout model obchoduji zatím na akciích (QQQ, SPY, DIA atd.), protože je to pro mě nejjednodušší – vzal jsem náš autotrader a prostě do něj přidal další strategii. Samozřejmě, že model by bylo možné exekvovat s futures. Nechtěl jsem ale zbytečně podstupovat úpravy a testování autotraderu, protože mým cílem je obchodovat model s 0TDE opcemi.
      Máme hotovou první verzi python opčního autotraderu! Autotrader v plně otevřené podobě budu v Trading Room sdílet na konci příštího týdne. Zatím jde o první verzi, se kterou koncept osahávám a budeme jej dotahovat dál. Mám jej v tuto chvíli nasazen na paper účtu a obchoduji ETF SPY. A získávám tak první srovnání mezi exekucemi akcie vs. 0TDE. Takto vypadala například situace včera, ze které je myslím jasně patrné, proč je pro mě tento směr zajímavý:
     
    V trhu S&P 500 breakout model indikoval včera 16. 4. 2024 cca 30 minut po otevření volatility breakout na úrovni cca 512,88.
    Na živém účtu jsem vstup zobchodoval skrz akcie SPY. Riskuji podle volatility 300 dolarů, a autotrader proto shortoval 135 shares. Bez využití marginu tak šlo o investici cca 69 050 USD (v praxi mi IB zablokovalo cca 17 tisíc dolarů – byl využit intradenní margin).
    Na demo účtu nakoupil v okamžiku breakoutu autotrader 0TDE PUT opci na strike cenu 513 a při stejném risku 300 dolarů na obchod nakoupil 2 opce, každou za cenu 1,54 USD.  Na účtu bylo zablokováno 300 dolarů, více nebylo pro obchod třeba. Obchod nemohl ztratit více.
    A podívejte se, jak dopadl obchod večer.
    Nejprve výsledky z živého obchodování (kde exekuce probíhala pomocí ETF - breakout systém má Order Ref ETFBRK1_S):

    Na živém účtu mi breakout model skrz short SPY vydělal 1 105,60 dolarů.
    Na paper účtu stejný obchod skrz nákup 0TDE PUT opce vydělal 1 248,31 dolarů:

    V obou obchodech jsem riskoval 300 dolarů. Ovšem skrz opce byl tento risk ještě zajímavý v tom, že jsem nemusel použít žádný pevný SL – pokud by trh šel proti mně, opce by expirovala bezcenná.
    V obchodu skrz akcii jsem měl vázáno s marginem cca 17 000 dolarů a získal 1 105,60 dolarů, v paper obchodu skrz opci jsem měl vázáno 300 dolarů a získal 1 248,31 dolarů. Tedy zhodnocení 316 % zisk na obchodu.
    Poznámka – zisk 316 % na obchod je třeba pochopitelně brát s rezervou. Rozumnější je zhodnocení vztahovat k výši účtu. Ten by mohl být například 10 000 dolarů, abychom si mohli rozumně dovolit celých 300 dolarů na obchod ztratit. A i tak šlo o zhodnocení +12,5 % účtu během jednoho obchodu.
    V každém případě představují exekuce skrz 0TDE opce myslím velmi zajímavou cestu, jak účet hodnotit. A myslím, že už jsem velmi blízko, abychom několikaměsíční vývoj a bádání v oblasti 0TDE opcí začali hodnotit na živém účtu.
    Tady je taktický plán pro nejbližší období:
    Osobně začnu 0TDE opce sám autotraderem exekvovat v nejbližších dnech živě na účtu s 10 000 dolary tak, abych mohl v Trading Room dokumentovat zkušenosti s live tradingem v prostředí, které je podobné tomu, se kterým pracuje běžný obchodník. O víkendu publikuji do Trading Room minikurz shrnující práci s opcemi a návodem, jak 0TDE opce backtestuji. Měli bychom se tak všichni sladit v základních znalostech práce s opcemi. Příští týden publikuji do Trading Room svou aktuální verzi Python 0TDE opčního autotraderu, abyste mohli také začít provádět první testy. A ještě k nejčastějšímu dotazu, jestli plánuji vytvořit na toto téma komplexní kurz: Netuším, ale spíše ne. Práce na kurzu je obrovská a 80 % času člověk přitom vydává zbytečně (editace videí atd.). Tento čas mi přijde rozumnější investovat do vývoje strategií. Proto sdílím know-how v Trading Room ve formě pracovních zápisků a kódů, kde mají všichni šanci pokládat dotazy a posouvat se společně. Jakmile téma dotáhneme do produkční fáze, patrně se vrhnu na vylepšování dalších způsobů tradingu a breakouty 0TDE přenechám autotraderům bez toho, aniž bych se dokola vracel k základům. Ideální čas pro naskočení do společného studia systematického obchodování 0TDE opcí je tak v Trading Room nyní. Přihlásit se můžete zde: https://tri.financnik.cz/tradingroom

    Sierra Chart a obchodování u Interactive Brokers s daty od IQFeed

    Stále dostávám dotazy, jak používat najednou program Sierra Chart s brokerem Interactive Brokers a daty od IQFeed. Zde je konkrétní, aktualizovaný návod krok za krokem, jehož výsledkem je integrace IQFeed dat a obchodování z grafů do Interactive Brokers.
    Osobně jsem stále větším příznivce programu Sierra Chart pro jeho vysokou flexibilitu, rychlost a robustnost. Pravdou však zůstává, že to vše je vykoupeno na dnešní dobu občas trochu neintuitivním ovládáním, na které si uživatel musí zvyknout. Některé věci se v programu prostě dělají jinak, než byste čekali. Nicméně jakmile objevíte „jak na to“ zjistíte, že v programu lze najednou dělat často mnohem více, než v jiných sw podobné kategorie a navíc za zlomek jejich ceny.
    Jednou takovou kapitolou je současná práce s různými datafeedy a brokery. Standardně se připojení k datafeedu/brokeru nastavuje v programu v okně Global Settings > Data/Trade Service Settings. Ovšem zde je možnost vybrat jen jediného poskytovala dat. Co když však chcete využívat pro zobrazování jiná data, než na kterých budete obchodovat? Například zobrazovat grafy s pomocí dat od IQFeed, ale příkazy posílat k Interactive Brokers?
    Tutoriál pro nastavení současného propojení Sierra Chart s IQFeed a Interactive Brokers
    Řekněme, že budete chtít využívat program Sierra Chart způsobem, jakým s ním pracuji já - budete chtít do programu získávat data z nějakého externího datafeedu (osobně pracuji s IQFeed, někdo může chtít pracovat s bezplatnými daty od nějakého dalšího brokera atd) a obchodovat u brokera Interactive Brokers.
    Krok 1: Instalace dvou kopií Sierra Chart na jednom počítači
    Program Sierra Chart je možné instalovat na počítač v několika současných instalacích, které lze spouštět najednou a různě propojovat. Právě této vlastnosti se používá pro náš úkol. Standardně se Sierra Chart instaluje do adresáře SierraChart na disku C. Budete-li chtít instalovat další kopii programu, spusťte klasicky instalaci a jako cílový adresář zvolte jiný – např. SierraChart2. Po instalaci budete mít na ploše dvě ikony, kde každá spustí jinou instalaci programu. Jednotlivé instalace jsou na sobě nezávislé – tj. je třeba je nezávisle nastavit a taky průběžně upgradovat.
    Jedna instalace programu se v našem případě bude starat o stahování dat (tj. propojení s první datafeedem), druhá bude komunikovat s brokerem (v našem případě Interactive Brokes). Podle potřeb můžete pracovat na jednom počítači s libovolným počtem instalací programu Sierra Chart.
    Krok 2: Nastavení Sierra Chart pro data z IQFeed
    Spusťte první kopii Sierra Chart (dále Sierra Chart A) a nastavte ji pro stahování dat z vašeho datafeedu (u mě to znamená nastavení v Global Settings > Data/Trade Settings zvolení datafeedu DTN IQFeed s tím, že je samozřejmě možné vybrat kterýkoliv jiný z množství datafeedů, které SierraChart podporuje):

    Otevřete v Sierra Chart A grafy, se kterými budete pracovat. Může jít například o akciové indexy ES, FESX a DAX. Jelikož pracujeme s daty od IQFeed, můžeme rovnou načítat kontinuální kontraktní měsíce - tj. symboly @ES#, EX#, XG#.
    V Sierra Chart A nebudeme s grafy pracovat - jde jen o pomocnou instalaci, která se stará o načítání dat z IQFeed. Tj. grafy nemusí být jakkoliv naformátované. Stačí, když jsou zobrazené a aktualizované (tj. Sierra Chart musí být připojena k IQFeed). Jelikož stejnou konstelaci budete pravděpodobně otevírat často, doporučuji grafy uložit jako Chartbook. Chcete-li věci co nejvíce automatizovat, můžete si nastavit, aby se daný Chartbook automaticky otevřel při spuštění Sierra Chart. Konkrétně pro to slouží volba Global Settings > General Settings, kde si daný charbook vyberte mezi Files To Open On Startup:

    Budete-li mít v nastavení datového zdroje (Global Settings > Data/Trade Service Settings)zaškrtnutou volbu Connect on Program Startup, pak jediné co musíte pro spuštění dat z IQFeed udělat, je spustit tuto instalaci Sierra Chart.
    Krok 3: Nastavení Sierra Chart pro obchodování skrz Interactive Brokers
    Spusťte druhou kopii Sierra Chart, ze které chcete obchodovat (dále Sierra Chart B). V Global Settings > Data/Trade Settings nastavte druhý datafeed, v rámci kterého budete exekuovat příkazy (v mém případě Interactive Brokers):

    Propojte grafy mezi Sierra Chart A a B. Provádí se to přes volbu File > Open Remote Chart Data File (v instalaci Sierra Chart B - tj. v té napojené na Interactive Brokers) s tím, že volba otevře okno obsahující výběr trhů spuštěných v Sierra Chart A:

    Po jednom vyberte trhy, které chcete zobrazit v Sierra Chart B.
    Důležité!! Jelikož jednotlivé datafeedy pracují s různými označeními trhů, je nutné vždy ještě vyplnit správný ticker pro datafeed v programu Sierra Chart B (u trhů na kterých budeme obchodovat). Klikněte na graf a zvolte F5 (nebo Chart > Chart Settings). V záložce Main Settings je pak nutné vyplnit správný ticker pro použitý druhý datafeed do políčka Alternate Real-Time Update Symbol:

    Na screenshotu je vidět, že v poli Symbol mám uvedeno @ES# což je ticker pracující s datafeedem IQFeed (toto se automaticky načte z instalace Sierra Chart A). Do pole Alternate Real-Time Update Symbol jsem však musel doplnit ES-201209-GLOBEX, což je ticker pro aktuální kontrakt ES obchodovaný přes Interactive Brokers).
    Pochopitelně, že celé nastavení si poté opět uložíme jako hotový ChartBook a při příštím otevření Sierra Chart bude již vše připraveno.
    Krok 4: Obchodování ze Sierra Chart
    Následně se stačí připojit v Sierra Chart B k druhému datafeedu (F11 nebo File > Connect to Data Feed) a můžeme z programu Sierra Chart zadávat příkazy k danému brokerovi s tím, že data pro zobrazování grafů jsou použita z jiného datafeedu nebo od jiného brokera. Toto nastavení osobně používám z důvodu, že pro některé své studie používám ticková data, která nejsou u IB dostupná (IB poskytuje pouze tzv. snapshot data). Jiné využití může být pro obchodníky, kteří mají účet u několika brokerů a mohou tímto způsobem elegantně kombinovat několik datafeedů. Pochopitelně, že tato funkce je v menší nebo větší míře dostupná i u jiných programů (i když např. v případě NinjaTraderu je třeba ji v případě kombinace různých brokerů zaplatit skrz tzv. multibroker licenci a možnosti nejsou tak rozsáhlé jako u Sierry).
    V praxi tedy pracuji pouze s instalací "Sierra Chart B", ve které si nastavuji grafy a zadávám příkazy. Instalace "Sierra Chart A" běží v pozadí jen jako proces a samozřejmě je zcela minimalizovaná.
    Tutoriál pro obchodování z grafů z programu Sierra Chart naleznete na Finančníkovi v článku Obchodování z grafů v Sierra Chart.

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

    Mnoho českých obchodníků pravidelně řeší různé směny korun za cizí měny a opačně. V dnešním článku si ukážeme, jak toto udělat velmi levně skrz Interactive Brokers. „Směna“ je on-line a získaný kurz lepší než na klasickém dealingu českých bank (na „běžné“ turistické kurzy nehledě).
    V tutoriálu si ukážeme, jak měnit české koruny na eura. Pochopitelně, že stejným způsobem lze měnit koruny na libovolné jiné měny, případně převádět zahraniční měny zpět na koruny. Směna není využitelná jen pro tradery, kteří si chtějí fundovat své účty a mají kapitál v českých korunách. Lze ji využít při podnikání (když potřebujeme výhodně měnit zahraniční měny) nebo i při různých zahraničních cestách. Úspory na získaném „lepším“ kurzu oproti klasickým směnárnám, ale i dealingům bank mohou být značné (pochopitelně konkrétně závisí na výši měněné částky, kde a jak je měníte). Návod je určen pro klienty brokera Interactive Brokers, u kterého s Tomášem obchodujeme, viz Otevření účtu u Interactive Brokers).
    Převod českých korun k Interactive Brokers
    Začněme tedy tím, že máme české koruny v některé české bance a chceme je převést na eura. Tyto prostředky je třeba levně převést k Interactive Brokers. Ten relativně nově podporuje práci s českými korunami a disponuje účtem v pražské pobočce HSBC. Převod CZK k IB se tedy provádí úplně normálním bankovním převodem v rámci České republiky a je za poplatek, který běžně platíte ve své bance za libovolný platební příkaz (tj. buď zdarma, nebo za několik málo Kč).
    Převod je třeba „nahlásit“ ve webové administraci Interactive Brokers. Konkrétně v záložce Funding > Fund Transfers > Deposit Funds. Zde je třeba vyplnit převáděnou částku a ideálně IBAN odesílající banky, aby broker mohl platbu dobře identifikovat. V currency vybereme „Czech Koruna“. Takto je například vypadá nahlášený převod 200 000 Kč z Raiffeisen banky:

    Interactive Brokers vám následně zobrazí instrukce k převodu částky na korunový účet u HSBC banky. Ve vaší bance stačí zadat běžný bankovní převod. IB standardně zobrazuje instrukce pro převod použitelné spíše pro mezinárodní převod, ale není problém použít například následující informace, které mám odzkoušené:
    Cílový účet: 1535303109/8150 (uvádím jen pro ilustraci, pochopitelně použijte účet, který vám IB zobrazí v instrukcích).
    Variabilní symbol: IB se nezmiňuje, sám používám číselnou část svého účtu (tj. čísla za písmenem „U“)
    Převod v měně: CZK
    Konstantní symbol: není nutné vyplňovat
    Zpráva pro příjemce: For further benefit UCET/JMENO
    Takto například vypadá předpřipravený příkaz k úhradě v Raiffeisen bance:

    Převod korun k Interactive Brokers probíhá v běžné pracovní dny přibližně do 24 hodin. Tj. například prostředky na screenshotu byly odeslány odpoledne, aby byly na finální účet u Interactive Brokers připsány druhý den dopoledne.
    Poplatek spojený s převodem se platí pouze české bance za běžný převod – u Raiffeisen banky jsou to např. 4 Kč, u jiných bank typu Fio je převod zdarma. U Interactive Brokers je připsání peněz bez poplatku (viz http://www.interactivebrokers.com/en/p.php?f=otherFees&p=deposit)
    O stavu převodu se můžeme u IB informovat v on-line managementu účtu. Konkrétně v záložce Funding > Transaction History > Cash Deposits. Takto vypadá informace, že peníze došly na účet:

    Vidíme, že prostředky v tomto případě došly na účet 29. 11. 2012 (IB vám potvrzení přijetí prostředků oznámí i e-mailem). Zároveň je zde uvedeno, že si je můžeme zaslat zpět nejdříve 4. 12. 2012. To znamená, že s českými korunami nyní můžeme pracovat – můžeme je převést na eura, můžeme je použít k obchodování, ale z účtu je můžeme vybrat až za několik dnů. Pochopitelně však, že pokud máte na účtu jiné prostředky a potřebujete si jen „převést koruny na eura“, tak můžete celou transakci provést během jednoho dne. Interactive Brokers vám bude jen jednoduše blokovat částku odpovídající tomuto konkrétnímu převodu (zde tedy 200 000 Kč) na svém účtu do data uvedeného ve sloupci „Available for Withdrawal“.
    Jakmile budete mít částku připsánu na svém účtu, uvidíte ji pochopitelně ve všech svých přehledech o stavu účtu. Tj. například skrz záložku „Account“ z TWS. Zde platforma funguje tak, že všechny souhrnné informace jsou zobrazovány v jedné primární měně, kterou si můžete zvolit ve webové administraci – například USD, EUR, CZK, nebo i další měny. Toto se nastavuje jednorázově skrz Manage Account > Settings > Configure Account > Base Currency.

    Tato volba nikdy nepřevádí žádné finance – pouze řídí, v jaké měně jsou zobrazovány výpisy a různé přehledy. Na účtu tak můžete mít vložené různé částky v různých měnách.
    Takto například bude vypadat výpis v záložce Account v případě, že máme na účtu finance v EUR, USD a nyní v CZK:

    Jednotlivé částky jsou na účtu oddělené s tím, že souhrny jsou uváděné v Base Currency. Tj. například uvidíme na účtu stav financí v CZK (na screenshotu je zaslaných 200 000 Kč), potom stav účtu v euro, dolarech a dalších měnách a pod tím budeme mít například součet Total uvedený v USD (které jsou na tomto účtu nastaveny jako „Base Currency“).
    Co se množství měn týče – v IB stačí mít jednu měnu, ale více měn nemusí být na škodu například z pohledu určité diverzifikace. Každopádně platí, že pokud například budete obchodovat americké akcie a nebudete mít na účtu dostatečné množství USD, IB zablokuje margin z CZK nebo jiné měny.
    V dokončení článku, které vyjde na Finančníkovi příští týden, si ukážeme, jak měny mezi sebou konvertovat. Tj. jak konkrétně převést zaslané CZK na EUR a jak si je poslat zpět na účet. Včetně uvedení všech poplatků, které jsou s podobnou transakcí spojené.
×
×
  • Vytvořit...