Predicting the future is for suckers

I spent the weekend thinking through a trading strategy dubbed by a Wall St. Journal reporter as the “Common Sense” (CS) trading strategy (see Part I). It turns out that common sense was a disaster when tested against historical data. The original formula was to buy or sell 5% of your cash or share value whenever the market moved 5%. I will refer to these levels as the market threshold and the aggression level. Using that formula, the CS strategy faithfully sold shares at market peaks and bought in the market valleys, but it sold off too many shares over time and paid out too much money in taxes. It was substantially worse than a “Buy and Hold” (B&H) strategy that bought on the low points and never sold.

Knowing that the shortcomings of the original CS trading strategy are incurring taxes and holding too much money in cash, can it be improved? Two things come to mind: search out better set of values for when and how much to buy/sell and alter the algorithm to buy more aggressively than it sells. Raising the market threshold will cause the strategy to trade less and lowering the % of assets to buy and sell will mean lower taxable income. To prove that the results are not a fluke of timing, four different historical time periods were used. Computing power is cheap so I plowed through hundreds of combinations of inputs to find the most profitable over four different time periods.

Start Date End Date Length Significance



7 years Short term



25 years Before the 1987 crash



25 years After the 1987 crash



63 years Long term

Buy and Hold is hard to beat. Starting with the longest term, 1/1950 through 12/2012, the B&H strategy earned $855,902. The best CS configuration returned 45% less money or $472,129. Ouch. The best performing version of the CS strategy was to buy and sell when the market moved wildly, by 20% and to sell very small percentages of your holdings each time, around 1%. This meant that the minimal amount of value was lost to taxes. The best B&H on the other hand spent 100% of its free cash the first time the market moved 2% and never traded again.


For fun I chose to medium length periods of time on either side of the great 1987 crash. The Before graph started in August of 1987 and the After graph was from October 1987. The results are very similar, except as you would expect, buying at a low point right after a market crash earned more money overall. The best performing inputs were nearly identical. B&H performed best when it bought aggressively after the first market move and never traded again. CS performed best when it bought or sold 1% when the market moved 20%.

Before the 1987 crash (August)Graph.1987B.Total

After the 1987 crash (October):Graph.1987A.Total

Now for the short term where things get interesting. The tables turn thanks the most recent market crash. The CS strategy came out on top, but it reinforces why this is a poor trading strategy for most people. I will just say that the CS strategy gets lucky here:


Unlike the longer time periods, the best performing versions of the CS strategy in the short run were very aggressive. When the market moved 20%, it bought and sold 100% of its positions. This is what you would do if you had a crystal ball. Sell everything when the market is high, and buy back when the market is low. The pink shaded sections are the times where the CS strategy owned zero shares of stock. So why is this bad? It is a strategy that counts on huge volatility to be successful and historically the markets just don’t fluctuate that much. If the market entered a period of calm sustainable growth, you would be caught with your money on the sidelines earning no return. It is the reason why historically the CS strategy works best when it makes very small moves. So unless you can predict the future and you *know* that there is a major market crash coming, you can’t win by timing the market with this strategy.

At the start of this post I mentioned that there might be a second way to improve the CS strategy, by buying and selling at different rates. That might get around the tax issue while preventing too much money from sitting around in cash. But this post is getting long, so I will come back to that another day.

Here is the source code and data if you want to play yourself:  CS.Trading.Strat.Source