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:
- automatizovaně skrze API
- 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?
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.
2. krok
Z nabízených layoutů vyberte Standard Mosaic a klikněte na tlačítko Add Layout.
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).
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.
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í.
Super článek, možná se tento typ příkazu bude někdy hodit.
Díky za pozitivní hodnocení.
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.
To je zajímavé, já normálně používám latest verzi a ani na jednom TWSku jsem to neměl. Kamarádovi jsem pomáhal zakládat účet před cca 3 měsíci a ten to tam taky neměl.
Já tam políčka také mám, ale jdu přes Lynx.
Nicméně – jak uvádíš – používám pro toto Conditional orders, už proto, že se mi to líp čte…
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.
Článek se týkal problému pravidelného dlouhodobého investování, kdy se v čase cena průměruje. Někteří investoři mě nevyjímaje mají rádi určitou systematičnost ve správě svých peněz, proto já například drtivou většinu investic provádím těsně před close obchodního dne. Tím, že si nastavíš předem podmínky neriskuješ, že na to zapomeneš nebo třeba to, že budeš spekulovat, jestli den dva nepočkat – co kdyby to padlo dolů. Tímhle neduhem trpí obrovská část retailu.
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:
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
Nemyslím si, že je to nějak jednoduše možné. I kdybych to, co popisuješ, měl dělat každý týden, tak by mně to nijak neobtěžovalo. V pondělí bych si tam nacvakal všechny potřebné podmínky a v pátek bych to nechal automaticky exekuovat. Pokud to má být jednou za měsíc, tak to už podle mě vymýšlíš kanón na vrabce. Pro “tvojí babičku” bych v tom případě spíš doporučil Portu, který investuje automaticky…
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ří!