How are my orders getting jumped in the queue at a given Limit price?

Discussion in 'Order Execution' started by d0rian, Feb 23, 2017.

  1. d0rian

    d0rian

    Here's what I don't understand:
    • I submitted a Smart-routed Limit order at to Sell 2,000 XYZ at $4.55 (with the spread at 4.50/4.55)
    • A lot of trades were going through at 4.55 but my order was unfilled, which I figured was because my 4.55 was "behind" other orders also at 4.55
    • After about 30 mins, I got a PARTIAL fill of 100 (which I took as an indication that my 2,000 x $4.55 order was finally "at the front of the line" of any other 4.55's, right?)
    • HOWEVER, a lot of other orders began to get filled at $4.55 (acc to IB's Time & Sales window, and the daily volume kept climbing). But my order just sat there, still only having gotten a partial fill of 100 / 2,000 shares.
    I simply don't see how that's possible. How could any other fills be happening at $4.55 when mine was (if i'm understanding correctly) at the front of the queue of $4.55 orders??

    Any new Orders get queued based on the time they come in, right? I.e. if there's 100,000 shares being offered at 4.55 and some guy enters a Sell order for 5,000 shares at 4.55, his 5,000 will be queued BEHIND the 100,000 being offered, right?

    If all of the above is correct, I don't see how ANY other orders could have been going through at 4.55 until my entire 2,000 lot was filled. Wasn't I at the 'front of the line'?
     
  2. tommcginnis

    tommcginnis

    My long-held* understanding matches yours.





    *But hell, there's so much unspoken esoterica out there, and by the time you decide to memorize it, a little-covered press release from The Powers That Be has changed all the rules, aaaaaaaaa-again.
     
  3. So I'm not qualified to answer, but I think there are two options that can be at play here. One is using the smart routed order. If I recall correctly, the way it goes to the exchange might mess with your queue positioning as it seeks to get the fill. The other is I believe, resting orders? Not 100% on that or how that applies with stocks, but I believe orders can be out there that don't actually show but that are ahead of you in the queue. So when they are activated you get jumped.

    Again, I really am guessing here as I honestly can't remember the details on either of those things. But could possibly be the source of your issue.
     
    VPhantom likes this.
  4. Robert Morse

    Robert Morse Sponsor

    What exchange was your order sent to? Were the sales on that exchange?
     
  5. ET180

    ET180

    My understanding is a little fuzzy on this topic, but I believe SMART route does not actually place your order on an exchange. It simply notifies IB of your order and when they find an opportunity where they think it will execute, then they place it on one of the many exchanges (and some dark pools). If they see a better opportunity somewhere else, their algorithm will cancel the order on one exchange and place it on another. When that happens, you'll go to the end of the queue.

    If anyone has a detailed explanation on how IB smart routing works, please post it. I suspect that they keep their algorithms proprietary and trade secret.
     
  6. MrMuppet

    MrMuppet

    Unfortunately you weren't in front of the line. You have to understand that the stock market is fragmented, which means that you have to select which venue you want to go through.

    You can do it yourself or you can use a SMART router to do the work for you.

    So lets say you post your order at ECN A without hiding it (iceberg) at 55 offer. Any trader can now post an offer at 55 via ECN B,C and D.

    And if everyone else trades at B,C or D and nobody wants to trade at A then you wont get filled.
    So it's like posting your bike on craigslist for 200.- and you see someone just sold it on ebay for the same price while you did not get filled on craigslist.

    In addition you probably got pinged i.e. the 100 shares you got was probably a test in order to see if your order was real or just a spoof.

    You were for real, algos found that out and leaned on your order. I'm not even want to get into subpenny trades and payment for orderflow, since this opens another can of worms.

    There are more than 200 ordertypes in the US stockmarket, dozens of ECN's, darkpools and ATS's, so you better educate yourself.

    And if you are thinking "but it was just 2000 shares and I used a SMART router which is supposed to be smart"...I got fleeced on far less than that, thats why I went over to futures where markets are centralized.

    All of the above implies, that you where trading listed (NYSE, AMEX, NASDAQ) securities and you know what your SMART router does and how to set it up.

    If you where trading OTC securities or just not smart enough to use your SMART router correctly, well then you have other issues to deal with.

    Quickfix: Use marketable limit orders and cross the spread or chose your own routes and either use EDGA or BYX to post passive orders. You wont get rebates but those exchanges usually get the first fills
     
  7. d0rian

    d0rian

    Right, but that doesn't really explain how my order could get jumped 'mid-fill', right? ...unless you're suggesting that a resting order could have been activated immediately after I got my partial fill of 100...? Is that how these order types work?

    My order was posted and filled at NYSE. It appears, from IB's Time and Sales window that the 4.55 orders getting filled were at "BYX"
     
  8. d0rian

    d0rian

    Thanks for your reply, it makes sense.

    1) Curious: what do you mean by algos "leaned on my order"?

    2) I'm sure that I'm not using my SMART router optimally, since I haven't configured it whatsoever. Where do you suggest I begin? I also obviously mis-understand just exactly how it's supposed to work, as I was under the impression that it had the effect of 'centralizing' many exchanges, but your explanation implies that everything's still a lot more fragmented than I believed.
     
  9. truetype

    truetype

    He means 'used your order as a backstop while frontrunning you.'
     
    Make Dough Repeat likes this.
  10. d0rian

    d0rian

    OK, thanks. Can you explain just how this works in practice? E.g.:

    1) Algo pings my 2,000 x $4.55 Sell order sitting on the NYSE, verifies that it's a real / not-spoofed Sell for 2,000 shares.
    2) ?
    3) ?
    4) Profit.

    IOW, once algo knows there's a valid 1,900 shares to be purchased @ $4.55, what does it do then? How am I being front-run?
     
    #10     Feb 23, 2017