What Stop-Loss Should I Use? An Analysis.

Many traders use stop-losses in their techniques to minimize losses. But what is the right stop-loss to choose? 3%? 9%? 15%? In this research project, I tried to answer that question and find optimal stop-losses.

I used a simple conditional probability model to find optimal stop-losses for tech stocks satisfying the following criteria:
- $1 -$10bn market cap
- Middle 75% in volatility
- Middle 75% in volume

I found that stop-losses are not useful for protecting against future losses. Main reasons:
1. Percent loss so far is not a good predictor of further losses.
2. It appears that when given a percent loss, the investor can, on average, expect to gain back substantially by staying invested, waiting for the rebound, and then selling.

There is still much work to be done -- this is a very big topic, and I've only put a small dent in it. In the notebook, I indicated opportunities for further investigation. Engage the analysis by:
1. Cloning the notebook
2. Playing with the parameters (it's easy! The final section explains how).
3. Sharing what you find! I'd be interested in further collaboration.

Error Correction July-28-2015: In the "get_volatility" function, the line volatility = sigma_period * math.sqrt(len(opens)) should actually be volatility = sigma_period / math.sqrt(len(opens)). Thankfully, this doesn't impact the results at all.

11
9 responses

Hi John,

I think that's a really interesting analysis, thank you for posting it. (Aside: I always find it funny to think there are only two modes for a price series: you're either making a new high or you're in a drawdown.)

If you change get_future_price to return the minimum in the next 365 days, you also get some interesting results (it appears you can expect 20% drawdown at least).

Is the mean the best way of characterising the data? Changing mu = numpy.mean(values) for median lifts the line for future minimum. I would expect median to be less affected by extremes (I see you've filtered for middle volatility though). Just a thought.

James: thanks for your astute comments. It is difficult to characterize the data in an actionable way because of its spread. Using the median might be a little bit more robust than the mean. However -- converting either into a trading signal is somewhat tricky. (If you turn the mean or median into a "target" to sell at, then you miss out on the profits from stocks that exceed the target, and have to figure out what to do with the stocks that don't reach the target.)

And regarding drawdown -- yes, you are right. I implemented some algos to try using some of the results that came out of this investigation. Unfortunately, the strategies I've tried all share a high drawdown (as expected) and a high beta.

Ji John,
Stop-losses don't work!
Best
Carl

Stop losses most definitely work. Perhaps the logic behind your tested stop losses are incorrect.
Some things to consider:
2. Execution quality
3. How you determine your stop loss (hint: percentage decline is not the only method, in fact it's a pretty poor method at that)

Hey Jack,