- in Research , Rotation , Stocks by Cesar Alvarez
The Simplest Momentum Indicator
We all have our favorite momentum indicators. One of mine is percent off 1 year high. This requires 252 data points and comparisons, plus a division. Another one is the 200-day moving average. This requires 200 closing prices, 199 additions and a division. A simple momentum indicator is Rate of Change which is the return of the asset of the last N days. This requires two prices and a division to calculate. That is simple. In this post I will show one that requires just one price and no math.
In my last post, Monthly Rotation – Closeness to $10, while investigating the results I discovered that the higher priced stocks seemed to get better results. That got me thinking. Could simply ranking by the highest priced stocks work? It makes some sense. Price going up is what we want. Also, stocks don’t seem to split as often now days as they used. It seems to be a badge of honor to have a high-priced stock. Look at Amazon, Apple, Netflix and many more.
The Rules
Test date range 1/1/2007 to 7/31/2019.
Buy Rules
- It is the last day of the month
- Stock is member of the Nasdaq 100. I test several others.
- Close is above the 200-day moving average
- The close of the $SPX is above the 200-day moving average
- Buy the top 10 highest priced stocks on the next open
The price I am using is the as traded price. This is the price before it has been adjusted for splits and dividends. This is the price you would have seen on your screen at the end of the day.
I am looking for up trending stocks in an up trending market.
Sell Rules
- It is the last day of the month
- Sell on the next open
Rank Testing
When testing a ranking method, I like to test in both directions. This lets me see if there is anything to the method. We want to see ranking by highest price to do well and lowest price to do poorly
If the ranking method is not good, then those two rankings will produce similar results.
Nasdaq 100 – A Winner
Wow these results are better than expected. From the previous post where I did random ranking, the CAR was 10.10 with a standard deviation of 1.86. The Low Price ranking is .4 SDs away. Not that good but below the average.
The High Price ranking is 3.4 SDs away which is good. I like seeing this number over 3 at least and prefer 4.
The Maximum Drawdown is also substantially lower which is good.
As a very simple ranking method, this does surprisingly well.
What about other indexes?
S&P500
The results are not as pronounced here but the same pattern holds. I have not done a random ranking test on the S&P500 but the CAR results are too close for my liking. The MDD though is dramatically different. Could the lack of results be because of how the index is created?
Russell 3000
A definite clear difference here in the ranking. I cannot believe that the MDD is so low. I tested a MA200 on the $RUA index to see what those results look like. I got a CAR of 7.79 with a MDD of 19.13. Much better than trading the index.
OEX, RUI and RUT
I also tested these and the same pattern holds. Ranking by high price produces higher CAR with lower MDD than ranking with lower price. You can find these results in the spreadsheet.
Spreadsheet
Fill the form below to get the spreadsheet with lots of additional information. See the results of all variations from the optimization run. This includes top drawdowns, trade statistics and more.
Results also for the OEX, RUI and RUT.
Final Thoughts
Would I trade this system as is? No. Two reasons. The results are not good enough. Also, a stock may exit simply because it had a stock split even though it is still doing great. That bothers me some.
But using price as a ranking filter is something I must see if I can incorporate into some of my existing strategies or into new ones.
I would also like to do random ranking on each index to see how good the results are.
At the end of the day, that is one simple indicator.
Backtesting platform used: AmiBroker. Data provider: Norgate Data (referral link)