Momentum Investing: strategy testing

Following identification of a robust market anomaly (momentum), a set of rules is defined and tested:


This strategy will be “long only” (i.e. no shorting) and trade on a weekly basis.

Buying is at the weekly closing price when percentage of stocks up 25% in one month exceeds percentage of stocks down 25% in one month:

(in Amibroker code):

Buy = Cross (25%u, 25%d);

And vice versa for sell:

Sell = Cross (25%d, 25%u);


Various momentum ranking methods will be tested, the Amibroker ranking term is “Positionscore”:

  1. Annual rate of price change, ROC (C,52)
  2. Worden TI42, C / MA (C,8) [i.e. 8 week moving average or 42 trading days]
  3. Price change from annual low, MA (C,4) / LLV (C,52)

All available cash is used to buy the top ranked fund from the universe.  No stop losses are set.


(click to enlarge)

blog figs

The strategy performs well in bull markets, treads sideways in bear markets (2002, 2008) and has struggled since mid 2011.

The chart below shows breadth in the lower pane, market prices with green BUY markers and an equity curve (green denotes holding cash i.e. no current trade).

blog figs


5 thoughts on “Momentum Investing: strategy testing

  1. Pingback: Test 2 | RRSP Strategy

  2. Just found your site, very nice. Q on your entry/exit signal: Do you compare the daily values of the 25% up vs 25% down in 1 month every Friday EOD as your signal regardless of the daily EOD figures for the rest of the week (Mon thru Thurs), or do you sum up the total number of 25% up in 1 month for the week and compare to the sum of the 25% down in 1 month for the week (ie include M-F equally in the comparison)?

    Seems like the second method might prevent some whipsaws introduced by Friday results that are not aligned with the current trend..

    By the way I am a subscriber to Pradeep, his MM is awesome.

    thx for any info on this.

    • Thanks Mike. One of the objectives is to post some material for discussion on the Stockbee Timeline.

      I am using the weekly backtest settings on Amibroker i.e. weekly closes for all data series (price, breadth etc.). Your suggestion is good; requiring testing on a daily timeframe with 5 day averaging. I’ll take a look when I get a chance.

      • I just started to calculate a daily 5 day rolling average (5 sma) of the 25% up vs 25% down in one month. Hopefully that should be even more effective at smoothing out the data and reducing whipsaws even more.

        I look forward to any posts you make on the stockbee timeline.

      • Mike, thanks for the comment. I need to get started on the timeline and have almost enough material posted here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s