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.
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“:
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):
Zobrazení Order Ref
Nejsnadnější způsob, jak Order Ref u obchodů zobrazit, je podívat se do „Trade History“:
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ů).
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.
- 3