Quote from western:
How do HFT algos front run SMART routing orders?
Here's an example.
There's 500 shares available at the ask price. 100 shares each at ARCA, NSDQ, BATS, NSX, and, EDGE. I want to buy all 500 so i send a 500 buy order via my broker's smart routing system at the ask price. But I only get filled on 100 shares. The remaining 400 shares either get bought by someone else or the orders are cancelled the instant I send my buy order. What just happened?
I can also send the order directly via an ecn like ARCA with instructions to sweep other venues, but the same result occurs.
Lots of possible scenarios here. Depending on the details you can eliminate one or another.
Whether you submit to your broker or ARCA, you're at the mercy of their "Smart" order routing system. One easy scenario, some crappy exchange like CHX has an offer hanging at an ask price that's equal to or lower than the price you want, so your broker is obligated to submit your order there first, wait to hear back that is missed, then proceed to send to the other exchanges you listed with the price available. By that time the price is long gone. HFT's and other smart firms know that CHX aren't likely to have that price available (due to subjective experience, historical data/statistical analysis, etc) and will route and ISO order to CHX just to meet Reg NMS regulations, then immediately send orders to the other exchanges you listed to actually try to get the fill. This results in overexposure (there's a chance that we'll get filled on both CHX and the others), but we take that risk knowing that the likelihood of that is very small and it's worth it to get a better chance at getting the fill at the other 'good' exchanges.
Now in the unlikely chance that you actually looked at all protected endpoints and the price isn't available any other than the 5 you listed(not saying you didn't do your hw, but I didn't think it likely that most retail traders look at all the lesser-known exchanges), maybe your broker's 'smart' system is set up to try 500 at the first available exchange, then wait to hear back on whether the whole thing is filled before trying others.
Another very likely possibility is that your broker sends a non-ISO order to one of the exchanges, then relies on that exchange's 'smart' system to route accordingly. Problem is, by the time the order gets to the first exchange, it's already too late to hit the others.
An HFT firm would have the ability to send ISO orders to each of the exchanges simultaneously, but that firm is also required to log its known quotes of all protected endpoints and have them on file for future investigation that it doesn't violate Reg NMS rules. You at home don't really have that option.
I must admit I'm making a few assumptions here, particularly about how your broker operates. What I can guarantee though, is that there is no way another firm can see your first order hit one exchange and unfairly hit the other exchanges before the rest of your orders hit. Then again, I suppose if your broker's line is slow enough it is a slight possibility. For example, if the exchanges are say 1, 2, and 3 miles from your broker, and your broker's line from 1 to 2 is slow enough, the HFT firm can beat your order getting to 2 after reacting to the hit at 1. I think this is pretty unlikely, but not out of the realm of possibility.