This trend-following model is based on the book “Stocks on the Move” by Andreas Clenow. I modified some parts of the model (e.g., position sizing or the universe of available stocks), but the basic calculations are done in the same way.
I highly recommend his book and his website!
Summary of the model
Ranking
- All stocks are ranked according to their adjusted slope based on the closing price of the last 90 days
- The ranking is refreshed each Tuesday
Market filter
- New buys are only permitted if the market (S&P 500) is above the MA200 (market signal: green)
- If the market is below the MA200, no new purchases are allowed (market signal: red)
Buy Rules
- The market signal must be green (S&P 500 above MA200)
- The stock must be ranked in the top 20% of the momentum ranking
- The stock must be trading above its MA100
- The stock must not have gapped up or down by more than 15% in the last 90 days
- Sufficient cash must be available to open a new position at the calculated size
Position Sizing
The size of a position is determined by the portfolio size, risk factor and ATR.
Sell Rules
- A position is sold when it is no longer in the top 20% of the ranking or when it is trading below the MA100.
- A position is cut in half if it trades below the 21 EMA.
- When a stock moves too far away from the MA200, the position size will be reduced (mean reversion)
I really like this approach because it provides clear, binary entry/exit signals and removes all emotions, gut decisions, and second-guessing.
For details on how the ranking is generated each week, see the Framework page.
Stock data is sourced from Alpha Vantage.
