IB OPG orders

Discussion in 'Order Execution' started by sprstpd, Jan 19, 2011.

  1. sprstpd


    I have used OPG limit orders on NYSE stocks for many years through IB. Here is how OPG limit orders have worked in the past:

    1. I submit my OPG limit orders at 9:20am.
    2. When the stock opens, I either get filled or the order is cancelled.

    Lately, I have been seeing this:

    1. I submit my OPG limit orders at 9:20am.
    2. After 9:30am, and presumably after the stock is open for trading I see bid and asks on the NYSE but my order is still active (green colored status). So it appears that my OPG order was not filled, but was not cancelled either. It also appears the order isn't really active anymore, i.e., if it were converted to a limit order I should have already been filled in some cases (because of where the stock is trading), but I am getting no fills.

    Is anybody seeing this kind of behavior or is it just me? Note that it doesn't happen all the time, but it is happening for around 50% of my NYSE OPG limit orders.
  2. GTG


    Yes I have noticed this as well. I hadn't placed any OPG orders since maybe Early November and last I remember this strange behavior hadn't started at that point so this must have started sometime in the past 2 months. I've been placing a number of opening orders since late December and have seen this behavior every day that I've placed any opening orders. Here is another thing I've noticed: Sometimes I have multiple opening orders in one stock. Sometimes, I get filled on one of them at the open, and my remaining opening orders are still there for at least several minutes, and I know for a fact that the stock has already opened in these cases since I've already been executed on my other opening order. If I wait long enough these remaining orders seem to get canceled automatically in at least some of the cases. I usually just cancel all of my remaining opening orders after a few minutes have passed so I don't know if I waited longer if the remaining orders would cancel themselves eventually. Another thing I've noticed, is that when I get a partial fill, instead of being canceled automatically like it used to, my remaining order is still "active" in TWS with the size updated, even though this makes no sense for an OPG order.
  3. kostia00

    kostia00 Interactive Brokers

    we have changed the system to clean up unfilled OPG orders with small delay after the opening, same way as we clean up unfilled day orders with small delay after the closing.

    if your OPG order fills, you get a trade report immediately. if it does not fill, the cleanup and associated unsolicited cancel should happen within 5-10 minutes of the open.

    the reason we did this was to prevent the cleanups of unfilled OPG orders from slowing down the new submits and cancel requests.
  4. sprstpd


    Ok, but an unintended consequence for me is that I relied on the cancelling of the OPG to signal that a stock had begun trading on the NYSE. Now I have to bring up a NYSE-specific ticker in order to see if there are NYSE bids and offers to make that determination.
  5. GTG


    Thanks for explaining that kostia00.
  6. sprstpd


    After thinking about this further, it seems like a poor decision by IB. If I have an automated trading system that uses OPG limit orders it would be nice to know immediately if an order was cancelled or not at the open. Delaying that information can only hinder the performance of systems that rely on OPG orders.

    I'll have to program around this limitation I guess, but it certainly isn't "optimal."
  7. vikana

    vikana Moderator

    A question for clarification: If I decided to cancel an open OPG order, do I get an immediate cancel confirmation (no matter if the stock has opened or not) ?

    I think the answer is 'yes' from experience, but I'd like to know for sure.
  8. You guys need to Ctrl + Z this one. You're eliminating a key feature of an OPG order...the instant fill/cancel feedback at the open. Dragging out the process creates all kinds of issues determining potential exposures in ticker, long/short, margin, etc.. This is quite different than doing it after the close (although I don't care for that much either).

    Say I have a model that submits an OPG order. If (and only if) it is not filled, it then sends another order 15 seconds after the official open. Under your new policy, how would you suggest implementing this?

  9. sprstpd


    Yes from my recent experiences, confirmed multiple times.
  10. sprstpd


    Right now you would have to subscribe for ticker updates for that symbol using the NYSE exchange, not SMART. When you get the first quote from the ticker update, you would know the stock was open for trading at the NYSE and you could cancel the OPG order programmatically, then submit your next order.
    #10     Jan 21, 2011