A Five Minute Example of HFT Shenanigans
I was trying to buy 500 shares of a preferred stock this morning, Principal Financial Group Inc. series B (NYSE:PFG-B). It is such a challenge to trade any type of illiquid issue as the execution of orders is nearly impossible in this HFT world. Here is the sequence of events.
At 09:39:08, the stock is offered on EDGX at $26.29.
I place an order to lift the offer. The shares trade but I get filled on zero shares. Knowing that my bid will cause a bunch of HFT programs to penny-jump me (step ahead of my order by a penny - which they immediately do), I cancel the order. The HFT penny jumper cancels their order as well.
At 09:39:29, the stock is offered on EDGX again at $26.32. I place an order to lift the offer. The stock trades at the exact same second. Again, I get filled on zero shares. I cancel the order.
At 09:39:41, the stock is offered on PCSE at $26.29. I place an order to lift the offer. The stock trades at the exact same second again, but I get filled on zero shares. I cancel the order.
At 09:39:50, I place a hidden order to buy the stock at $26.32. Five second later the stock prints in front of me at $26.33 (Obviously these hidden orders aren’t as hidden as they should be). I leave the hidden order to buy at $26.32.
At 09:40:05, the stock prints right through my hidden order on another exchange at $26.30. So despite my bid being higher at $26.32, thanks to the fragmentation in the market, I get filled on zero shares again (and the seller gets a worse price!)
At 09:40:20, the stock prints through my hidden order again at $26.30. Again, no execution for me. Frustrated, I cancel my order.
A few seconds later, at 09:40:36 a couple of HFT programs battle out for the top of the order queue, and the bid changes rapidly, as you can see below:
At 09:40:40, the HFT programs go to battle again fighting for the best bid.
This battle continues for the next few minutes. In fact, during one period of time from 09:44:53 – 09:46:35 (a total of just over a minute and a half), the best bid changes over 800 times, as these two HFT algorithms battle to be at the top of the queue.
At 10:07:14, I finally lift an offer and pay up to $26.35. The HFT firm scalps their few cents from me, and all the games are over.
Some serious issues are highlighted in these few minutes of activity:
1) Inability for market participants to access a quote.
2) Excessive quote pollution as HFT algorithms battle each other.
3) Market fragmentation can lead to inferior execution.
4) HFT penny jumping can discourage market liquidity.
The bottom line is that all of these issues discourage participants from trading illiquid securities – making these securities even more illiquid.
* Update – Click here for charts of the liquidity and trading activity provided courtesy of Nanex.










Can I ask why you didn’t send your initial order to Edgx when you tried to lift the 29 cent offer?
Order was directed, still didn’t get it.
You need to ask your broker why it wasn’t filled. What is their response? Is it possible you sent this order “All or Nothing”?
Broker can do nothing about this. I see this happen all the time. You try to lift an offer and it moves or you only get a piece.
Something doesn’t add up here. You routed directly to EDGX which is where you saw shares on the offer and you didn’t get filled? What routing strategy were you using? Try ROUX to avoid dark routes completely and see if that helps.
Lots of questions as to how this could happen. Here is the possibilities:
1) There were HFT participants that were short off the opening print (which was higher than the close), and they were coincidentally trying to access the offers at the exact same time that I sent my buy orders. This is a distinct possiblity because the stock was only offered at those prices for a couple of seconds. Again, this shows that a human cannot compete on speed.
2) The HFT participant saw my order coming up the pipeline and simply bought the offer before me. This is where it gets interesting. If I used a smart router, it is possible that the HFT firm would see my order when it pinged the first exchange (depending on how the SMART order routes). They then quickly grabbed the offer before my order accessed the liquidity on EDGX. But if I routed direct, how could they see that order coming?
3) This is very controversial. I published an article a while back speculating that some HFT firms may be able to see your order BEFORE you send it, when your order ticket is populated. Here is the link: http://premarketinfo.com/2012/06/26/can-hft-players-see-your-order-before-you-send-it/ I’m not saying this happened here, personally I think I just got beat to the quote, but you never know what information that some firms can obtain.
Any thoughts?
I think you need to be more aware of the limitations of smart routers in cases such as this. There’s little hope of dark price improvement in that symbol. Therefore, IMO, you should be avoiding smart routing (which seek price improvement, but also tip your hand to other players) and routing direct, using a routing strat that skips the dark pools. I’d be curious to see if using ROUX fixes your problem the next time. I take it by your responses and your original description that you weren’t routing directly to EDGX when you weren’t able to hit the ask?
He definitely was not routing directly to EDGX. I also am suspicious of the idea that this has anything to do with Dark Pools as none of his order was executed so no one else in the Dark Pool would know about his order (unless people want to argue the people running the dark pool are using this info against him).
I believe he sent his order to NYSE (at least the first one) as not routable. Or he sent an “All or Nothing” order and his size was more than 100 shares (I see when it finally did execute it a good number of shares went off).
If you call your broker and ask “Hey, what happened here” they will likely tell you why it did not execute. I do not understand the reluctance to do this. Rather than trying to solve the problem we instead go straight to the HFT boogeyman explanation.
Ok…please read my comment above. Order was definitely routable, not all-or-none. I got beat to the quote. How that happened is up for discussion.
This seems messed up.
Can you explain exactly how you sent that first order? Which brokerage did you send it through and with which order parameters.
I trade through Goldman Sachs rediplus. All of our orders will route to top of book (so as to not violate SEC rule 611), then park on exchange that we choose. I park on NYSE primary. I’m fairly confident that the first order was simply a coincidence that another participant was trying to access the liquidity at the exact same time (as in my comment above). The subsequent attempts are more interesting however.