Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

BlueHorseshoe

Ensuring a Fill at Limit Price - How Early Must an Order Be Placed?

Recommended Posts

Does anybody know of any study about just how far in advance one needs to place a limit order to be pretty much ensured of a position very near to the front of the order queue?

 

When I backtest intraday strategies, with orders entered sometimes just minutes before a potential fill, then I require price to trade through my limit order before the order is considered to have been executed by the backtest. I am backtesting a swing trade strategy where orders are placed a day before, and I'm wondering whether I need to do the same, or whether placing an order this early makes a fill at limit very highly likely?

 

Oh, and I'm looking at the @ES contract.

 

Many thanks.

 

Bluehorseshoe.

Share this post


Link to post
Share on other sites

Unless something is different, when price trades "Through" your limit you are guaranteed a fill... when it ticks your price that is a whole different matter.

 

For system design you must test with the assumption of worst conditions..you can never assume you were filled at the limit unless traded through..

Share this post


Link to post
Share on other sites
Unless something is different, when price trades "Through" your limit you are guaranteed a fill... when it ticks your price that is a whole different matter.

 

For system design you must test with the assumption of worst conditions..you can never assume you were filled at the limit unless traded through..

 

Hi Roztom,

 

Thanks for your reply. My understanding is exactly as you describe, and when I becktest I always do require price to trade through a limit order before considering it as filled. So I test with the assumption of worst conditions, as you suggest.

 

However, my purpose with this thread is to enquire how much worse might the backtest conditions be than what would actually have been realised trading the same (historical) market data.

 

Knowing the worst case scenario is obviously the essential piece of information for system design, but having a way to estimate a best case scenario with limit orders would also be useful. I then know a range of likely outcomes for trading in real time.

 

There are certainly circumstances in which a fill would be very likely at limit. For instance, suppose that I place a sell limit order today at a level three hundred points above the close. Now suppose that price does not trade up to that level until two years hence. Chances are (I imagine) that I'm front of the queue, even though thousands of orders may be queued there by the time the market trades to that level. There simply won't be many limit orders sitting on the order books for two years at any particular price level.

 

Many thanks if anyone is able to provide any more definite info on this . . .

 

Bluehorseshoe

Share this post


Link to post
Share on other sites

It is odd because I was going to ask the same question too. In the last two days I placed orders to buy or sell the SPemini about two hours prior to the price arriving at that location

 

I could not get filled unless the price went through my bid/offer location. I have trade station as my main execution platform but I have also Transact as my secondary platform

 

In the past I noticed that even when I placed the same price order but first I entered my order at Trade Station the order from Transact was executed first even though I placed the order last

 

I have each platform on a different computer I wonder why it has happened does anyone had the same problem?

 

Reflecting back on the situation I think since Trade Station “filters” the tick data this might be the reason why it is lagging, the second reason might be since Transact does not “filter “their tick data the price jumps back and forth so fast that I could not see it going through my bid /offer price

 

Do you have any reasonable idea to why this is happening I would like to hear from you as well?

Share this post


Link to post
Share on other sites
Hi Roztom,

 

Thanks for your reply. My understanding is exactly as you describe, and when I becktest I always do require price to trade through a limit order before considering it as filled. So I test with the assumption of worst conditions, as you suggest.

 

However, my purpose with this thread is to enquire how much worse might the backtest conditions be than what would actually have been realised trading the same (historical) market data.

 

Knowing the worst case scenario is obviously the essential piece of information for system design, but having a way to estimate a best case scenario with limit orders would also be useful. I then know a range of likely outcomes for trading in real time.

 

There are certainly circumstances in which a fill would be very likely at limit. For instance, suppose that I place a sell limit order today at a level three hundred points above the close. Now suppose that price does not trade up to that level until two years hence. Chances are (I imagine) that I'm front of the queue, even though thousands of orders may be queued there by the time the market trades to that level. There simply won't be many limit orders sitting on the order books for two years at any particular price level.

 

Many thanks if anyone is able to provide any more definite info on this . . .

 

Bluehorseshoe

 

I'm not sure what the point would be to want to assume you might be filled at your limit when the probabilities are you won't be..at least for system design you should always assume you won't.. As far\as the Que, that is not quantifiable...

 

If you are designing a system it must work under adverse conditions not ideal ones... :2c:

Share this post


Link to post
Share on other sites
It is odd because I was going to ask the same question too. In the last two days I placed orders to buy or sell the SPemini about two hours prior to the price arriving at that location

 

I could not get filled unless the price went through my bid/offer location. I have trade station as my main execution platform but I have also Transact as my secondary platform

 

In the past I noticed that even when I placed the same price order but first I entered my order at Trade Station the order from Transact was executed first even though I placed the order last

 

I have each platform on a different computer I wonder why it has happened does anyone had the same problem?

 

Reflecting back on the situation I think since Trade Station “filters” the tick data this might be the reason why it is lagging, the second reason might be since Transact does not “filter “their tick data the price jumps back and forth so fast that I could not see it going through my bid /offer price

 

Do you have any reasonable idea to why this is happening I would like to hear from you as well?

 

This is just a guess, but going on the fact that there is a difference between the two platforms, I would guess that this may be to do with how you have the TS platform set up. There are options within tradestation whereby the limit order can be held on the exchange's order books, or where it can be held on tradestation's server until the limit price is hit, or where it can be held on your own computer until the limit price is hit. I'm guessing that you are set up with one of the latter two options and not the first. This means that your order doesn't reach the exchange until other limits at your desired price have begun to fill, and you get thrown in at the back of the queue.

 

I hope that's correct/helpful.

Share this post


Link to post
Share on other sites
I'm not sure what the point would be to want to assume you might be filled at your limit when the probabilities are you won't be..at least for system design you should always assume you won't.. As far\as the Que, that is not quantifiable...

 

If you are designing a system it must work under adverse conditions not ideal ones... :2c:

 

Hi Roztom,

 

I'm probably not doing a very good job of explaining myself. When I develop a strategy I do assume the worst case scenario. So my question about fills is for 'information' only - I just like to be aware the range of possibilites surrounding what I'm doing.

 

Bluehorseshoe

Share this post


Link to post
Share on other sites
Hi Roztom,

 

I'm probably not doing a very good job of explaining myself. When I develop a strategy I do assume the worst case scenario. So my question about fills is for 'information' only - I just like to be aware the range of possibilites surrounding what I'm doing.

 

Bluehorseshoe

 

Personally I don't think it is worth considering - but that's just me.. Good Luck

Share this post


Link to post
Share on other sites
Hi Roztom,

 

 

However, my purpose with this thread is to enquire how much worse might the backtest conditions be than what would actually have been realised trading the same (historical) market data.

 

they will always be worse. :(....how much will largely be depandant on number of trades, magnitude of wins v losses v costs v slippagge etc;

backtesting only gives an indication of what would occur- what you would expect- if the same conditions where to occur in the future and the reality is you by adding extra volume into the live market then actually do affect the market.

All you can do is be conservative, overestimate slippage and then tweak systems once live by benchmarking the results of the continued backtested system v live trading to compare and see where improvements can be made. It might be the one or two trades that a missed that completely throw off a system.

Share this post


Link to post
Share on other sites
I am backtesting a swing trade strategy where orders are placed a day before, and I'm wondering whether I need to do the same, or whether placing an order this early makes a fill at limit very highly likely?

 

Unscientifically based opinion: with an order placed this far in advance, assume the fill.

Share this post


Link to post
Share on other sites

I could not get filled unless the price went through my bid/offer location. I have trade station as my main execution platform but I have also Transact as my secondary platform

..

Do you have any reasonable idea to why this is happening I would like to hear from you as well?

 

Sounds like a simulation trade?

Share this post


Link to post
Share on other sites
Unscientifically based opinion: with an order placed this far in advance, assume the fill.

 

Hi Joshdance,

 

Thanks for that. This is my suspicion also, and it has been confirmed by both the negligble difference in results when testing with the at/through fill requirements, and also in live trading. I'm just curious about where this starts to change really - I know that orders placed minutes before are are unlikely to be filled unless price trades through the limit. I was hoping that someone might be able to point me towards some information from the exchange or an independent report on this.

 

Thank you for your reply.

Share this post


Link to post
Share on other sites
they will always be worse. :(....how much will largely be depandant on number of trades, magnitude of wins v losses v costs v slippagge etc;

backtesting only gives an indication of what would occur- what you would expect- if the same conditions where to occur in the future and the reality is you by adding extra volume into the live market then actually do affect the market.

All you can do is be conservative, overestimate slippage and then tweak systems once live by benchmarking the results of the continued backtested system v live trading to compare and see where improvements can be made. It might be the one or two trades that a missed that completely throw off a system.

 

Hi SIUYA,

 

I agree that future system performance is likely to be worse, but accurate backtesting should closely resemble what would have been achieved trading that exact same historical data in real time. Slippage is not an issue - there is only positive slippage with limit orders.

 

When I backtest a strategy and require price to trade through my limit, then the result would be the absolute minimum that could have been achieved were I actually trading that market. And when I require price to trade only at limit, then that is the very best that could be achieved. The question is, how can I estimate what would actually have been achieved? Obviously this must lie somewhere between the minumum and maximum performance possibilities (it is likely to be the product of trades executed when price traded through the limit, with just some additional trades thrown in that were executed at limit because I was near the front of the order queue.

 

Bluehorseshoe

Share this post


Link to post
Share on other sites

I think thats the best you can get.....somewhere in between as JoshDance says its all a guess and you need to make assumptions.

Plus while take profit levels and entry levels can certainly be fairly accurately guesstimated, any stops might be a different story....so there is likely to be slippage - how much an impact is debatable (and later measurable)

Additionally there is the issue of missing trades - both winners and losers, unless you have 24 hours IT, trading and other support, you will go on holidays, your computers will crash etc; etc;....hence backtests are a guesstimate of what to expect - or at least thats the angle I take from them. :)

 

So yes - its one of those things where you have to understand the limitations of the system and expect the worst - then and its probably only a slim chance - you might be pleasantly surprised :)

In regard your first question - some brokers purge old orders as well, so placing some orders years in advance may still not be enough. There will be the additional issue of being able to replicate the assumptions in any test in the reality of not just the markets, but also the broker system.....eg; can the broker handle longs and shorts separately, will the system be able to know its 100% filled - what about partials, will the broker allow you leeway to offset hedged instruments or is margin, margin calls and increasing margin calls a possible issue.....etc; etc; etc;.....the never ending joys :)

