In Part 3, we examined the effect of weighting two different RSI lengths, and using those weights to rank ETFs. After backtesting, the resulting statistics and equity curve appeared to be curve fit, and I acknowledged that the weights chosen were optimal. I ended part 3 by noting that the next step is to test a moving average filter vs. using short side ETFs. We will examine those two factors in this installment.
First, a note about the ETF portfolio. I began tweaking the portfolio a bit based on the recommendations made by a reader in the comments section here. I think his recommendations are important because the portfolio has some redundancies. The redundancies will mean that it is possible to be over-weighted in certain sectors or countries. For example, if the system chose [[EWZ]] and [[ILF]] , it would have 50% of its capital invested in highly correlated ETFs. For this reason, I believe it is necessary to weed out highly correlated ETFs. I also propose removing [[USO]] and [[UNG]] due to the contract rollover shenanigans.
In terms of adding ETFs, there are more that could be added to give broader exposure.
The point of this discussion is that the portfolio is almost as important as the factors of the system itself. After making changes to the portfolio, the results dropped fairly significantly from what was reported in Part 3 (another sign of curve-fitting?) I decided for purposes of continuity and consistency to use the same portfolio in Part 4 as in Part 3 so that we could have an apple to apples comparison of the moving average filter, but I think we should spend more time refining the portfolio. My gut feeling is that it is too large, and because of that, it makes it more difficult to isolate what effects (if any) the factors have on performance.
On to the tests…
Lets Remove the Short ETFs
I removed [[SH]] , [[PSQ]] , [[DOG]] , and [[RWM]] and then ran the test with the system using the same parameters as in Part 3. Here are the results:
The Annual Return % drops over 3% and the Max System % Drawdown increases ~2% when the short ETFs are removed.
Add Short ETFs Back to Portfolio and Add a Moving Average Filter
Now I will add the four short ETFs back to the portfolio and add a 200 day simple moving average filter. The filter will not let the system rotate into new positions if the SPX has closed beneath its 200 day SMA. As soon as the SPX closes above the 200 day SMA, the system will jump in long on the next open.
Note that the 200 day moving average filter does not allow the system to rotate into the short ETFs, so even with the ETFs added, we have an apples to apples comparison of the system without the short ETFs versus the system with a moving average filter.
We now see that the performance without short ETFs is very similar to the performance with a 200 day SMA filter, in terms of the compound annual return. However, the max system drawdown is ~7% less when using the moving average filter. That is a ~20% improvement in the drawdown.
The moving average filter also improves other metrics, such as average trade, profit factor, and the Sharpe ratio. And since the filter means the system makes fewer trades, if commissions were added, there would be even greater improvement shown in the moving average filter results vs. no filter and no short ETFs.
A Few More Thoughts…
I ran an optimization to determine the best moving average length for the filter. I graphed two metrics, Compound Annual Return (CAR) and CAR/Maximum System Drawdown (CAR/MDD). The results show that there are many moving average filter lengths that will work, but it appears that lengths greater than 170 bars give fairly smooth results with lengths greater than 220 resulting in improved performance.
What Have We Learned?
I’m not sure. There are still a lot of variables here, with portfolio composition being a formidable one. I would say that short ETFs helped results more than I thought they would, and I am always surprised how well a simple moving average filter performs. I have learned that RSI seems to be sub-par as a ranking tool, compared to Rate of Change. More than anything, these tests have created more ideas for future tests. Ultimately, I hope to be able to synthesize all that I have learned into a robust rotational system. I do not believe that this system is a good final product and therefore I will take the good, leave the not-so-good, and push forward.
Where Do We Go From Here?
Long story short, I’m done messing around with RSI as it was used in the tests as a tool for ranking ETFs in a rotational system. I’m positive that Rate of Change is a better ranking tool. However, I am interested in using RSI in a different way, based on the comments left by Ruschem:
“I was thinking about your approach to ranking ETFs. While I like RSI based system (RSI is one of my favorite indicators) there are a few points that I am not quite sure about. First, using blended RSI(65) and RSI (30) is somewhat redundant because the entire RSI (30) set of data is already included in RSI(65). Adding RSI(30) to RSI(65) simply adds some more weight to the last 30 days regardless in what proportion the two are used. Instead, I suggest using three independent periods. For example, X*RSI(21) today + Y*RSI(21) 22 days ago + Z*RSI(21) 43 days ago. In all, this system will use 65 days worth of data but split into three independent (or almost independent because of the way RSI is calculated) periods. What it does, it measures the consistency of outperformance or underperformance in each of the last three months. I did RSI ranking both ways (yours and mine). Most numbers were very close but there were notable differences as well. I didn’t run the backtest because I don’t have good backtesting software and lack skills to do it in excel.
Another problem that I see with RSI ranking is that it’s a measure of the internal strength and it really doesn’t tell the whole story. As a result, an ETF may have a high RSI rank but only a very low absolute return. This is why it seems that some kind of a combined RSI and ROC ranking should do the best. Ideally, I would filter ETF pool using RSI ranking (maybe 8 best) and buy four with the highest ROC out of these eight. What do you think?”
I will begin playing around with Ruschem’s idea, to see if it has any merit.
I also want to dig deeper in the following areas:
1. Portfolio construction
2. Shorter minimum hold times
3. Better weighting and smoothing of the ranking metric
Thanks for reading and contributing ideas.