In this series, I have described a price-based approach for rotating among a diverse group of ETFs representing multiple asset classes. In Part I of the series, I proposed a volatility compensation technique that normalized the volatilities of the underlying asset classes, providing a suitable basis for generating rotation signals. The strategy presented in Part I provided high returns with low risk over the backtest period. However, the period of testing data for the ETFs was limited to late-2006 and resulted in a relatively short backtest time of only seven years. Part II of the series provided a longer backtest of 19 years on a diverse group of mutual funds intended to mimic the asset classes of the ETFs studied in Part I. The results of Part II were also high returns with low risk relative to buying and holding the S&P 500.

This article proposes an application of the volatility compensation and momentum model to a rotation among the nine SPDR ETFs and two bond funds.

**The ETFs selected for the backtest**

The ETFs on which I relied are below:

- Industrial Select Sector SPDR fund (NYSEARCA:XLI)
- Technology Select Sector SPDR fund (NYSEARCA:XLK)
- Financials Select Sector SPDR fund (NYSEARCA:XLF)
- Health Care Select Sector SPDR fund (NYSEARCA:XLV)
- Consumer Discretionary Select Sector SPDR fund (NYSEARCA:XLY)
- Materials Select Sector SPDR fund (NYSEARCA:XLB)
- Consumer Staples Select Sector SPDR fund (NYSEARCA:XLP)
- Energy Select Sector SPDR fund (NYSEARCA:XLE)
- Utilities Select Sector SPDR fund (NYSEARCA:XLU)

The historical price data for these can be found at this link on Yahoo! Finance. Entering each symbol in the "Get Historical Prices" query will provide the pricing data on which I relied for this article.

In a related article, I have shown that returns and risk can be improved by rotating equities with bonds. Thus, for the strategy of this article, I have included two bond securities in the rotation with the nine SPDR sector ETFs. The first is VUSTX, which is the Vanguard long bond mutual fund. I chose this fund because I could obtain data back before 2000, enabling a long backtest. As a mutual fund, VUSTX can only be traded at the close of each trading day, unlike and ETF. However, the system of this article does not require intraday trading and, therefore, the use of a mutual fund such as VUSTX will work with this system. I could not find any restrictions on the purchase or sale of VUSTX on the Vanguard website other than a minimum investment requirement. I also did not see any purchase or sale fees on the Vanguard website for this fund. Its expense ratio is much like an index ETF at 0.20%.

I also chose SHY as a proxy for cash.

With the data I obtained at the links above, I was able to conduct a 14-year backtest from December 31, 1999 through December 31, 2013.

**The basis of the system**

The notion of rotating among market sectors based on momentum has been well known for quite some time. This article describes a system similar to the one presented here, in which top sector ETFs are rotated periodically based on recent price performance.

The ETF rotation systems that I have investigated and discussed on SA are based on buying an ETF having the best price performance among a group of ETFs over a certain period of time. One of my articles discusses an 85-day lookback period. One of my blog posts discusses a three-month lookback period. In Parts I and II of this series, the systems relied on the 1-month, 3-month, and 6-month price performance, as well as a 6-month volatility, and weighted each of these to generate a total rank for each asset class. In this article, I have also relied on the 12-month performance of the underlying ETFs in the ranking process.

In calculating the performance values, I relied on the natural logarithm of price performance. For instance, the 1-month price performance was the natural log of the ratio of this month's price to last month's price. The 3-month performance was the sum of the 1-month log performances for the prior three months. Similarly, the 6- and 12-month performance was the sum of the 1-month log performances over the prior 6 and 12 months. Lastly, the 6-month volatility was the standard deviation of the prior 6 months of 1-month log performance.

The system also included a stop based on whether the S&P 500 was above or below a 6-month simple moving average. If above, then the system rotated among the nine sector SPDR ETFs. If below, then the system invested in either VUSTX or SHY depending on their respective ranking, discussed below.

**Volatility compensation**

As shown in the table below, the volatilities of the underlying securities in this test (measured as annual standard deviation of daily price changes) varied significantly:

XLI | XLK | XLF | XLV | XLY | XLB | XLP | XLE | XLU | VUSTX | SHY | SPY | |

volatility | 19.52% | 25.62% | 23.28% | 14.29% | 19.24% | 22.42% | 12.51% | 21.93% | 15.44% | 10.45% | 1.31% | 15.57% |

*(calculated by me based on data from Yahoo! Finance historical prices, linked above for each ETF)*

The volatilities above reflect the annual volatilities over the entire 14-year backtest period.

The differing volatilities of the underlying ETFs can and should be compensated for. A simple algorithm was developed by me as described in Parts I and II of this series. By way of summary, the volatility of each asset class was calculated. These volatilities were all averaged to give a total volatility. Dividing the total volatility by the volatility of each ETF provided a respective "volatility compensation factor" for each.

