Resting bids above market or offers below market? - futures io
futures io futures trading



Resting bids above market or offers below market?


Discussion in Traders Hideout

Updated
      Top Posters
    1. looks_one tpredictor with 8 posts (1 thanks)
    2. looks_two RandBots with 2 posts (1 thanks)
    3. looks_3 Fat Tails with 1 posts (3 thanks)
    4. looks_4 addchild with 1 posts (0 thanks)
      Best Posters
    1. looks_one Fat Tails with 3 thanks per post
    2. looks_two HFF Trader with 1 thanks per post
    3. looks_3 RandBots with 0.5 thanks per post
    4. looks_4 tpredictor with 0.1 thanks per post
    1. trending_up 6,552 views
    2. thumb_up 8 thanks given
    3. group 14 followers
    1. forum 18 posts
    2. attach_file 2 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 125,000 members
  • 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 and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

Resting bids above market or offers below market?

(login for full post details)
  #1 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011

I have been think about something. Why cannot traders put in resting bid orders above the market and sell offers below the market? I know how limit/market orders work. However, you could in theory have an off book queue that would only move the orders to active state when the market moved above or below them.

The question is relevant because/in relation to another question. Let's say the market is moving up. I want my bid to obtain top of queue. If I had a server at the exchange how would I program my orders to get the top of book?

If you supported off book (side book) queue then it would mitigate some of the advantage of HFT, I'm thinking. Because, you could possibly code similar strategies without needing special access.

If I try to submit a limit in advance then of course it gets rejected which is the normal behavior. That's normally correct behavior. But, let's say I want to fill the depth as soon as possible, could I just hit the server with messages to insert my orders or is there some more efficient way.

There are two scenarios where we can imagine we have opportunity to get top of book. If we put our orders in well in advance or far off market or if we backfill the orders as they move up or down. We cannot get top of book on anything but the first level because we know that other market makers will have inventory on the next levels.

So the mechanics of the "backfill" or refill are important. If all the market makers have HFT at the exchange and backfill aggressively then we can imagine the orders will arrive at same time.

Started this thread Reply With Quote

Can you help answer these questions
from other members on futures io?
Automating strategies on multiple charts with same symbol
TradeStation
NT8 indicator to simulate a Funding Evaluation where to …
NinjaTrader
Reading A set of Trading Signals
EasyLanguage Programming
ZigZag with Depth and Backstep
EasyLanguage Programming
SimplerOptions
Trading Reviews and Vendors
 
 
(login for full post details)
  #3 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011


Right, primarily the idea has came to me from market making on BTC with very small test account. I'm doing it manually and having to place hundreds of trades. There are definitely some interesting dynamics when the market moves. I have put in above the market with resting order and tried to hit the button immediately. Curiously, I was able to near the top book or level but then what was interesting is without even any trades, the book was able to fill above me as new orders were placed in front of mine. This obviously would be less likely to happen in the futures.

It would only give you one side though, of course. You would still have to the other side unless you kept those open and only canceled the side you didnt need.

Started this thread Reply With Quote
 
(login for full post details)
  #4 (permalink)
Bay Area California
 
Experience: None
Platform: TT T4
Broker: Phillip Capital
Trading: Futures
 
Posts: 801 since Nov 2011
Thanks: 877 given, 882 received


tpredictor View Post
I have been think about something. Why cannot traders put in resting bid orders above the market and sell offers below the market? I know how limit/market orders work. However, you could in theory have an off book queue that would only move the orders to active state when the market moved above or below them.





This is called a stop limit order.


Sent from my iPhone using Tapatalk

.
Reply With Quote
 
(login for full post details)
  #5 (permalink)
Minneapolis Minnesota
 
 
Posts: 14 since Apr 2014
Thanks: 8 given, 3 received

Essentially if you are trying to be first in the queue at a newly created level or just in general, there are many players that are already doing this. ES fills to 100 size within 40 micros almost every time a new level is in. The first ones in are still much faster. I don't think it's advisable to fight that battle.

Reply With Quote
The following user says Thank You to HFF Trader for this post:
 
(login for full post details)
  #6 (permalink)
Site Sponsor

Web: Jigsaw Trading
AMA: Ask Me Anything
Webinars: Jigsaw Trading Webinars
Elite offer: Click here
 
 
Jigsaw Trading's Avatar
 
Posts: 2,977 since Nov 2010
Thanks: 823 given, 10,315 received

If you put a bid above the market, you are saying you'd like to bid at a higher price than at market.

So market inside bid price is 10 and the offer is 11 but you want bid 15.

