NexusFi: Find Your Edge


Home Menu

 





A brief discussion on Limit Order Profit Targets


Discussion in Emini and Emicro Index

Updated
      Top Posters
    1. looks_one iantg with 4 posts (3 thanks)
    2. looks_two tpredictor with 2 posts (0 thanks)
    3. looks_3 will3333 with 2 posts (0 thanks)
    4. looks_4 Quick Summary with 1 posts (0 thanks)
    1. trending_up 1,936 views
    2. thumb_up 3 thanks given
    3. group 4 followers
    1. forum 8 posts
    2. attach_file 0 attachments




 
Search this Thread

A brief discussion on Limit Order Profit Targets

  #1 (permalink)
 iantg 
charlotte nc
 
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,148

Greetings All,

After taking a brake for a while I have delved back into building algorythm based trading systems again. I have recently uncovered a few things that I would like to share and hopefully start a fruitful discussion.

I have a variety of different profit targets and a variety of different stop losses I use and i have been running statistics on these to try to validate the expectancy is in line with some of my models. What I have found seems to suggest something interesting and I wanted to share to see if anyone has any similar experience or has further insight.

There has been a lot of discussion around limit orders as entries and how long queues lead to missed fills or bad fills (Pass-through vs. touch) and I have a firm handle on this topic, but in respect to exits specifically with profit targets it seems that some of the same factors are in play. When you place a profit target on a long position you are essentially placing a sell short limit order for example, so you will join a queue and wait in line just like everyone else. The same applies for a profit target on a short position. So here is the point: Statistically if I was to run a profit target of 3 ticks vs. a stop loss of 3 ticks and entry setups aside (for now forget about market orders vs. limit orders on entries), I would expect to win around 50% and lose around 50% all things even, but since stop losses are market orders they are always filled, and since profit targets are limit orders they are sometimes filled on the touch and sometimes filled on pass through. Now if you are using a short profit target such as 3 ticks, this will more than likely need to be a pass through to get filled. So in this example it explains why you end up with far worse than 50% / 50% odds, because the simulation you are really running is a PT of 4 vs. a SL of 3! A lot of people may or may not realize this dynamic, so I just wanted to throw this out there as friendly advice.

Now onto the discussion and feedback portion of this. If we raise the profit target to lets say 10 ticks and the stop loss to 20 ticks and there is some back and forth between these two, the trade can stay open for 30 minutes to an hour before the profit target is hit. So by the time it hits the 10 tick profit target this is highly likely to be filled on the touch because you were in the line at the very front of the queue an hour ago.

People that read the tape are often speculating on all the pending orders trying figure out their entries but I wonder how much of what is out there are really exits not entries just on the other side. This also suggests that most of the limit orders that are in the front of the queue are really people trying exit positions that have larger profit targets and not really people trying to enter a new position that placed a limit order 10 ticks away and just rested for an hour for example.

After doing some testing here is what I have found. Profit targets of 1,2,3,4,5 ticks, against stop losses < 5 ticks will likely need to be penetrated to the next tick before you will get a fill and exit. There are some exceptions obviously, if there is a large amount of back and forward fighting between your PT and SL before you get out, you can likely exit on a touch. By contrast if you have a PT of 10 or > vs an SL of 20 ticks or greater and you are in a trade for a while. 30 minutes to 1 hour, you have a higher probability of getting filled on the touch.

This may help people doing expectancy rationalization vs various levels of PT / SL statistics. I had to scratch my head for a while before I realized this. So I thought I would be friendly and share.

I do wonder where exactly the line is though. (touch vs. pass-through on the profit target exit). If anyone else has any experience, theories or ideas on this topic I would love to hear.

Happy trading!

Ian

Visit my NexusFi Trade Journal Started this thread Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
Better Renko Gaps
The Elite Circle
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
Cheap historycal L1 data for stocks
Stocks and ETFs
What broker to use for trading palladium futures
Commodities
 
  #3 (permalink)
 tpredictor 
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
Posts: 644 since Nov 2011


