The Ins and Outs of Scaling Out
In
general, scaling out means exiting part of your position at one price
and part at another price. There may be several different exits for the
same system. By comparison, scaling in means building a position
by entering the market at different prices, also known as pyramiding.
For purposes of this discussion, I'll assume that all entries occur at
the same price; i.e., scaling out will be examined in the absence of
scaling in.
Scaling out is often presented
as a way to reduce overall position risk. For example, if you enter long
with two contracts and the market moves in your favor, you might sell
one contract at a fairly tight target, then let the other contract ride.
If the market continues in your favor, you would benefit from the
contract you still hold. On the other hand, if the market reverses, you
at least profited from the first contract.
More precisely, here is the
basic scale-out approach I'll discuss: Enter with the full position at
one price. Set a money management stop for the entire position, and set
a relatively tight profit target for one-half the position. If the
target is hit, move the stop to breakeven and trail a stop for the
remaining half of the position.
I
coded these exits into a trading system for the mini Russell using
EasyLangauge for TradeStation. The strategy, named ScaleOutCombo,
is available on my
download page.
The system enters based on a price pattern in combination with a moving
average and a channel breakout. The price pattern was identified using
the automated system generation approach that I developed in my
September 2007 newsletter. ScaleOutCombo is limited to short trades
only.
Two representative trades are
shown at left on 15 min bars in the mini Russell 2000 futures. In each
trade, the system initially went short two contracts. In the first
trade, the target was hit, and the market continued to move down until
the second contract was exited at the end of the day. This is the
best-case scenario. The second trade illustrates what happens when the
market reverses after the target is hit. In this case, the trailing stop
kicked in, and the second contract was exited with a slight, basically
break-even, profit.
Breaking it Down
Scaling out as presented above
certainly seems like a reasonable approach to exiting a position. It's
based on the idea of hedging your bets by exiting at different prices
rather than exiting everything at one price. It's a kind of
diversification, which is often touted as the only free lunch in trading
and investing. Nonetheless, even trading ideas with seemingly
unassailable logic need to be tested. Reasonableness is no substitute
for rigorous testing.
To test scaling out, consider
that a trading system with multiple exits and a single entry is
equivalent to multiple trading systems in which each trading system has
the same entry but a different exit. For example, in the scaling-out
approach described above, the first system would exit using the profit
target and the money management stop. The second system would use the
same initial money management stop but instead of placing a profit
target, it would move the stop to breakeven and start to trail the stop
when the market hit the "target" price. If each of these systems traded
one contract, trading them together would be the same as trading the
original system with an initial position size of two contracts.
The advantage of breaking the
scaling-out system into two systems is that it allows us to analyze each
exit separately. To illustrate, I took the ScaleOutCombo system and
separated it into two systems: ScaleOutTarg and ScaleOutTrail. The
former implements only the target exit while the latter implements only
the trailing stop. When combined, the two systems exactly replicate
ScaleOutCombo. To see how this is done in EasyLanguage code, I've
include all three systems in the same EasyLanguage file on my download
page.
Analysis and Results
If scaling out is always a good
approach, then we should find better risk-adjusted results from the
combination system, which includes both exit types, than from either
separate system with one exit type only. In other words, the system
ScaleOutCombo should perform better than either ScaleOutTarg or
ScaleOutTrail.
To see if this is the case, I
used the position sizing program
Market System Analyzer
(MSA) to combine the results from ScaleOutTarg and ScaleOutTrail
into a portfolio. With the same number of contracts per trade for each
system, the combined equity curve is the same as the equity curve from
the original system, ScaleOutCombo.
Figure 1. Equity curve for
ScaleOutCombo on 15 min bars of the mini Russell 2000, 1/2003 - 3/2009.
Each exit consists of two contracts.
The combined equity curve is
shown above in Fig 1. To compare "apples to apples", it's necessary to
normalize the results in terms of risk. One way to do this is look at
the maximum peak-to-valley drawdown. Comparing rates of return for the
same maximum drawdown provides a fair comparison. In Fig. 1, the number
of contracts was adjusted to maximize the rate of return without
exceeding 30% max drawdown. This was achieved with two contracts for
each system: two for ScaleOutTarg and two for ScaleOutTrail.
Trading the same number of
contracts for each part of the scale-out exit is the basis of the
original scaling-out approach. However, now that the different exit
types are assigned to separate systems, we're not limited to trading the
same number of contracts for each exit type. The MSA software can
optimize the allocation between the systems to maximize the rate of
return subject to the specified limit of 30% max drawdown.
Figure 2. Equity curve for
ScaleOutTarg and ScaleOutTrail on 15 min bars of the mini Russell 2000,
1/2003 - 3/2009. ScaleOutTrail trades five contracts, while ScaleOutTarg
trades zero contracts.
The result of performing this
optimization is shown in Fig. 2. It turns out that the optimal
allocation between ScaleOutTarg and ScaleOutTrail is five contracts per
trade for ScaleOutTrail and zero contracts for ScaleOutTarg. All equity
is allocated to the trailing stop. In other words, the optimal solution
is to exit the entire position according to the trailing stop rather
than splitting it between the target and trailing stop. Just as in Fig.
1, the worst-case drawdown for this optimal allocation is less than 30%.
However, the resultant net profit has increased from $82k to $129k, and
the profit factor and Sharpe ratio are higher as well. In case you're
wondering if this result is due to the fixed position size, the same
result was found with fixed fractional position sizing.
It just happens that for this
trading system on this market, the trailing stop is superior to the
target exit. I should mention that I initially optimized the inputs for
the ScaleOutCombo system in TradeStation to generate the maximum rate of
return relative to drawdown with the stipulation that the target exit
should be visibly smaller (closer to the entry) than the trailing stop
exits. The latter requirement was to insure that the two exits were
sufficiently different. The point is that the size of the target was
chosen to be optimal in combination with the trailing stop. Nonetheless,
when considered as separate exits, this analysis suggests that the
trailing stop is dominant and that the target should not be traded at
all.
This raises one other question:
given that the target exit is not contributing anything in combination
with the trailing stop, would we get better results optimizing the
parameter values of each system separately? Since we've separated the
original system, ScaleOutCombo, into two separate systems based on exit
type, we can simply optimize the inputs for each separate system in
TradeStation.
If we optimize the inputs for
ScaleOutTarg in TradeStation, we find that the optimal target size is
much larger than what we found when the target was combined with the
trailing stop. In fact, perhaps not surprisingly, the length of the
trades from the optimal target size is very close to the length of the
trades from ScaleOutTrail. In other words, optimizing the target exit by
itself transforms ScaleOutTarg into a system that looks much more like
ScaleOutTrail. If we then combine the separately optimized systems in
MSA and optimize the position size for the portfolio, we find the exact
opposite of what we found before; namely, all contracts are now
allocated to ScaleOutTarg.
So, when the target is
optimized by itself, it appears to out-perform the trailing stop for
this trading system and market. Even on a risk-adjusted basis, the
optimal target beat the optimal trailing stop. The optimal target also
beat the optimal scaled-out exit.
Conclusions
Scaling out of a trade may be
the best exit strategy for some trading methods or systems. However,
this study suggests that scaling out may not always be the best
approach. In some cases, a well designed single exit may be better, even
on a risk-adjusted basis, than scaling out.
I think the more important
message is that it's necessary to analyze your exits, both by themselves
and in combination, before drawing conclusions. As demonstrated in this
article, exiting by scaling out is equivalent to combining multiple
trading systems into one. In order to fully determine the value of
scaling out, it's necessary to separate the different exit types into
separate systems and analyze each system separately and in combination.
Only then is it really possible to determine if it's better to scale out
or exit the entire position at once.