The market exists to match buyers and sellers. Seeing as how pretty much every seller at 15 or below would be very happy to fill your limit order at 15, the market very kindly fills you against the best offer available - at 11.

So you are more than welcome to put limit orders above market but you'll get matched with a seller immediately.

If you have any questions about the products or services provided, please send me a Private Message or use the futures.io "Ask Me Anything" thread
Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #7 (permalink)
Market Wizard
Berlin, Europe
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
 
Fat Tails's Avatar
 
Posts: 9,855 since Mar 2010
Thanks: 4,238 given, 26,728 received


tpredictor View Post
However, you could in theory have an off book queue that would only move the orders to active state when the market moved above or below them.

As @addchild said, this is called a stop limit order.

The order has a stop price and a limit price and is off book when created.

When the stop price is touched, the order is moved to the book and becomes a regular limit order.

A stop limit buy order can only be set above the market (last traded price).

A stop limit sell order can only be set below the market (last traded price).

All major exchanges - including CME - offer stop limit orders.

Reply With Quote
The following 3 users say Thank You to Fat Tails for this post:
 
(login for full post details)
  #8 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011

Yeah I thought of a stop limit order. Some exchanges support also peg orders but the question is more about, also, the dynamics that determine who gets the top of book when a level clears. The question is relevant for example in a few scenarios:

You are market making on an exchange that charges some sort of basis point for market orders but the spread is tight. If you get top of book then you can avoid the charges and/or do more volume. For example, on GDAX if I did my calculations correctly you pay $14.53 for a market order per 1 BTC/USD at current prices. This means if you can backfill a move in under $14.53 then it is cheaper to use a limit order even if you have to pay up.

You want to obtain top of book on a new cleared level in the futures. This will give you the ability to hit out into the orders that fill behind you for a low risk/scalp trade and/or do more volume, as well.

You want to chase or aggressively market make a rising move.

Started this thread Reply With Quote
 
(login for full post details)
  #9 (permalink)
Christchurch, New Zealand
 
Experience: Beginner
Platform: SC
Broker: IB, BC, Dx Feed
Trading: US Equities
 
Neo1's Avatar
 
Posts: 428 since Jul 2014
Thanks: 471 given, 500 received


tpredictor View Post
Yeah I thought of a stop limit order. Some exchanges support also peg orders but the question is more about, also, the dynamics that determine who gets the top of book when a level clears. .

Whoever physically enters the order first. i.e the fastest.

A simple idea( that i got from prop) is that you place a marketable limit order to buy at the ask price, or sell at the bid, because, HFT own the spread and will always get to the front of the queue. Therefore, your passive limit order to buy at the bid, or passive limit order to sell at the ask will only typically get filled if price trades through( so the trade has usually gone against you before you are fully filled) Placing a marketable limit order you take all that is available at the bid/ask and then you're remaining order goes to the front of the queue. So you are for the most part a liquidity taker, not a provider.

"Free markets work because they allow people to be lucky, thanks to aggressive trial and error, not by giving rewards or incentives for skill. The strategy is, then, to tinker as much as possible and try to collect as many Black Swan opportunities as you can"
Reply With Quote
The following user says Thank You to Neo1 for this post:
 
(login for full post details)
  #10 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011


I still have not heard the precise mechanics that matter. I'm sure this can vary from product to product and exchange to exchange but what we're trying to get at is precisely how a new level is filled.

There are a few possibilities

1. The exchange processes a resting dark limit order pool, the stop limits first in fifo order
2. Next the exchange processes any submitted orders, i.e. low latency


If (1) is the case, do we know if the HFT are stacking the "dark" book as well with orders? I think a stop limit will still be slower because remember after the depth is cleared then the market doesn't need to trade at a higher level before the depth is filled. So, I'm thinking there is truly not a queue for latent side buy/sell capacity. But, if there were then notice it would level the playing field.

Here is what I think happens in something like the es, the market is moving up.

1. The offers clear. The spread widens by 1 tick but we do not see this.
2. HFT traders will submit new limit orders to fill the book in microseconds perhaps using peg orders ? or just using HFT software.
3. A trade triggers on the ask side.
4. Stop limits are processed in FIFO order after the HFT traders have filled the book.

With something BTC/USD here is what happens:

1. The offer clears. The spread widens to multiple cents usually
2. Traders will start to fill the levels closest to the bid.
3. Other more aggressive HFT traders will see the new fills and start to fill levels in front of them.
4. The spread will narrow to the minimum spread of 1 cent in most cases within moments.

Started this thread Reply With Quote
 
(login for full post details)
  #11 (permalink)
