top of page

November 19, 2018

Individual Stock Momentum Models

To start off, an excellent place to read about momentum is here

 

All work was performed on Quantopian

 

We started with the following model:

    Base Momentum Model

Rules for the Base Model

  • At the beginning of each month rank stocks by their past 12 months returns

  • Buy the top 20 stocks

  • Hold these 20 stocks for a month

  • At the beginning of the next month rank stocks by their past 12 months return

  • For any stock that is currently owned but not in the top 20 stocks, sell all shares of that stock

  • For any stock that is not currently owned but is on the top 20 stocks list, buy the equivalent of 5% of the value of the portfolio

 

We then made the following improvements to the model:

  • Trading Universe

    • Consider only common stock (no preferred stock)

    • Momentum does not work very well when used with assets with high volatility

    • Smaller cap stocks tend to be more volatile than large-cap stocks

    • We introduced the following filters to weed out small cap stocks

      • Average Daily Dollar Volume > $20,000,000

      • Only consider top 500 stocks by market cap that have Average Daily Dollar Volume > $20,000,000

  • Measuring Momentum

    • Stocks tend to overreact and mean revert in the short term (you can read more about this on SSRN)

    • A stock that has increased in value significantly over the past month may decrease in value over the next month which has the potential to reduce profits from momentum

    • To compensate for this we measure momentum as follows

      • past 12 months return - most recent month return

  • Moving Average Rule for Individual Stocks

    • Keep in mind the above modification that was made to measuring momentum

    • If the most recent month return is not considered then a stock that has dropped significantly over the course of the past month may end up on the buy list

    • To avoid these stocks, we add a moving average rule for individual stocks

      • Current Stock Price>200 Day Moving Average

  • Index Filter

    • At the meeting, Jake gave a lengthy and thorough explanation of why an index filter works. Unfortunately, without the aid of material we had at the meeting, it would prove extremely difficult to give the same explanation on this website.

    • A simple explanation: All stocks are correlated to each other. When the market begins dropping, the strongest stocks fall first, followed by the second and third strongest group of stocks and so on. Instead of staying in the market and buying worse and worse performing stocks we can use an index filter as a way to time when to get out of the market

    • Our index filter is as follows:

      • If Current Price of SPX>200 day Moving Average, then continue to buy stocks each month

      • If Current Price of SPX<200 day Moving Average, then sell all stocks and hold cash or bonds

 

We ended the meeting with the following model:

    Final Momentum Model

 

bottom of page