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. 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.
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. 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. When there are more signals than open positions, the code would randomly choose which stocks to enter. I then ran runs for each test.
Surprisingly good results from such simple rules. The results are not as good as using the Russell but still good. Probably because of the smaller universe which leads to lower exposure.
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. 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. Want to see how a maximum loss stop changes the results, read Maximum Loss Stops: Do you really need them?
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. I loved your work in TradingMarkets. It is because of you guys that I have started looking into mean reversion strategies for stocks.
With the issue of many signals and watching the screen, Interactive Brokers has Basket Trader facility that allows a trader to enter many market-if-touched orders. The maximum position that can be opened during the day will then depend on the funding permission the trader has.
I am using Amibroker as well to run monte carlo simulation. Is that a custom backtester? Or do you run it manually for each year? I am very familiar with basket orders. The question is if one has a margin account but does not want to on margin, how does one do that? I used the CBT to output the yearly return for each run. Then I took all the runs pasted them into Excel. From there I generated the statistics. I think that complementing this with a mean reversion strategy would be a good idea.
What you are describing here looks temptingly good. If you are trading in Australia this is an issue unfortunately. If I understand it correctly you would enter your orders EOD, so there is really no reason to monitor the market during the day, or am I missing something?
See my FAQ, http: The issue is that you may have 40 stocks that set up the night before and you do not know which will trigger. In 30 of those trigger, you only want to get into the first 10 that do. Do you use any cost and slippage? Do you consider it? This answers all your questions and then some. I get the impression your study involves selection bias, i. I may be wrong but this is what my analysis says. More importantly, this is a simple system but has 6 parameters so from the PoV of curve-fitting this is not very simple.
My guess they will not do as well because of lack of exposure. Running a Monte Carlo run takes time. If I do a follow up, I will also include R Two of the rules are liquidity rules which the original rule did not have.
It is not realistic to test these lower volume stocks. My guess is if I removed these rules results would improve because that has been my experience. I disagree that these rules constitute curve fitting. They only a few rules, simple parameters, and each rule makes sense. The issue with when a strategy has crossed from being non-curve-fitted to curve-fitted is that there is a large grey area in between which people have disagreements on when curve-fitting has happened.
The good part is that if one thinks curve-fitting has happened, one can ignore the research and not trade. In the period tested there are about 2, bars bit you have 7, trades for the Russell Divide that by 10 and multiply by the average holding period and you get 2, bars. This means that many positions overlap and although you open 10 positions at the time max you hold many more open. This is why your CAR is overstated. If you adjust that and you add reasonable slippage you do not even make it near buy and hold with reinvested dividends.
Your high CAR is a red flag. Apparently, your backtests are based on using open equity to buy more stock. You cannot do this in real life. You have to add money to the account. When you do that and also account properly for slippages, the method is a loser. That gives bars in the test not The average hold is 3.
If I enter a position today at the open and exit tomorrow on the open, AmiBroker calculates that as a 2 bar hold. In reality that is only 1 bar of time. By these calculations all is good. Because of your concerns, I double checked my code to make sure I was not entering more than 10 positions or using margin. I am always aware that I can and I do make mistakes.
After checking my code, I see no problems. Given that, the system is probably holding many more positions than 10 at a given time. Note that most retail backtresters calculate CAR based on starting and initial equity and do not account for margin. The only way for this to be resolved is for you to provide a complete trade-by-trade report here so everyone can be convinced that you are not using margin in your CAR calculations. I am not convinced at all that your results are correct or that your code is correct.
The only way for you to convince me is to provide complete results or code so that your readers can reproduce them. If you still believe the code is wrong, I suggest that you code up the strategy and post your results. I have given you the full rules. I am hiding nothing. There still may be an error in the code that I have not found, but at this point I leave it to you to code and post results that contradict my results. Which version of AMI do you use?
I will repeat again that the high return should have immediately triggered a red flag. Anyone with more than 3 months backtesting experience knows this.More...