GAT order – skrytý pomocník pro automatizaci investování u IB

Nedávno se v diskuzi pod předchozím článkem jeden čtenář dotazoval, zda existuje způsob, jak automatizovat investování v platformě TWS od Interactive Brokers. A protože sám tento přístup čas od času využívám, naznal jsem, že by nebylo od věci sepsat návod, jak co nejjednodušší cestou částečně automatizovat vlastní obchodování.

Všichni, kdo pravidelně investují, to jistě znají… V určitý den ke konci obchodního dne máte v rámci svého investičního plánu provést nákupní příkaz a jako naschvál jste v ten samý den pozváni na narozeninovou oslavu svého kamaráda nebo se právě chystáte s manželkou do divadla. Nezřídka se stává, že pod tíhou dobré zábavy na celou věc zapomenete a doháníte to až další den po otevření trhů za úplně jiné ceny.

V zásadě se u IB nabízejí dvě možnosti, jak výše popsaným trablím předejít:

  1. automatizovaně skrze API
  2. polo-automatizovaně pomocí speciálních příkazů

Napojení na brokera přes API a ovládání pomocí programovacího jazyka nespadá do kategorie “easy way”, takže naše cesta povede přes druhou možnost – speciální ordery.

GAT ordery

Jedná se o obchodní příkaz Good After Time (GAT), který je odeslán na trh v okamžiku, jakmile dojde ke splnění námi zvolené časové podmínky. Například potřebuji, aby se mně nákupní příkaz typu MARKET realizoval ne dříve než v pondělí, 11.10.2021 těsně před uzavřením trhů ve 21:59:45. Přesně k tomuto účelu tyhle příkazy slouží a jsou tak ideálním kandidátem pro náš problém. Lze je používat pro obchodování při otevření trhů, na close dne, ale také během obchodních hodin. Možnosti jsou neomezené. Obrovská výhoda spočívá v tom, že si příkaz můžeme do platformy nastavit několik dní dopředu a o exekuci se už nemusíme starat, protože order drží na svém serveru přímo Interactive Brokers.

GAT order je defacto nadstavbou pro standardní obchodní příkazy typu MARKET nebo LIMIT. Jak takový order vypadá v reálu?

Zobrazení nadstavby obchodního příkazu Good After Time (GAT) v TWS platformě.

Pokud se nalogujete do své platformy a zkusíte si GAT příkaz v okně Order Ticketu zadat, pravděpodobně zjistíte, že tam pole Start Time a End Time nemáte. Zde přichází ta skutečně bizarní část… Neexistuje žádný oficiální návod, jak tato dvě pole do Order Ticketu dostat, a když kontaktujete podporu, poradí vám, abyste přeinstalovali TWSko. Asi nemusím zmiňovat, že to nepomůže.

Jak si aktivovat GAT orders v TWS

Objevil jsem jediný postup, jak úspěšně aktivovat příkazy Good After Time. Možná existuje více způsobů, jak dosáhnout požadovaného efektu. Já jsem na internetu žádný jiný návod nenašel. V následujícím textu budu předpokládat, že většina obchodníků používá šablonu “Classic TWS”.

1. krok

Nalogujte se do svého TWS. Ve spodní liště klikněte na “+” a následně Open the Layout Library.

Klikni pro zvětšení.

2. krok

Z nabízených layoutů vyberte Standard Mosaic a klikněte na tlačítko Add Layout.

Klikni pro zvětšení.

3. krok

Jakmile se ocitnete v layoutu Mosaic, středem vašeho zájmu bude okno Activity a karta Orders (1). V této kartě klikněte na ikonu klíče (2) a následně na Settings (3).

Klikni pro zvětšení.

4. krok

Do vyhledávacího pole v pravé části napište “start time”, v Time-In-Force klikněte na položku Start Time (1). Následně ji přidejte do levého sloupce pomocí tlačítka Add (2) a konečně potvrďte tlačítkem OK (3).

Poznámka: Bizarní na tomto kroku je, že se vám položka Start Time nepovede přidat v klasickém layoutu TWS, ani kdybyste se rozkrájeli.