Share this post


Link to post
Share on other sites
I think thats the best you can get.....somewhere in between as JoshDance says its all a guess and you need to make assumptions.

Plus while take profit levels and entry levels can certainly be fairly accurately guesstimated, any stops might be a different story....so there is likely to be slippage - how much an impact is debatable (and later measurable)

Additionally there is the issue of missing trades - both winners and losers, unless you have 24 hours IT, trading and other support, you will go on holidays, your computers will crash etc; etc;....hence backtests are a guesstimate of what to expect - or at least thats the angle I take from them. :)

 

So yes - its one of those things where you have to understand the limitations of the system and expect the worst - then and its probably only a slim chance - you might be pleasantly surprised :)

In regard your first question - some brokers purge old orders as well, so placing some orders years in advance may still not be enough. There will be the additional issue of being able to replicate the assumptions in any test in the reality of not just the markets, but also the broker system.....eg; can the broker handle longs and shorts separately, will the system be able to know its 100% filled - what about partials, will the broker allow you leeway to offset hedged instruments or is margin, margin calls and increasing margin calls a possible issue.....etc; etc; etc;.....the never ending joys :)

 

Hi SIUYA,

 

Thanks - that's a really helpful response. I was of course ignoring IT/technical issues, and hadn't really considered the brokerage issues that you mention (although my suggestion of placing orders years in advance was just an extreme example - but it is interesting to know that old orders can be purged). Nor have I really considered anything beyond a single contract in backtesting intraday - I've been making a rather lazy assumption that compounding will be beneficial, although I haven't really wondered about partial fills on large orders, so that's plenty to think/worry about. Cheers for your help!

 

Bluehorseshoe

Share this post


Link to post
Share on other sites

The fact is that if you are backtesting then by default you are sim trading ie. with a strategy. In the sim mode and live trading mode the order within a strategy will always be resident to the computer until hit by price. If TS filters ticks this would be an issue when backtesting. If you are live trading manually and create a bracket or limit order within the matrix window or DOM then the order is resident to the exchange and not your computer. Unfortunately there is no way of knowing just how far in advance you must place the trade to be first in queue as there are to many variables as to lot size and so forth. You may get a partial fill if touched and wait as the other contracts are filled as the market trades through the price. I trade the Russell and I have been filled when the price of my limit is just touched and not traded through ( a trade that I placed sometimes seconds earlier). I would say when trading 1 lots ( live trading ) I have experienced a fill rate of 60+% on the Russell when price just touches my limit without trading through it this never happened for me on the ES.

Share this post


Link to post
Share on other sites
The fact is that if you are backtesting then by default you are sim trading ie. with a strategy. In the sim mode and live trading mode the order within a strategy will always be resident to the computer until hit by price. If TS filters ticks this would be an issue when backtesting. If you are live trading manually and create a bracket or limit order within the matrix window or DOM then the order is resident to the exchange and not your computer. Unfortunately there is no way of knowing just how far in advance you must place the trade to be first in queue as there are to many variables as to lot size and so forth. You may get a partial fill if touched and wait as the other contracts are filled as the market trades through the price. I trade the Russell and I have been filled when the price of my limit is just touched and not traded through ( a trade that I placed sometimes seconds earlier). I would say when trading 1 lots ( live trading ) I have experienced a fill rate of 60+% on the Russell when price just touches my limit without trading through it this never happened for me on the ES.

 

Hi Pittrader,

 

Thanks for your reply. TradeStation can be set up so that the a strategy order is resident to the exchange rather than sitting on the computer (resident to the TS servers is a third option). In other words, the order is placed exactly the same as if it were placed manually on the DOM.

 

Your information on the order fills for the Russell vs ES are extremely helpful.

 

Cheers,

 

Bluehorseshoe

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.