We are starting this new discussion for sharing an updated version of the momentum strategy from Andreas F. Clenow’s book Stocks on the Move: Beating the Market with Hedge Fund Momentum Strategy. I would highly recommend reading Clenow’s book to undestand the strategy details, even though we summarize in this post the main investment rules that Mr. Clenow structured very simply in different chapters for enabling a reasoned and   a clear understanding.

Implementations have previously been carried out on other platforms and the simplicity and robustness of the strategy has been discussed too. It is worth highlighting the implementation of Teddy Koker on Python  here or that of Felix Bertram in C# here. Additionally, you can find old implementations in Quantconnect from which we have based the one we share today.

 

The algorithm's objective is to select stocks from the SP500 universe with the fastest rising prices while maintaining limited volatility. The key rules are:

  • Market Universe: It operates within the SP500 universe.
  • Trading Schedule: Trades are executed on Wednesday
  • Regular Selling/Buying: Stocks are bought and sold every week.
  • Rebalancing: Positions are rebalanced twice a month to manage risk.
  • Top Ranking Stocks: The algorithm selects the top 100 (or 20%) ranked stocks from the SP500.
  • Moving Average Filter: Stocks below their 100-day moving average are sold.
  • Gap Filter: Stocks with a gap of more than 15% over the last 90 days are not bought.
  • Index Membership Filter: Stocks that leave the SP500 index are sold.
  • Market Regime Filter: Stocks are bought only when the SP500 is above its 200-day moving average.
  • Position Sizing: Position sizes are calculated based on a 0.1% risk of the total portfolio value using the Average True Range (ATR) of the last 20 days.
  • Momentum Calculation: Momentum is calculated based on the annualized exponential regression slope over the past 90 days.
  • Momentum Weighting: Momentum values are weighted for volatility adjustment using the coefficient of determination (R-squared).

 

In terms of results, we backtested the strategy from 2009 until 2024-01-16, and the strategy, as already demonstrated in the book, it manages to have a good risk-return ratio. But, at this time, a Buy and Hold strategy on the SP500 index obtains a much higher return causing potential investors to refuse to invest compared to other published strategies.

240569_1705402290.jpg

With a compound annual return of 8.79% and a maximum drawdown of 24.1%, we would like to highlight the success rate of 59% with a 0.14% return, compared to the loss rate of 41% with the same return in negative. The stock selection method used confirms that the momentum factor works, and although the profitability is not good, it can be trusted that it is a convex selection method with positive mathematical expectation.

240569_1705403335.jpg

Felix Bertran has studied the strategy in depth he exposes its weak points, suggesting aspects of improvement that can lead the strategy to almost double its profitability maintaining the current maximum risk level. The improvements are basically not based on a parameter optimization but they are fundamentally based  on improving the money management, the stock universe and the market regime filter for determining risk-off scenarios.
Following his instructions, we have implemented an improved version of the strategy and operate it in real time. In our X (former Twitter) account we publish the week-by-week trades of the new strategy as well as the verified track record and performance.

In the following posts, we will explain what the enhancements we included are by measuring the impact on the key statistics. We hope other community members can take profit of the original code of “Stocks on the Move” book and they can test other improvements for having a best-class stocks momentum strategy where to invest.