CapitalTime

Articles on investing and capital management, with a quantitative focus.


#bullsignals - Algorithm-driven market timing

BullSignals Basics

2019-06-13


My algorithm evaluates stock market strength and tries to detect periods of high risk. The main goal is risk avoidance, not outperformance. By sitting out bad periods, I hope to minimize volatility and drawdown.

The "Sell" signal is generated when the algorithm thinks steep declines are likely. The "Buy" signal is generated when the algorithm thinks the market is back to normal bullish mode.

These signals can be applied to either the Canadian or US stock index.

The algorithm's approach

My algorithm combines relatively standard trend following techniques (like the 200 day moving average) with both stock and bond market data. Declining bond yields are considered bullish for stocks.

Canadian performance so far

Using the generated buy and sell points since 2015 shown on the main page, and assuming XIU for stocks and PSA for cash, the performance with BullSignals has been 6.2% CAGR (compounded annual growth rate). In comparison, buying and holding XIU for the same period would have returned 5.9% CAGR.

Within a noise margin, the performance of the two methods is about the same. However, the BullSignals method avoided a couple sharp declines. The "sell" signals in mid 2015 and late 2018 insulated the investor from significant drawdowns.

Overall, the method has been working well for the Canadian index so far: it's provided about the same performance in recent years, while reducing risk. That's a big win!

US performance so far

Using the generated buy and sell points since 2015, and assuming SPY for stocks and SHV for t-bills, the performance with BullSignals has been 10.4% CAGR. In comparison, buying and holding SPY for the same period would have returned 10.1% CAGR.

Again, the performance of the two methods is about the same. The BullSignals method protected the investor from some sharp losses by giving a sell signal in late 2018. While a SPY investor experienced a whopping 19% drawdown from the September peak, my algorithm limited the drawdown to about nil, completely avoiding the late 2018 declines.

This is a solid result for my method. Again, it's nearly the same as index performance, but with less risk.

It should be noted that until the stock market decline in 2018, my algorithm was underperforming the index. When the stock market goes straight up, my method can't really do anything useful.

What could go wrong?

The results over the last few years have been very encouraging. Additionally, if one goes back to before the last financial crisis, the results are even more spectacular since a "sell" signal was given before the worst declines of 2008.

With results like this, one might ask: what could go wrong? Shouldn't one deploy all their money using this? I only deploy some of my stock allocation into this strategy. There are many reasons to be cautious about this approach:

And that's why passive index investing generally wins. The philosophy behind index investing is that you deliberately settle for average returns. This frees you from a lot of manual effort, and also frees you from the grief of wondering if your strategy is valid when it inevitably enters a prolonged period of poor performance.

Dan Bortolotti, author of the Canadian Couch Potato blog, has a very insightful article on this topic: Why Isn’t Everyone Beating the Market?