Sector Rotational Model using Fidelity Select Funds

Over the last few years, relative strength or cross-market momentum systems have been working quite well. I’ll describe a basic system today that uses Fidelity Select Funds. The basic idea is to stay invested in the funds that are performing best, and when a fund’s relative strength falls below a cutoff level, you upgrade to a stronger fund.

Here are the steps involved in constructing a sector rotational model.

  1. First select a collection of funds. I chose the Fidelity Select Funds, but also added two bond funds (FGMNX and SHY) which allow the model to get defensive when all of the sector funds are doing poorly.
  2. Next decide how many funds you want to hold at any given time. I will start with one holding for simplicity, but will also consider using two to five holdings.
  3. Determine how frequently you want to allow buys or sells. I have chosen weekly, to allow the analysis to be done over the weekend.
  4. Select a time period for testing. I selected Jan. 1, 2005 as a start date and the end of last week as the end date. This time period includes both bull and bear markets. The S&P 500 was basically unchanged for this period.
  5. Select a relative strength ranking system. There are infinitely many different ways to do this. Academic research has shown that relative strength models tend to work best using a performance window of three to twelve months. Some systems use weighted averages of different time frames. I like the ranking system used on Bob Young’s Mutual Fund Page. Bob’s ranking method is proprietary, but is pretty close to four month performance, so I used four month performance as a relative strength measure for this example. Some systems use volatility adjusted relative strength, but to keep it simple, I just used the rate of return for the last four months (84 trading days).
  6. Establish the sell criteria. There are 40 funds used for this model (38 Fidelity Select funds + FGMNX + SHY). I selected a cutoff of 10 as the sell criterion. In other words, when a fund falls below the top ten, it is replaced by the highest ranking fund not already held. I also required a minimum hold time of 30 days for any fund, since Fidelity charges an exit redemption fee for positions held under 30 days. I ran the analysis with no stop losses, but ran another analysis using a 15% starting stop loss and trailing stop loss for risk management and to see how it affected the results.

 The results for the initial model without stop losses were surprisingly good for such a simple system:

Results for the time period (1/10/2005 through 3/26/2010)

  • Total Number of Trades= 19
  • Model Return = 18.0%
  • S&P 500 Return= -0.4%

When I added the 15% stop losses the return actually increased to 24% a year. This occurred mainly because the model was able to get into bond funds earlier in 2008 during the meltdown.

I also looked at increasing the number of holdings. Here are the results using the same model with the 15% starting and trailing stop losses:

  • Two Fund Model=    18.6%
  • Three Fund Model= 15.4%
  • Four Fund Model=    14.8%
  • Five Fund Model=    11.2%

As additional funds are added, the volatility tends to decrease, but the annualized returns also decrease, although in each case they handily beat a buy and hold of the S&P 500. This result implies that relative strength worked well during this time period, but as you get further down the ranking list, the outperformance decreases.


6 responses to “Sector Rotational Model using Fidelity Select Funds

  1. Why not test the model over a longer time period as the data is available from fidelity.
    It would be nice to see how the model performed from 2000-2010.
    Thank you for your work.

    • quantinvestor

      I usually don’t like to go back too far in time, because the nature of markets change too much (e.g. things like volatility etc). It is probably best to use an adaptive version of this model, where the parameters are “re-tuned” every year or so using the previous three to five years of data (e.g.walk forward testing).

      But I was also curious and ran the model (as-is with no changes) for the entire 10 year period. The returns were lower, but still outperformed buy and hold. The returns below are annually compounded.

      1 fund model= 11.2%
      2 fund model= 9.7%
      3 fund model= 8.0%
      4 fund model= 7.7%
      5 fund model= 6.2%
      Index return= -2.1%

  2. How do you know when to go to the bond fund and then when to go back? It rarely will be the top fund.

  3. quantinvestor

    Jim- The model I described only goes to a bond fund when there is a sell of another fund and the bond fund becomes the top fund. This occurred for several months from Oct 2008 through Feb. 2009 in the one fund version.

  4. quantinvestor…I like this strategy…have you ever correlated an ETF with the select fund…I think this may save costs.

    • One advantage of the Select funds is there is no trading cost (e.g. bid-asked spread or commissions).

      You can also use models like this with ETFs, but trading costs can add up. For small portfolios the commissions can hurt, and for
      large portfolios the bid-asked spread and “slippage” when trading the ETFs.

      Recently I have moved away from this kind of model, but still use a relative strength model with Fidelity select funds for a small portion of one of my IRAs. I have mainly moved toward income-based strategies with closed-end funds, preferred stock, junk bond funds and special situation investing. The equity curves are much smoother. Relative strength still probably works over the long term but there can be a lot of volatility in sideways markets. It did not work so well in 2011.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s