Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
@RandBots Thanks but I already studied that. My question is regarding the precise mechanics which are not answered there. I agree it is more theoretical and I suspect the process I hypothesized is the correct order. The question is whether there is a peg order type or something that gets priority. We're not talking about matching as much as we're talking about what happens a level in the depth clears.
There are a few possibilities.
1) A market order is able to hit the next level before the limits are able to replenish the depth. In this case, stop limits get priority. In this case we can expect HFT traders are using stop limits to enter trades. In this case, there is a hidden queue order that matter.
2) More likely, a market order cannot hit the next level before the HFT replenish the depth. A level clears but as soon as that happen then the HFT will refill the book.
But I agree, it is not entirely clear. The question is now basically in a race between stop limits and a limit order submitted by the HFT trader-- who wins.
Why are you giving priority to a market order before other types of orders. The simplest way to obtain priority is based on ETA & CTA (Estimated & Confirmed Time of Arrival)
Sorry randbots. I'm not giving priority to a market order. Based on everything everyone has said, you can't submit a limit order on a level offside from the market. We also know that (for the most part) that the first limit orders submitted will obtain the best position.
We know that if an HFT system is at the exchange and submits the limit orders then they are likely to get top of book. However, what we don't know is how the queue for the stop limit orders are processed for the limit order side.
There are two possibilities: the offer clears and replenishes before an order can hit the next level in the book or a market order hits the next level in the book first. If that's the case there is a race between the stop limits and the HFT. The architecture of the system determines what happens. It is somewhat obvious nobody here knows the answer or would have provided it already.
It probably can also vary. What probably happens because I have been able to watch other markets like BTC extremely closely is the following...
1. The offer is cleared and liquidity is pulled above the market.
2. The spread will widen.
3. There is a race to narrow the spread. The less aggressive HFT will fill the first levels and then more aggressive HFT detect this will jump the price to fill above them.
4. Finally the spread narrows.
If I submit enough orders to take out more then a single level on the book then it is logical to assume it will trigger the stop limits before the HFT can respond. On the other hand, if I clear a level normally then the HFT will probably be able to fill before the stop limits.
Due to e.g. iceberg orders (which also can be cancelled) we can be pretty sure that an HFT will be able to
fill before the stop limits - even if you clear the first (visible) amount. (Keyword: Display quantity)
Nevertheless: With the longstanding fights of the algo wars in mind, I wish you good luck and steady nerves
for your endeavor of achieving disclosure of matchmaking.
What I suspect is that the CME keeps all the order machines at the same distance so your order will arrive randomly with a whole batch of other orders. I suspect also that if you just start pinging in advance to fill a level that you would get throttled or something unless you had market maker status. But, if you think about it, if the depth has dropped to say 10 orders then you could submit your post quote in advance.
I have to admit this is more academic because it is unlikely that one could do much with this without specialized hardware at the exchange.
Limit orders on the exchange will be FIFO for a given price. So if you want to be at the front of the queue, submit a limit order at soonest opportunity. If for some reason you want it to sit outside the exchange until certain parameters are met, write an algo on the platform of your choice to submit the order on your conditions...but your order will go to the back of the queue.
I like where you are going with this... I think you are correct and I wanted to verify that I am understanding this the way you are presenting it.
If a new level is created above the current level, then we know where the resting ask volumes come from because there is already several levels of resting orders that can be observed on various DOMS, but you are bringing up the topic of the bid volumes. Where do they come from since you can't submit limit orders (Buy Bid above the market, and Sell Ask below the market). But these new levels get filled almost instantly once the level is created with these types of orders. So where do they come from?
One of the ideas that you mentioned was stop limit orders that are sent as conditional market orders and not triggered until the new level gets created. Once the new level is created and the threshold price is triggered, the stop limit orders become a regular limit order and work accordingly from there.
Now from my research (Spreadsheet enclosed) I suspect the stop limit orders being first, is the most likely way this new level is being filled. The reason I think this is that I see in the data when a new level is created up for example, the side that get's worked first is usually the bids. By contrast if a new level is created down, then the side that gets worked first is the asks. The data I am enclosing comes from NinjaTrader / ES and I ran the data using the OnMarketData event handler to try to get every change as granular as possible. I sequenced the events of every level between Last = bid and Last = Ask to get a sense of how it moves. I think I am likely missing some of the granularity though because I never see volume drop close to 0 on either side, but this is as granular as NT / Kinetic had it. But the pattern I see is that on new levels, the side that gets served first was typically (90% or more of the time) the side that was not resting on the DOM but came into the level seemingly at the last second. So if this side is being given priority and served first, then this is likely due to using a different order type such as a stop limit order which gets executed first.
Maybe I am off on how to interpret this, but I am throwing it out there. It looks like the data I have aligns with your theory about stop limits going first though. Have you gained any more insight into these mechanics since this original post?
Thanks--yep you understand the question. I found there is a special "peg" order type for market makers too (correction, not sure if this is a CME order type or not cannot find it now). There is risk for being top in queue too. It is not just reward because you can be hit by aggressive market orders. However, the stop limit makes some sense as to the first orders that fill esp if these are traders who want to exit and thus want to get hit.
I think the question is who/if anyone gets priority when the new level is formed. We can imagine there might be (1) stop limits held by exchange and peg orders and (2) orders submitted by co-located HFT boxes.
One of my questions was who gets the priority. I guess you could ask the exchange. Please let us know what you find out. I suspect there is a lot more happening then we can see.
On second thought, it is possible the bid is filled by a large trader using market-limit order. Imagine a case where 50 are offered and a trader wants to buy 100 but not risk slippage, they submit a market-limit order and the first 50 are bought at market with the remaining 50 now resting as the new bid.