- in Rotation , Stocks by Cesar Alvarez
Intermediate Term Stock Rotation Strategy Using S&P500 Stocks
One of my research goals for this year is to find an intermediate term rotation strategy using S&P500 stocks. Then right on cue, I read the following post Intermediate momentum! which points to research Is momentum really momentum? by Robert Novy-Marx. In that he mentions that “intermediate horizon past performance, measured over the period from 12 to seven months prior, seems to better predict average returns than does recent past performance.” I have never tried an idea like this. In the blog comments, a user says he got great results using the current NDX100 stocks not the historical. This introduces pre-inclusion bias but maybe the results will still be good. What a great way to start the year with ideas I have never tested.
The Base Case
For testing universe ‘RRSP Strategy’ blog used S&P600 small cap and the PDF used all NYSE stocks. We will be using the historical S&P500 constituent data. The test range will be from 1/1/2001 to 12/312013.
The Rules
- It is the rotation date. For Quarterly it is the first trading day of quarter (January, April, July, October). For Semi-Annual it is the first trading day of either January of July.
- Stock is a current member of the S&P500
- Rank stocks based 6 month performance 6 months ago, from high to low
- Buy the top 10 stocks at the close
For the ranking rule, if today is Jan 2, 2014, then we look at the 6 month return from 6 months ago. This means we use the return from Jan 1, 2013 to July 1, 2013 as our ranking value.
The Results
No way to put it but these are disappointing results. Buy and hold on the SPX generates a CAR of 2.68% and MDD of -56.78%. Maybe I did not understand how they are doing the ranking. Or could be the different trading universe.
Optimization Run
Now we try different lengths for the ranking returns and delays. This gives some results with decent CAR but still with huge drawdowns.
Yearly Returns
The yearly returns show the strategy getting killed during the bear market years. Maybe our simple market timing filter of only entering when the Close of the SPX is above its 200 day moving average will help?
With Market Timing
Now we are getting some good CARs. The drawdowns are still high but I would not expect them to be low because of the long hold periods. I need to think about the next steps. Adding stops? Using the recent performance? If you have any ideas on what to try next, send them my way.
Spreadsheet
If you’re interested in a spreadsheet of my testing results, enter your information below, and I will send you a link to the spreadsheet. The spreadsheet contains more variations I tested and more stats.
Backtesting platform used: AmiBroker. Data provider:Norgate Data (referral link)