First time poster, long time lurker here. I've been able to extract some decent information from this site over the years, and thought it was time for me to finally get off my ass and give something back.
So I was reading Buy1Sell2's mammoth "Inferior Behavior" thread the other day, which generated quite a bit of fireworks over quite a long, ponderous period.
I should confess that prior to reading that thread I was squarely in the pro-scaling camp, but after foraging through all of its 1300+ posts I actually began to have some doubts. So I decided to run some simulations to try and prove for myself whether scaling out of positions truly makes any sense.
So using Visual C++, I coded up three groups of tests; Each test generates an equity curve from 100,000 trades using one exit technique (timestop only, stop/target, stop only, target only, trailing stop, and scaling out). Each trade is simulated by generating a time series of 500 steps, incrementing/decrementing by one tick at each step with a specified probability.
The simulated scaling out exit uses a stop and two targets, scaling out half at the first target and moving the stop to the entry. The timestop exit simply holds and exits at the last step of the time series.
Anyway, here's a summary of the results:
Test #1: Trading With Zero Edge
The first test group used a 50% uptick probability for all trades, thereby simulating trading with no edge. As expected, none of the exits generated a significant positive expectation, although scaling out generated the largest absolute return. The various stop/target ratios affected the win probability, but had no effect on expectation. The timestop generated the largest drawdown, and interestingly scaling out generated the lowest drawdown while maintaining a higher win probability. On a risk adjusted basis (i.e.: totalreturn/maxDD), none of the exits outperformed the others.
Test #2: Trading With A Positive Edge
The next test group used a 51% uptick probability, therefore simulating trading with an edge. The simple timestop generated the highest expectation, while the various stop/target generated lower returns, but with higher win probabilities. Scaling out generated some of the lowest returns, but also the lowest drawdowns. But most surprising is that on a risk adjusted basis, the simple timestop also outperformed by a wide margin, with the stop with no target and trailing stop exits coming in second. And unexpectedly, scaling out was one of the lowest performers on a risk adjusted basis.
Test #3: Trading With A Negative Edge
The final test group used a 49% uptick probability, simulating trading with a negative edge. The simple timestop generated the worst expectation as well as the worst drawdowns. Scaling out generated the highest expectation and lowest drawdowns, as well as the highest win probability. On a risk adjusted basis, scaling out took first place and the timestop came in last.
The results were interesting, in most cases confirming the obvious, but at closer inspection there were a few surprises - I've attached the results in a text file (its tables are pretty wide, so turn of word wrapping and maximize your window to preserve the formatting). Note that the results are reported in absolute ticks gained/lost (not percentages). "Sum" is the total return, "maxDD" is the maximum drawdown, "Trade Mean" is the trade expectation, and WinProb is the percentage of trades that were winners.
Conclusions
The tests seem to indicate that if you're trading with a positive edge, any exit will make you money. But the simple time stop generated the largest returns, both on an absolute and risk-adjusted basis. The tests also seem to support the assertion that scaling out offers no real advantage and perhaps truly is inferior behavior.
It appears that both stops and targets are also fool's gold, accomplishing nothing but modifying win probabilities, while reducing returns and increasing drawdowns. However, it does appear that a stop without a target (i.e., "let your winners run") has the best risk adjusted return of the systems that used stops.
The tests also indicate that if you have no edge (or a negative edge), scaling out appears to limit drawdowns while maintaining a higher win probability (this may explain its popularity among some traders). It appears to allow a longer, less bumpy ride to the bottom.
The edgeless tests didn't appear to support the notion that one can trade with random entries, and that exits alone can somehow turn a zero-expectation system into a positive one.
One important caveat to the market model used by the simulations is that it assumes that any edge will last for the duration of each time series (which explains why the simple timestops out performed all other strategies on a absolute basis). But since the model makes no assumptions about absolute time (each time step can be considered to be a microsecond or a day), this may be of no consequence. The stop/target exits also benefit from this bias, and as they are moved further from the entry, their returns will approach that of a timestop.
Anyway, my personal conclusion is that complicated exit strategies don't appear to buy you much of anything. In most cases, its probably better to focus on your entry setups and just use a timestop to exit.
Obviously, these tests are in no way 100% conclusive as the simplified market model makes some very narrow assumptions. But it was fun to code and I think it yielded some useful info, for me at least.
Any criticisms or comments are certainly welcome...
So I was reading Buy1Sell2's mammoth "Inferior Behavior" thread the other day, which generated quite a bit of fireworks over quite a long, ponderous period.
I should confess that prior to reading that thread I was squarely in the pro-scaling camp, but after foraging through all of its 1300+ posts I actually began to have some doubts. So I decided to run some simulations to try and prove for myself whether scaling out of positions truly makes any sense.
So using Visual C++, I coded up three groups of tests; Each test generates an equity curve from 100,000 trades using one exit technique (timestop only, stop/target, stop only, target only, trailing stop, and scaling out). Each trade is simulated by generating a time series of 500 steps, incrementing/decrementing by one tick at each step with a specified probability.
The simulated scaling out exit uses a stop and two targets, scaling out half at the first target and moving the stop to the entry. The timestop exit simply holds and exits at the last step of the time series.
Anyway, here's a summary of the results:
Test #1: Trading With Zero Edge
The first test group used a 50% uptick probability for all trades, thereby simulating trading with no edge. As expected, none of the exits generated a significant positive expectation, although scaling out generated the largest absolute return. The various stop/target ratios affected the win probability, but had no effect on expectation. The timestop generated the largest drawdown, and interestingly scaling out generated the lowest drawdown while maintaining a higher win probability. On a risk adjusted basis (i.e.: totalreturn/maxDD), none of the exits outperformed the others.
Test #2: Trading With A Positive Edge
The next test group used a 51% uptick probability, therefore simulating trading with an edge. The simple timestop generated the highest expectation, while the various stop/target generated lower returns, but with higher win probabilities. Scaling out generated some of the lowest returns, but also the lowest drawdowns. But most surprising is that on a risk adjusted basis, the simple timestop also outperformed by a wide margin, with the stop with no target and trailing stop exits coming in second. And unexpectedly, scaling out was one of the lowest performers on a risk adjusted basis.
Test #3: Trading With A Negative Edge
The final test group used a 49% uptick probability, simulating trading with a negative edge. The simple timestop generated the worst expectation as well as the worst drawdowns. Scaling out generated the highest expectation and lowest drawdowns, as well as the highest win probability. On a risk adjusted basis, scaling out took first place and the timestop came in last.
The results were interesting, in most cases confirming the obvious, but at closer inspection there were a few surprises - I've attached the results in a text file (its tables are pretty wide, so turn of word wrapping and maximize your window to preserve the formatting). Note that the results are reported in absolute ticks gained/lost (not percentages). "Sum" is the total return, "maxDD" is the maximum drawdown, "Trade Mean" is the trade expectation, and WinProb is the percentage of trades that were winners.
Conclusions
The tests seem to indicate that if you're trading with a positive edge, any exit will make you money. But the simple time stop generated the largest returns, both on an absolute and risk-adjusted basis. The tests also seem to support the assertion that scaling out offers no real advantage and perhaps truly is inferior behavior.
It appears that both stops and targets are also fool's gold, accomplishing nothing but modifying win probabilities, while reducing returns and increasing drawdowns. However, it does appear that a stop without a target (i.e., "let your winners run") has the best risk adjusted return of the systems that used stops.
The tests also indicate that if you have no edge (or a negative edge), scaling out appears to limit drawdowns while maintaining a higher win probability (this may explain its popularity among some traders). It appears to allow a longer, less bumpy ride to the bottom.
The edgeless tests didn't appear to support the notion that one can trade with random entries, and that exits alone can somehow turn a zero-expectation system into a positive one.
One important caveat to the market model used by the simulations is that it assumes that any edge will last for the duration of each time series (which explains why the simple timestops out performed all other strategies on a absolute basis). But since the model makes no assumptions about absolute time (each time step can be considered to be a microsecond or a day), this may be of no consequence. The stop/target exits also benefit from this bias, and as they are moved further from the entry, their returns will approach that of a timestop.
Anyway, my personal conclusion is that complicated exit strategies don't appear to buy you much of anything. In most cases, its probably better to focus on your entry setups and just use a timestop to exit.
Obviously, these tests are in no way 100% conclusive as the simplified market model makes some very narrow assumptions. But it was fun to code and I think it yielded some useful info, for me at least.
Any criticisms or comments are certainly welcome...