Interactive Broker’s SNAP Orders for Delayed Trading

For a person who doesn’t work in the financial industry, I write a lot of trading-related code. I also like automation. Despite all that, I still don’t automate my trading 100%. My trades are manual, but I do use a few fancy tricks possible on Interactive Brokers.

There are two factors that define how I place orders: time and order type. The time dimension is extremely important to me – I’d like to spent as little time as possible in front of TWS. More importantly, since I am working full-time elsewhere, often I cannot show up at the precise time when I want to trade (often that’s 3:55-4pm EST, when the stock market closes). Fortunately, IB has the conditional orders, and time is one of the possible conditions:

The above screenshot shows how to add a time condition to execute the order only after 15:55 EST. For more details see TWS’s documentation.

Setting the time component is pretty much sufficient if trading highly liquid instruments. Set the order type to market and I am done.

For less liquid assets, I usually exploit the SNAP to MID order type. These are amazing – they are pretty much what I would have done manually using TWS. I’d look at the bid and the ask, and kind of mentally determine the middle point. Then, I will put a limit order using either the middle point directly, or subtracting (adding) some amount to it. That’s exactly what the SNAP to MID implements, and, when combined with a conditional I can simulate the trading as I want it, without being present.