Lima, Peru
 
Experience: Advanced
Platform: Propietary
Broker: IQ
Trading: Options
 
RandBots's Avatar
 
Posts: 14 since Jul 2017
Thanks: 35 given, 9 received

Maybe this can help

At the CME, the GCC should help you (GLOBAL COMMAND CENTER)

TEXT

https://www.cmegroup.com/confluence/display/EPICSANDBOX/Matching+Algorithms

VIDEOS

Matching Algorithm Overview - CME Group



Others:

Clearing Operations and Deliveries

Follow me on Twitter Reply With Quote
The following user says Thank You to RandBots for this post:
 
(login for full post details)
  #12 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011

@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.

Started this thread Reply With Quote
 
(login for full post details)
  #13 (permalink)
Lima, Peru
 
Experience: Advanced
Platform: Propietary
Broker: IQ
Trading: Options
 
RandBots's Avatar
 
Posts: 14 since Jul 2017
Thanks: 35 given, 9 received


tpredictor View Post
@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.

@tpredictor



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)

Check the patent Assignee
https://www.google.com/patents/US20160035027

Follow me on Twitter Reply With Quote
 
(login for full post details)
  #14 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011

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.

Started this thread Reply With Quote
 
(login for full post details)
  #15 (permalink)
Germany
 
Experience: Intermediate
Platform: Other
Trading: ES, YM, 6E
 
Posts: 2,668 since Feb 2013
Thanks: 5,099 given, 6,551 received


tpredictor View Post
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)


Source: https://www.cmegroup.com/globex/files/GlobexRefGd.pdf

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.

Reply With Quote
The following user says Thank You to choke35 for this post:
 
(login for full post details)
  #16 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011

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.

Started this thread Reply With Quote
 
(login for full post details)
  #17 (permalink)
Bay Area, CA
 
Experience: Intermediate
Platform: TradeStation, TOS
Trading: Futures, Equities, Options on Futures
 
Posts: 48 since Feb 2017
Thanks: 53 given, 30 received

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.

Sent using the futures.io mobile app

Reply With Quote
 
(login for full post details)
  #18 (permalink)
charlotte nc
 
Experience: Master
Platform: ninjatrader
Broker: NinjaTrader
Trading: Emini (ES, YM, NQ, ect.)
 
Posts: 398 since Jan 2015
Thanks: 76 given, 1,081 received

Hi tpredictor,

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?

Ian



tpredictor View Post
I still have not heard the precise mechanics that matter. I'm sure this can vary from product to product and exchange to exchange but what we're trying to get at is precisely how a new level is filled.

There are a few possibilities

1. The exchange processes a resting dark limit order pool, the stop limits first in fifo order
2. Next the exchange processes any submitted orders, i.e. low latency


If (1) is the case, do we know if the HFT are stacking the "dark" book as well with orders? I think a stop limit will still be slower because remember after the depth is cleared then the market doesn't need to trade at a higher level before the depth is filled. So, I'm thinking there is truly not a queue for latent side buy/sell capacity. But, if there were then notice it would level the playing field.

Here is what I think happens in something like the es, the market is moving up.

1. The offers clear. The spread widens by 1 tick but we do not see this.
2. HFT traders will submit new limit orders to fill the book in microseconds perhaps using peg orders ? or just using HFT software.
3. A trade triggers on the ask side.
4. Stop limits are processed in FIFO order after the HFT traders have filled the book.

With something BTC/USD here is what happens:

1. The offer clears. The spread widens to multiple cents usually
2. Traders will start to fill the levels closest to the bid.
3. Other more aggressive HFT traders will see the new fills and start to fill levels in front of them.
4. The spread will narrow to the minimum spread of 1 cent in most cases within moments.


Attached Files
Register to download File Type: xlsx NanoStructure Research.xlsx (275.1 KB, 1 views)
Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #19 (permalink)
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
 
Posts: 644 since Nov 2011

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.

https://www.cmegroup.com/confluence/display/EPICSANDBOX/Order+Types+for+Futures+and+Options



iantg View Post
Hi tpredictor,

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?

Ian


Started this thread Reply With Quote


futures io Trading Community Traders Hideout > Resting bids above market or offers below market?


Last Updated on January 15, 2018


Upcoming Webinars and Events
 

NinjaTrader Indicator Challenge!

Ongoing
 

Battlestations! Show us your trading desk - $1,500 in prizes!

March
 

Importance of Finding Your Own Way w/Adam Grimes

Elite only
 

Journal Challenge w/Jigsaw

April
     



Copyright © 2021 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts