The Sell and Hold Strategy

Big Disclaimer: I’m not a finance professional, so please take this post with a healthy dose of skepticism.

The bottom of the Great Recession in 2009 caused the S&P 500 index to retreat to 1996 levels — over 20 years of wiped out gains. Other crashes have been much less dramatic, though the general pattern of apparent overcorrection is similar.

With this pattern in mind, I went looking for a simple alternative strategy to Buy and Hold that reduces downside risk to these apparent overcorrections, trading only long in the S&P 500 index. Enter the Sell and Hold strategy:

  • When a market crash starts to happen, sell and hold (cash).
  • When a market recovery starts to happen, buy.

Yes, this is a market timing strategy, the third rail of all finance strategies. However, it isn’t a predictive market timing strategy. Instead, it calls for waiting until a market change starts happening, as opposed to predicting when a change might happen.

It’s a very simple trading strategy built on only two parameters:

  1. A “market correction” parameter used to sell and hold, defined as a decrease in at least 20% off the rolling monthly index peak. That is, you wait for the market index to go down 20% from its most recent highest point, and then you sell and hold. 20% could be another threshold (e.g. 10% or 15% — more on that later).
  2. A “recovery” parameter used to buy, defined as an increase of 5% off a rolling monthly index valley. That is, you wait for the market index to go up 5% from its most recent low point, and then you buy. 5% could be another threshold (e.g. 2.5% or 7.5% — more on that later).

Example: 1986–2016

As an example, let’s take a recent 30-year period in Schiller’s S&P 500 data, Jun 1, 1986 — Jun 1, 2016. If you executed a Buy and Hold strategy, you’d have made an IRR of 7.32% (using nominal price and dividend values). If instead, you executed a Sell and Hold strategy (using 20% and 5% parameter thresholds as defined above), you’d have made an Internal Rate of Return (IRR) of 8.86%, or 1.54% more a year.

In absolute terms, that adds up. The Buy and Hold strategy had an absolute return (ABR) over this period of 739% compared to 1,179% for the Sell and Hold strategy. In other words, on a $100,000 initial investment in 1986, you would have ended up with $440,000 more in 2016 ($1,179,000 vs $739,000).

In this Sell and Hold scenario, here are the times you would have been in the market, with their individual IRRs and ABRs:

  • 1986–06–01 to 1987–11–01 IRR: 1.00% ABR: 1.43%
  • 1988–02–01 to 2001–03–01 IRR: 11.49% ABR: 390.94%
  • 2001–05–01 to 2002–06–01 IRR: -18.33% ABR: -19.72%
  • 2002–11–01 to 2008–09–01 IRR: 6.04% ABR: 45.96%
  • 2009–04–01 to 2016–06–01 IRR: 12.48% ABR: 168.74%

Here are the times you therefore avoided:

  • 1987–11–02 to 1988–01–31 (S&P went from 245 to 265)
  • 2001–03–02 to 2001–04–30 (S&P went from 1,186 to 1,270)
  • 2002–06–02 to 2002–10–31 (S&P went from 1,014 to 910)
  • 2008–09–02 to 2009–03–31 (S&P went from 1,217 to 848)

Sell and Hold Strategy Simulations from 1950

If you start at January 1, 1950, and consider the start of each month as an opportunity to execute an S&P 500 index trading strategy for the next 30 years, you get 440 such opportunities (through August, 2016, the latest data I have available).

Here’s how Sell and Hold stacks up to Buy and Hold over these periods, considering capital gains rates, transaction costs, and dividend taxes, using nominal price and dividend values, segmented by different choices in parameter thresholds.

Overall, for 20%/5% parameter thresholds, out of the 440 periods, Sell and Hold beats Buy and Hold 85% of time (left in bold). These periods resulted in an average IRR difference of +0.58% (right in bold).

In particular, the Sell and Hold strategy had a mean IRR of 7.62% with a STDDEV of 1.63%, compared to Buy and Hold strategy mean IRR of 7.04% with a STDDEV of 1.52%.

I realize many of these periods are correlated with each other since they have overlapping time series. I was trying to show that the gains aren’t anomalies within this data set, but instead happen most of the time, regardless of when you begin executing the Sell and Hold strategy.