You might want to read some of Dr. Jonathan Kinley's stuff. Sorry tape reading is both much more then that and not characterized in that way.It is a way that traders process market information.

For limit order fills, you can break down your limit orders into those that exceed by at least one tick. You know those are filled for certain. Among the remaining, you must compute some probability of a fill based on some statistics or modeling measure. There are various ways of doing this. The book is typically stacked by liquidity providers and some institutional traders. They are always working orders. Right, you can also slip more then a tick too depending on the market.

As for the statistics for the remaining, you have some various options. You could run analysis of your live trades, try a simulation approach, or a modeling approach.

For the modeling approach, if you know the depth remaining when the market ticks away and the depth that was transacted then assuming a random arrival you will be able to compute your probability of fill. For example, if 100 transacted and 100 remained in the book then you would have a 50% fill probability. If 30 transacted and 100 remained then you'd have a 23% probability of fill. This would be your baseline estimate. This is assuming that it only ticked your target once. If you it did touch your target more then once then you would just aggregate it. Remember, it doesn't matter if you fill on first touch: all that matter is that you fill before your stop loss is hit.

You can also use a simulation approach. In this event, you have to track the depth from the moment it becomes visible in your simulator. You grab the depth at the moment you can see it. This gives you your pessimistic estimate. You keep a track of the min depth. You adjust down your pessimistic estimate to the min depth. Finally, you track the orders that transact at your level on first touch and compare that to your min depth. If the transacted exceeds min depth, you were filled.

But, one thing I have wondered also if the limit orders reset over the close time. Right, the earlier you put your orders in then the earlier in the queue you will be. But, also you will reveal your position. This makes it likely that someone might bid in front of your price level if you were placing a large order, of course. This is why most of the institutional liquidity is not displayed. It is "latent" or hidden.

Reply With Quote
  #4 (permalink)
 iantg 
charlotte nc
 
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,148

So in light of the fact that limit order exits (Profit Targets) will likely need one additional tick to get filled, there is an interesting idea that came to me.

A while back I posted an old bit of NT code that does a programmed trailing stop.