Klikni pro zvětšení.

A to je vše. Právě jste si aktivovali GAT ordery. Kartu s layoutem Mosaic můžete zavřít a pokračovat s šablonou Classic TWS. Nyní budete moci při každém otevření/uzavření nového obchodu prostřednictvím Order Ticketu využít také funkci Good-After-Time a alespoň částečně automatizovat své obchodování.

Poznámka č. 1: Příkazy Good After Time lze používat jednorázově. Pokud potřebujete vyšší logiku exekuce typu “každý druhý pátek v měsíci”, “poslední obchodní den kvartálu” apod., bude zapotřebí sofistikovanější přístup prostřednictvím API nebo trocha ruční práce… 😉
Poznámka č. 2: Podobného efektu jako u GAT příkazů lze dosáhnout také pomocí podmínek (karta Conditional v Order Ticketu). Výše uvedený způsob však považuji za univerzálnější.

Subscribe
Upozornit na
guest

11 Komentáře
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Tom

Super článek, možná se tento typ příkazu bude někdy hodit.

Petr

Já tam pole StartTime a EndTime normálně mám. Vyzkoušeno ve verzi 978.2i a potom i v nejnovější 10.10.2p.

Honza

Já tam políčka také mám, ale jdu přes Lynx.

Petr

Nicméně – jak uvádíš – používám pro toto Conditional orders, už proto, že se mi to líp čte…

Karel z Jednoty

Ja teda obchodování moc nerozumím,ale proč bych si takovou transakci chtěl naplánovat těsně před koncem obchodních hodin.Přece tou dobou vůbec nebudu vědět jaká je cena (když řepdpokládám,že nebudu u počítače),tak proč to kupovat před closingem?Když navíc přes nocse může stát desítky různých věci,které trh pošlou další den do korekce?Nějak mi to nedává logiku (z pohledu tradingu),a z hlediska investora mi to zas nedává logiku také,protože pokud kupuji akcii na 3 5 10 let,tak je mi celkem egal jestli ji beru za 115 nebo 117USD,pokud tedy neberu jich nějaké enormní množství,kde to může dělat desítky tísic po přepočtu.

Jožka

Ahoj,
GAT příkaz je sice hezký, ale neřeší to tu pravidelnost investování.
Neumí IB i něco jako “trvalý příkaz” neboli příkaz automaticky opakovaný každý měsíc?
Představuji si to nějak takto:

  • do IB budu pravidelně měsíčně posílat CZK trvalým příkazem z banky
  • v IB se vždy určitý den v měsíci provede konverze CZK na EUR nebo USD (dle cílového ETF) a koupí se to ETF za všechny dostupné prostředky.

Vím, že toto si můžu udělat nějakým skriptíkem přes API, ale jde mi spíš o to, jestli není nějaký způsob, jak toto jednorázově nastavit “mojí babičce” a pak už se o to nemuset starat.
Díky

Johnny B.

Ahoj,
díky za skvělý nápomocný článek – kolikrát jsem šel na nějakou oslavu s obavami, že nestihnu/nezadám příslušné ordery :-)

Kdyby to někomu pomohlo, komunikoval jsem v tomto ohledu s TastyWorks – řešil jsem s jejich podporu něco podobného. Stručně: Ordery typu Market On Open (MOO) nebo Market On Close (MOC) jsou ordery typu “Held”. TW takové ordery neumožňuje a ani neplánuje jejich nasazení. Dále jsem řešil právě zmiňované “GAT” ordery. TW je nyní neumožňuje, nicméně prý je mají na listu pro nasazení v příštím roce (“We may look to add this order type at some point next year”)…

IB je v této oblasti technicky mnohem přívětivější; škoda všech těch negativ kolem Brexitu a U.S. ETF obchodování (i když za to nemohou). Na druhou stranu velká pochvala TW za podporu – reagují téměř okamžitě (reakce na chat v řádu jednotek minut, na maily během několika hodin), ale to už je jiné téma…

Ať se daří!

Přejít nahoru