If you ignore capital gains (but not transaction costs), such as you would get in a retirement account, Sell and Hold beats Buy and Hold 100% of the time with considerably more IRR. (I recognize IRAs weren’t a thing in the US until 1974.)

With no capital gains taxes and again using 20%/5% thresholds, Sell and Hold beats Buy and Hold handily in all 440 periods, with a mean IRR of 10.20% (STDDEV 0.99%), compared to the Buy and Hold IRR mean of 8.49% (STDDEV 1.08%).

Sell and Hold Strategy Simulations from 1871

If you go all the way back to 1871, you get even better results, though their applicability to today becomes more questionable.

The bold values again correspond to the parameter thresholds of sell and hold off a rolling 20% monthly index peak, and buy off a rolling 5% monthly index valley.

Sell and Hold Strategy Execution Periods

The Sell and Hold strategy does better against the Buy and Hold strategy the longer it is run.

The above corresponds to just 20%/5% thresholds, and the bold numbers correspond to 30-year execution periods, which were used in the above sections.

Total Return

You can also execute the Sell and Hold strategy on a “total return” basis, accounting for dividends in the price accumulation, selling and holding based on this accumulated return price instead of the market price.

Since dividends raise the effective peak over time, at the same thresholds you do worse under total return, because you’d have to wait longer to sell and hold. The bolded thresholds above are where the total return sweet spot seems to roughly be, selling and holding on a 10% drop (as opposed to 20%), and buying on a 7.5% gain (as opposed to 5%).

Inflation Adjusted Returns

This data set also has “real” inflation adjusted returns. If you execute Sell and Hold vs Buy and Hold using these inflation adjusted returns you get similar results at the 20%/5% parameter thresholds.

There is a difference in lower sell thresholds in that the strategy seems to do better using inflation adjusted returns, but I think this difference is spurious. Inflation adjusted returns are only available in hindsight, so they are impossible to trade on in the moment effectively. By using these smaller trading thresholds, I believe the strategy is incorporating and benefiting from information that wouldn’t have been available at the time.

Modeling the Sell and Hold Strategy

Everything I did to produce the above analysis is on GitHub, and I’m happy to answer any questions there (submit an issue). Here’s what I did in a bit more detail:

  1. I took Robert Shiller’s S&P 500 data, as cleaned up by Rofus Pollock on GitHub, which has monthly price, dividend and other information back to 1871.
  2. I treated each x-year period as a time you could have either executed the Sell and Hold strategy or the Buy and Hold strategy. For example, the first 30-year period is Jan 1871 to Jan 1901, and the last is Aug 1986 to Aug 2016. That makes 1,388 such 30-year periods in across the whole data set.
  3. I defined two parameters that control the model: a “market correction” parameter used to sell and hold, defined as a decrease in at least 20% off a rolling monthly index peak, and a “recovery” parameter used to buy, defined as an increase of 5% off a rolling monthly index valley. These are tweakable in the model (using the SELL_THRESHOLD and VALLEY_THRESHOLD constants).
  4. I added in historical capital gains taxes, using the maximum you could have possibly paid in both long-term and short-term capital gains taxes in the US (see rates here). This is tweakable in the model (using is_capital_gains setting).
  5. I added in historical dividend taxes, using the maximum you could have possibly paid in the US (see rates here). This is tweakable in the model (using the is_dividend setting).
  6. I added in historical transaction costs, accounting for the average spread and commissions (see rates here). This is tweakable in the model (using the is_transaction_costs setting).
  7. For each 30-year period, I then executed both the Buy and Hold and Sell and Hold strategies, and calculated the overall IRR for each.

Areas for Improvement

There are many possible areas for improvement on this analysis including:

  • A better mechanism for constructing the index peaks and valleys, such as a moving average.
  • Use of higher-frequency data than monthly, such as daily.
  • Better accounting for more average tax scenarios.

I am not currently planning on working on any of these, though I’d be happy to respond to pull requests on GitHub. One of my primary motivators for writing this post was to encourage people more experienced in back-testing trading models to replicate and improve on these findings.

Thank you to Lauren McCann and Brian Buttrick for helping me with this post.


Gabriel Weinberg
CEO & Founder, DuckDuckGo
Co-author, Super Thinking
Co-author, Traction