The idea is to try to capture both the higher winning percentage of tighter profit targets but also enjoy getting an occasional runner. It works pretty well conceptually, although the code I shared was very old and had a few flaws. (I haven't used this in a very long time). You could adapt this to use market orders as exits, limit orders as exists or a whole host of other exotic exits and it would likely pay off pretty well.

So here is the thought that came to me recently. If my likely hood of hitting a profit target at 5 ticks is really going to require me to go to 6 ticks in the green (Pass-through Limit exist order), why not just run a code that says the following:

If you are 6 ticks in the green, then set a new condition that if the market goes against you 1 tick get out. (Call this exit One). But then when you reach your 6 tick initial target, you put up a new target an additional 5-10 ticks beyond your initial target. You could theoretically parley this second target into a third target, and so fourth as many levels as you want. At each level you risk sliding back one tick to hit your initial shorter profit exit, but you potentially gain a new runner at every level.

In theory this should get you to the same expectancy as just a normal profit target but with the added bonus of catching a runner approximately 15%- 20% of the time. I am testing this one in the coming days. I may or may not post any follow ups to this, and likely shouldn't have even posted this much, but I'm a friendly guy.

Happy Trading,

Ian

Visit my NexusFi Trade Journal Started this thread Reply With Quote
Thanked by:
  #5 (permalink)
 iantg 
charlotte nc
 
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,148


tpredictor View Post
You might want to read some of Dr. Jonathan Kinley's stuff. Sorry tape reading is both much more then that and not characterized in that way.It is a way that traders process market information.

For limit order fills, you can break down your limit orders into those that exceed by at least one tick. You know those are filled for certain. Among the remaining, you must compute some probability of a fill based on some statistics or modeling measure. There are various ways of doing this. The book is typically stacked by liquidity providers and some institutional traders. They are always working orders. Right, you can also slip more then a tick too depending on the market.

As for the statistics for the remaining, you have some various options. You could run analysis of your live trades, try a simulation approach, or a modeling approach.

For the modeling approach, if you know the depth remaining when the market ticks away and the depth that was transacted then assuming a random arrival you will be able to compute your probability of fill. For example, if 100 transacted and 100 remained in the book then you would have a 50% fill probability. If 30 transacted and 100 remained then you'd have a 23% probability of fill. This would be your baseline estimate. This is assuming that it only ticked your target once. If you it did touch your target more then once then you would just aggregate it. Remember, it doesn't matter if you fill on first touch: all that matter is that you fill before your stop loss is hit.

You can also use a simulation approach. In this event, you have to track the depth from the moment it becomes visible in your simulator. You grab the depth at the moment you can see it. This gives you your pessimistic estimate. You keep a track of the min depth. You adjust down your pessimistic estimate to the min depth. Finally, you track the orders that transact at your level on first touch and compare that to your min depth. If the transacted exceeds min depth, you were filled.

But, one thing I have wondered also if the limit orders reset over the close time. Right, the earlier you put your orders in then the earlier in the queue you will be. But, also you will reveal your position. This makes it likely that someone might bid in front of your price level if you were placing a large order, of course. This is why most of the institutional liquidity is not displayed. It is "latent" or hidden.


Thank you for the idea and feedback on this topic. I imagine level 2 data could shed some light on this, though it wouldn't be super easy to build an automated strategy on these types of market events. I am leaning a little more towards some more crude level 1 type analysis that would be directionally accurate but not a silver bullet so to speak.

For example I could easily just run a code to count each time my profit target level is touched during the course of a trade. If = 1 then I likely got filled on first touch, if > 1 then I may have had to go through pass through, but I know I missed at least one good touch opportunity. I could also additionally run analysis post exit to see if the next tick was +1 of my profit target or if it stayed at my profit target. These two ideas could give me some good baseline statistics post trade. I could at least get a sense of where the lines were at. I assume that for PTs of 1 tick to 5 ticks, you will need passthrough, and conversely I assume for higher profit targets such as 20 ticks + you would likely get out on first touch, but the grey area between 5 ticks and 20 ticks is what I would like to explore with some historical statistics. I think I could uncover this pretty easily.

Thanks for your feedback.

Ian

Visit my NexusFi Trade Journal Started this thread Reply With Quote
  #6 (permalink)
 tpredictor 
North Carolina
 
Experience: Beginner
Platform: NinjaTrader, Tradestation
Trading: es
Posts: 644 since Nov 2011

I think limit order strategies favor the ability to place many trades/lots. I have been market making in BTC/USD which has given me some insight. Given the probabilistic nature of the fill and requirement to go against the order flow (which will put you negative off the bat), I suspect the working limit order strategies are trading multiple even many lots. For example, you might put an order close to market and some distance away from the market. The idea being that if market jumps against your near order then the far order will be filled and your average price is improved. I think if you are limiting, pun intended, yourself to trading 1 lot then focusing on market order strategies might be better. Or at least market on one side.. Right, the more times your price level is touched before your stop the higher the probability of fill.

Right, a more basic analysis look at the following:

1. Count of your limits targets are exceeded before stop hits. These are guaranteed fills.
2. Count of your limit targets not touched before stop hits. These are guaranteed losses.
3. Count of how limits that are touch but not exceeded before stop loss. These are probabilistic fills.

Because #3 are probabilistic, you cannot be certain the strategy will be profitable or not unless it is at least minimally profitable under conditions that #3 are counted at a very low fill rate. The actual fill rate will probably fluctuate. But, unless you have ability to fine-tune your strategy for different conditions the easier thing to do is assume that #3 fills are filled at some low probability such as 25% of the time. We're assuming you are entering on market and exiting limit. I think it is possible to develop such a strategy. If you need to "enter on limit" and "exit on market' then it becomes more difficult to verify because your entries might not ever be filled.

Having said that, as a tape reader, I can tell you that often entering on market in the liquid futures is akin to just blindly giving up the spread. It is often not at all needed to get a fill. Sometimes, yes. Sometimes it is not clear. In that respects, energy might be spent on probabilistic "sub engine" that can weight these sorts of things. Of course, we're still talking about gaining fraction of a spread. So your overall strategy profitability will still be critical.

Reply With Quote
  #7 (permalink)
 will3333 
Canada, Toronto
 
Experience: Intermediate
Platform: Sierra Chart
Trading: Energy, Metals, FX
Posts: 14 since Oct 2016
Thanks Given: 23
Thanks Received: 5

Have you considered multiple contracts exit strategies to take advantage of potential runners?

For 2 contracts, you set 1 profit target that can be easily hit (e.g. 5 ticks). When the profit target is hit, you move the stop loss for the 2nd contract to breakeven point and activate trailing stop mode.

For 3 contracts, you can set 2 profit targets at 5 ticks. When profit targets are hit, you move the stop for the 3rd contract to the 5 ticks above entry to lock in 5 ticks of profits and activate trailing stop mode.

Reply With Quote
  #8 (permalink)
 iantg 
charlotte nc
 
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,148

Hi Will,

Interesting concept. I have heard of this before, as I believe quite a lot has been written on the topic. I have heard of discretionary traders doing this alot, and there may be some programmers that have coded this.

I tried to adapt a few pieces of code similar to this idea but the issue I ran into was that in NinjaTrader you can't run a stoploss and a trailing stop on the same position on the same order. https://ninjatrader.com/support/helpGuides/nt7/?settrailstop.htm

The way I would want to handle this scenario is to first set a hard stop loss, and then and only if the first target was reached, I would want to convert the stop loss to a trailing stop. I am not sure if this is possible... There are ways to simulate this type of thing using some logic like: If position is > or < then X, Exit long or Exit short, but you lose the benefit of having the order at the exchange and you are working off of your computer. Not the biggest deal in the wold, but I could see a small disadvantage.

I never like to use trail stops initially because they are 90% likely to wipe you out with either a smaller profit or a small loss, because the market moves back and forth so much. A hard stop loss against a hard profit target is way better initially. But it would be neat to parley the first target for additional gains....

I think the next thing I am going to code will be similar to this idea but not a true trailing stop. Here is the idea.

Start with PT = 10 ticks and SL = 10 ticks. (Just keep it simple for illustrative purposes.) Once the price moves 5 ticks in your favor you move the goal post. From 5 ticks profit you parley another run at the same thing (10 ticks back, 10 ticks forward). Then once you move another 5 ticks forward (i.E your original target), you parley this again. (10 ticks back, 10 ticks forward). You can do this 3-4 levels or more, eventually you will get stopped out, but by the time this happens you will already cleared 2 to 3x your original target. (Assuming the market kept moving in your favor). Trailing in my opinion won't be as good as just re-uping your profit target and stop loss because the market needs room to breath and play out, but it also needs a hard line in the sand.

Here is the obvious downside (And back to the original point of this post). The first time you set a profit target of 10 ticks, this may likely be hanging out in the queue long enough that this would be a nice touch exit. Where price doesn't need to go to 11 ticks to get you out. But as you keep moving the line by increments of 5 or 10 with each improvement in price, you will go to the back of the queue with each adjustment. So when you finally do hit your profit target, it will likely be in a quick move to your target that requires pass through (So there is that extra tick.)

I will code up a few different flavors of this and test the expectancy of each and report back. I think they will all work as the concept of runners definitely works and I have tested a few variations already, so we will see.

Thanks,

Ian

Visit my NexusFi Trade Journal Started this thread Reply With Quote
  #9 (permalink)
 will3333 
Canada, Toronto
 
Experience: Intermediate
Platform: Sierra Chart
Trading: Energy, Metals, FX
Posts: 14 since Oct 2016
Thanks Given: 23
Thanks Received: 5

You could program an "synthetic" trailing stop that looks at the last price, rather than the highs and lows. The synthetic stop will execute a market order exit only when the price closes below a trailing level.

You will suffer from the bid-ask spread and some slippage but this will prevent you from being stopped out by spikes in the highs or lows.

Reply With Quote




Last Updated on November 11, 2017


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
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.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts