Category Archives: Asset Class Rotational System
Almost one year ago, I wrote about an Asset Class Rotational Model that trades ETFs. I recently got an email from someone asking me about it, and the email reminded me that it would be a good time to check in on how the system has performed over the past year.
The quickest way to understand how the system works is to read Mebane Faber’s article: A Simple Momentum System for Beating the Market.
I have re-run the test, with the same rules as when I ran it last on 2.19.12.
- Commissions and slippage were not included
- No implementation of a moving average filter
- No return on cash
- The top 5 ETFs were held
With $SPY achieving an 11% return over the same time frame, results are not stellar.
However, if we look at the Asset Class ETF Rotational System 2012 results (assuming the system ran without stopping since beginning in 2003), it returned 10.6% vs. 11.47% for $SPY. This is not quite as bad, but once commissions and slippage are factored in, we could safely shave another 1% off the return. All the caveats of the original post still apply.
The good news is that the system appears to be working fine; it just couldn’t beat its benchmark.
Later this week I’ll add a moving average filter and then use Faber’s suggestion of limiting total positions to 3 rather than 5. One addition I would really like to test is to make sure the system is not picking ETFs that are highly correlated. I’m not sure how to implement this in AmiBroker, so if anyone wants to work with the code to implement it, send me an email to woodshedder73 at gmail.
For an ETF asset class rotational system which uses weekly data, what is the optimum number of weeks to look-back in order to calculate the relative strength score?
For this area of development, I set out to determine how robust the weekly look-back periods were. Also, I wanted to determine if there were any benefit to using more than one relative strength calculation. For example, would there be any benefit to ranking the ETFs based on the last ((X weeks + Y weeks)/2) average? Many rotational systems seem to use more than one calculation for relative strength. My gut feeling was that it may be unnecessary to do so.
Based on the results of the last post, the system will only trade on Thursdays. Because the ETFs are ranked using a weekly calculation, there is a delay between the ranking (which occurs at the close of the previous Friday) and the actual trade. I am not sure whether this factor hurts or helps performance. In future tests, I will remove the trade on Thursday only requirement so that the rotations are taking place on the same day as the ranking. In real life, it will be almost impossible for me to trade the system when it ranks and rotates on the same day.
- Buy 1 of 5 ETF asset classes at Thursday’s close based on its X week relative strength rank. Simply put, but the ETF that has gained the most over the last X weeks compared to the other ETFs.
- Re-rank at Friday’s close and rotate or not into the top ranked ETF next Thursday
No commissions or slippage included. Tests run from 1.1.2003 – 3.23.2012.
These results show a large area of returns > 10% and drawdowns averaging -25%. I like a period of anywhere between 14 and 20 weeks. Keep in mind that in these tests there is no moving average filter applied to reduce drawdowns.
I chose 17 weeks as the optimum look-back.
Now, lets add a second relative strength rank. Since the first rank used 1-24 weeks, the 2nd one will use 25-52 weeks. This test will rank the ETFs this way: (17_week_change + Y_week_change)/2.
After adding a 2nd calculation and averaging it with the 1st in order to rank the ETFs, we see performance has decreased slightly while drawdowns have increased significantly.
Based on this simple test, there does not appear to be any benefit to adding more than one ranking routine.
Thoughts and Caveats:
Perhaps adding multiple ranking routines makes the system more robust. My results, using only 1 ranking routine, appear robust. There have been many studies which show that a relative strength calculation between 3 to 12 months is robust. 17 weeks works out to be near 4 months. Based on my review of many other studies and the results above, I do not believe it is necessary to use more than one ranking routine.
The ETFs used do not have much history. DBC and VEU did not start trading until 2006 and 2007, respectively. Results previous to 2006 were generated only from trading VTI, IYR, and IEF. This is a rather severe limitation.
These tests are very simple. The idea is to control for each variable, studying the effects, in order to develop a deep and thorough understanding of what makes the system tick.
The next factor to study will be the addition of a moving average filter in an attempt to reduce drawdowns.
Below is the equity curve using a 17 week ranking, holding the top ETF, with all trades taking place on Thursdays.
Behind the scenes, I’m working on an Asset Class ETF Rotational Model which rotates weekly. This post will explore one aspect of building this model: Which day of the week is the best day on which to rotate?
Using Faber’s TAA as a rough guide, I’ve selected 5 ETFs with which to use for testing a weekly rotational model.
- VTI Vanguard Total Stock Market
- VEU Vanguard FTSE All-World Ex- U.S.
- DBC Power Shares DB Commodity Index Tracking
- IYR iShares Dow Jones U.S. Real Estate Index
- IEF iShares Barclays 7-10 Year Treasury Bond
One of my earliest thoughts about this system was wondering whether there was a particular day of the week on which to rotate that would be better than the others. It appears there is.
- Buy the ETF on Monday’s close and sell at the close 5 trading days (1 week) later.
- Repeat for each day of the week.
No commissions or slippage were included. All available history for the ETFs was used.
Thoughts and Caveats:
If you had to rotate on a particular day of the week and may only hold the trade for a week, on which day(s) would you rotate? On which day(s) would you definitely not want to rotate?
There are no guarantees that this pattern will persist, but IYR and VTI have more than a decade’s worth of history.
If the pattern does persist, rotating on the best day could add enough of an edge to cover commissions or even the expense ratio of the ETFs.
I’m curious what the results would be if the hold time was extended to 2, 3, or even more weeks. Would the anomaly still persist over a longer time frame?
Link to Part 1
There may have been some confusion on the hold time before rotation. The system will hold each ETF a minimum of one month before re-ranking them and either rotating out and into a different ETF at the close of the month or holding the existing position(s) for another month.
Let’s Make it Better
At the conclusion of Part 1, I alluded to two additional factors that improve the performance of the system. The two factors are including a return on cash and implementing a moving average filter.
The return on cash code for Amibroker is available for free over at AmibrokerU. Simply register and then follow the links through the Free Library. These tests will show the result of using either $SHY (i-Shares Barclays 1-3 Years Treasury Bond ETF) or $TLT (i-Shares Barclays 20+ Years Treasury Bond ETF).
The moving average filter has the system rotate out of a position if the monthly close is beneath a monthly moving average. The results below will show a 4 month moving average. The 4 month is optimum, but the next best monthly moving average periods to use are 5, 3, 6, 7, 8, 9, and 2, respectively. What this demonstrates is there is a fairly generous range of monthly moving average periods to use. While 4 is optimum over the test period, it may still prove to be robust going forward. One my choose to err on the safe side and choose a 5 or even 6 month moving average period.
We see all metrics have improved over the model in Part 1, especially the maximum system % drawdown.
For fun, let’s use $TLT rather than $SHY for our return on cash.
These results with $TLT may not be generalizable since $TLT has been a standout performer due to the recent market environment.
The following charts/graphs were generated using $TLT for the return on cash.
Note how $TLT allowed the system to gain ground when it would have been in cash (green areas), especially in 2003 and the end of 2008.
All the caveats noted in Part 1 still apply.
For fun, I added in commissions of $7.95/trade, and they lowered the annual return to 16.36%. Using an Interactive Broker’s commission of .005/share lowered the annual return to 17.41%, or a reduction of -0.05%.
Some helpful comments with suggestions for improving performance were left in Part 1. Based on those suggestions, I’m going to make some tweaks to the system and report results. If you have any ideas, feel free to leave them in the comments section.
There are literally hundreds of research reports out there that demonstrate the ability of relative strength (momentum) strategies to beat the market. The latest one I read is here, and it is highly recommended. I plan to continue testing and development of relative strength rotational models as I feel confident that they are robust yet simple enough to be traded by just about anyone with a desire to do so.
Mebane Faber has generated a significant buzz with his rotational models, and so for this next round I will be testing an idea that he published almost four years ago — A Simple Momentum System for Beating the Market. Rather than quoting extensively from his post, I’ll rely on the reader to click over and read it for themselves. I’ll cover the most important aspects of the system below.
The Asset Class Rotational Model:
- uses 5 asset classes — U.S. Stocks, Foreign Stocks, Bonds, REITs, and Commodities
- uses monthly bars to generate all calculations
- ranks the ETFs by calculating the 3 month, 6 month, and 12 month rate-of-change, and then averaging them
- trades the top 5 ranked ETFs with each position given an equal portfolio allocation
- re-ranks the ETFs at the end of the month and rotates out of ETFs that have fallen below the top 5 and replaces those ETFs with the ones that have replaced them in the top 5
- is long-only and in the market all the time UNLESS there are no asset classes with a rank above zero
- rotates at the close of the monthly bar
The ETFs used for this test are those suggested by Faber. No commissions or slippage were included.
All charts/graphs can be enlarged with a double-click.
Green areas show the periods when the system was not fully invested and had some or all of its capital in cash.
Caveats and Thoughts:
The most significant caveat is that many of these ETFs do not have data going back to 2003. Some of them did not start trading until 2008. Therefore the impact of the entire portfolio is not seen until after 2008. Using index data (which would allow testing even farther back than 2003) instead of ETFs would allow a more accurate sampling of how each asset class affects results prior to 2008, but since indices are not tradeable, the results may still not be reliably generalized.
The starting date and ending date for the test is also important to consider. I would have liked to include the 2001-2003 bear market but the ETF data is simply not available to do so.
2011 was the worst year of the test period. Since it is well known that many hedge funds underperformed in 2011, I’m wondering if many of them were trading relative strength strategies.
Can the Strategy Be Improved?
The purpose of this post was to demonstrate the strategy outlined by Faber.
There are additional factors that can be added to increase the annualized results while decreasing the drawdown. The next post will describe and implement two new factors.