- in Mean Reversion , Stocks by Cesar Alvarez
Simple Ideas for a Mean Reversion Strategy with Good Results
A reader sent me some trading rules he got from a newsletter from Nick Radge. He wanted to know if these rules really did as well as published in the newsletter. They seemed too simple to produce such good results. This is a basic mean reversion or pullback strategy. The strategy as presented was long and short and went on margin but he wanted to know how it did the long only since he did not short. After contacting Nick Radge at The Chartist, I confirmed with him it was OK to publish these rules.
The Original Rules
Tested from 1/1/1995 to 5/31/2014. Maximum 20 positions at 10% of equity each. This means the strategy can be 200% invested. Rarely did one get 200% invested according to Nick Radge.
Setup
- Close greater than 100-day moving average
- Close less than the 5-day moving average
- 3 lower lows. (Not lower closes, I made this mistake the first time I wrote the code)
- Member of the Russell 1000
Buy
- Set a limit buy order for the next day if price falls another .5 times 10-day average true range.
Sell
- Close is greater than the previous day’s close
- Sell on the next open
Comments on the Rules
No fancy rules are here. It is standard mean reversion strategy. At times the strategy will produce more signals than there are open slots for. To trade this, one must be watching the markets during the day and take the signals as they happen. This is not realistic for most people since they are not full time traders sitting in front of their computers. One could automate this, but that is not a simple task.
You may have taken pause at the very simple exit rule of ‘an up close.’ That rules brings back memories while I was working for Connors Research. The first time I heard about this rule and tested. I thought there is no way this rule could work. I figured it would destroy a perfectly good strategy. I was flabbergasted that it worked and produced good results. This is why I say that one should test ideas before throwing them out. You never know what will work.
The Tested Rules
I made the following changes to original rules.
- Tested from 1/1/2004 to 6/30/2014
- Allow max of 10 positions at 10% each. No margin.
- Added a liquidity rules of:
- 21-day moving average of dollar-volume greater than $10 million
- Price as trade greater than 1
When there are more signals than open positions, the code would randomly choose which stocks to enter. I then ran 500 runs for each test.
Russell 1000 Results
The average CAR of the 500 Monte Carlo runs is 22.35% with a Max DD of 21.02%. Surprisingly good results from such simple rules. The standard deviation for CAR and MDD are much smaller than expected.
S&P 500 Results
The results are not as good as using the Russell 1000 but still good. Probably because of the smaller universe which leads to lower exposure.
Russell 3000 Results
Having a larger universe, gives us more exposure which gives higher CAR.
Spreadsheet
If you’re interested in a spreadsheet of the data used to generate these tables, enter your information below, and I will send you a link to the spreadsheet. The spreadsheet includes the full Monte Carlo run data. In the spreadsheet are details on how to obtain the AmiBroker code that I used for this post.
Final Thoughts
What I like about this strategy is how simple it is, yet produces good results. Only 3 set up rules. One really simple exit rule that one would think would not work. The biggest issue with the strategy is that most people cannot trade it because it requires being in front of the market all day long. In a future post, we will look into changes the rules to make it more tradable for the average person.
Backtesting platform used: AmiBroker. Data provider: Norgate Data (referral link)
Added on 8/5/2015: Want to see how a maximum loss stop changes the results, read Maximum Loss Stops: Do you really need them?
Added on 8/15/2014: In the comment thread below, a couple of people questioned the results. I had a researcher friend of mine code up the rules as stated on this post. His results matched mine exactly. This gives me complete confidence that the results are correct.
Good Quant Trading,