Applying this algorithm to the volatilities of the ETFs above gives the following volatility compensation factors (VCF):

XLI | XLK | XLF | XLV | XLY | XLB | XLP | XLE | XLU | VUSTX | SHY | SPY | |

volatility | 19.52% | 25.62% | 23.28% | 14.29% | 19.24% | 22.42% | 12.51% | 21.93% | 15.44% | 10.45% | 1.31% | 15.57% |

VCF | 0.86 | 0.66 | 0.72 | 1.18 | 0.87 | 0.75 | 1.34 | 0.77 | 1.09 | 1.61 | 1.00 | 1.08 |

*(calculated by me based on data from Yahoo! Finance historical prices, linked above for each ETF)*

The lower the number, the higher the volatility. These will then be used to weight the monthly performance of each ETF. For instance, if XLV went up 1% in a month, the system would consider this to be a change of 1.18% because the VCF for XLV is 1.18, as shown above. In this way, the volatility of each ETF is normalized to the volatility of the other ETFs in the basket.

**Application of the rotation system to the compensated data**

The system determined the volatility-compensated 1-month, 3-month, 6-month, and 12-month performance, as well as the 6-month volatility, of each ETF.

Each of these parameters was ranked using the Excel RANK function. These ranks were weighted and added to arrive at a final rank as follows:

Weight1 * 1-month performance rank + Weight2 * 3-month performance rank + Weight3 * 6-month performance rank + Weight4 * 12-month performance rank + Weight5 * 6-month volatility rank = Total Rank.

If the S&P 500 was above its 6-month moving average, then the top-ranked sector ETF was purchased and held for one month. If the S&P 500 was below its 6-month moving average, then the top ranked bond security (either VUSTX or SHY) was bought and held for one month. At the end of the month, the values were recalculated and a new signal given.

In this backtest, I used weights of 1 for all five parameters discussed above.

**Results of the backtest**

From December 31, 1999 to December 31, 2013, the system outperformed the S&P 500 as shown in the graphic below, generated by me.

*System performance vs SPY during the backtest:*

The system's performance versus all of the ETFs in the trading basket is also shown below:

*System performance vs underlying ETFs during the backtest:*

A table showing the performance parameters of the system versus the S&P 500 ((NYSEARCA:SPY)) was generated by my Excel spreadsheet as follows:

since 12/31/99 | SYSTEM | SPY |

TOTAL | 8.02 | 1.57 |

CAGR | 16.04% | 3.26% |

Stdev | 13.91% | 15.77% |

Sharpe | 1.15 | 0.21 |

MaxDD | 17.23% | 50.78% |

Linearity | 11.81% | 17.13% |

Growth R | 1.36 | 0.19 |

*Calculated by me using data from Yahoo Finance, linked above.*

The volatility-compensated ETF sector rotation system dramatically outperformed the S&P in both risk and return.

As discussed in Parts I and II, linearity and growth ratio ("Growth R") are custom parameters that I use to measure how closely the system's returns align with an ideal exponential growth curve. A lower linearity means the system tracks closer to the curve. The table above shows that the system trades far more like a fixed compounded investment than the S&P 500. The graph below, generated by the author, shows the system's performance compared to an ideal growth curve on a logarithm scale:

*System performance vs ideal growth curve during the backtest (log scale):*

The curve hugs the ideal growth quite tightly and shows improved performance in recent years (far right).

Finally, the chart below shows the percentage of months in which the system invested in each ETF:

XLI | XLK | XLF | XLV | XLY | XLB | XLP | XLE | XLU | VUSTX | SHY | |

months | 8 | 5 | 5 | 25 | 21 | 6 | 11 | 19 | 17 | 66 | 5 |

% | 4.26% | 2.66% | 2.66% | 13.30% | 11.17% | 3.19% | 5.85% | 10.11% | 9.04% | 35.11% | 2.66% |

*Calculated by me using data from Yahoo Finance, linked above.*

The total time in equities was about 62.5% and in bonds 37.75%, about what one would expect for a normally-allocated, long-term portfolio.

**Conclusion**

A diverse basket of sector ETFs can be used in a rotation strategy if the strategy compensates for the variance in their volatilities. The strategy discussed above provided high returns with low risk over the backtest period. The results from Part I and Part II of this series are further corroborated by the 14-year backtest on SPDR sector ETFs discussed in this article.

**Disclosure: **I am long EDV. I wrote this article myself, and it expresses my own opinions. I am not receiving compensation for it (other than from Seeking Alpha). I have no business relationship with any company whose stock is mentioned in this article.