Here’s exactly how I do my comparative momentum calculation for my “asset rotation” portfolio. I’ll give a simple demonstration and then a comprehensive example. I’ve tried to base the calculation and assumption on research into what works in the market, mostly gleaned from CXOadvisory.com. Still, there’s a certain amount of data snooping that can’t be avoided. In plain English, that means the results could simply be a case of finding a pattern within random data points, and there’s no guarantee that it will continue to work.

Stock price movement is the result of human decisions, based partly in logic and partly in emotion. For that reason, I believe there’s a certain amount of our “herding” instinct that causes stocks to display characteristics of momentum. When stocks are going up, people want to invest, causing it to rise further. When stocks are falling, people want to sell, causing it to fall further. It’s difficult to pick the turning points, but the momentum seems to persist for a period of time (until it doesn’t).

There does tend to be some predictability around the timeframe for momentum. In periods under 12 months, momentum tends to persist. In periods of 2-5 years, performance tends to revert to the mean. That is to say, if a stock grew over the past 10 years, but fell out of favour, dropped in price and now looks cheap, chances are it will revert to its prior growth over the next 2-5 years. That’s the timeframe for value investors. On the other hand, it’s likely to keep falling for the coming few months, which is why momentum (or growth) investing tends to having higher turnover (number of trades).

Finally, capital is limited. A pension fund, an investment (mutual) fund or an individual investor only has so much money to work with. The manager (or individual) also has only so much time and attention to devote to investment decisions. For that reason, capital will tend to move between opportunities. If gold looks promising, an investment manager either has to raise funds or sell whatever else the fund holds in order to create cash to buy gold. When gold falls out of favour with the investment manager, it will be sold to buy something else (e.g. bonds or stocks). In the case of a balanced mutual fund, the weighting might be shifted gradually, reducing bonds to 30% and increasing stocks to 65%, before reducing bonds further to 25% and increasing stocks further to 70%. Those shifts of capital can be detected by fund flows (reported by IFIC), by volume information on the stock exchange or even by asset class performance (increased demand for stocks will push the price up).

Putting all of those ideas together, it’s possible to create a simple spreadsheet with past prices for stocks (XIU) and bonds (XBB). (In brackets are the index funds I chose; others might choose differently.) I also compare cash, in case stocks and bonds are falling simultaneously, which is rare.

Date XIU XBB Cash
01-Jun-12 16.26 31.82 119.61
25-May-12 16.55 31.48 119.59
18-May-12 16.12 31.32 119.56
11-May-12 16.68 31.3 119.53
04-May-12 16.91 31.25 119.51

Note: the cash “level” is calculated based on the high-yield savings account interest rate.

Working with these numbers, we can see that last week, stocks dropped from 16.55 to 16.26 (-1.75%), bonds rose from 31.48 to 31.82 (+1.08%) and cash rose slightly. If we look back further, 50 days (or 10 weeks) ago (to use the most popular moving average), stocks were at 17.94 and 200 days (or 40 weeks) ago (to use the other most popular moving average) stocks were at 17.14. Since they are lower today (-9.36% and -5.13% respectively), they obviously have negative momentum. Bonds, on the other hand, have positive momentum. 50 days ago, they were at 30.87 and 200 days ago they were at 31.15 (+3.08% and +2.15%).

In order to calculate the momentum for comparison, I find the average momentum over the period, overweighting the most recent data. In this example, for stocks, it would be (-9.36/10 weeks + -5.13/40 weeks) / 2 = average return per week of -0.532%. The same calculation for bonds results is (3.08/10 + 2.15/40) / 2 = 0.181%. Because the number for bonds is higher, I can say that bonds have more momentum and that stocks are unlikely to consistently grow in the coming few weeks.

In order to give some context to this particular example, bonds had greater momentum compared to stocks beginning January 4, 2008. Stocks came into favour April 18, 2008 until July 4, 2008. Bonds were (heavily) favoured until July 17, 2009 (except for 2 weeks from May 8 – May 22). As you can see, the model would have missed the top and bottom, but it would have saved investors a lot of loss and pain during the market crash of 2008. Not all signals are so clear, with momentum favouring bonds by less than 1% or 2% for a few weeks during the summer of 2010. The model turned negative of stocks again in June 2011, where it continues to suggest owning bonds.

For my more complex “asset rotation” model, I’ve modified the calculation slightly. I find the average return per month (not per week), and I average 1 month, 3 months, 6 months and 12 months. This heavily overweights the most recent performance, based on the herding characteristic I described earlier. The spreadsheet equation looks like this:

=((C2/C6-1)+(C2/C15-1)/3+(C2/C28-1)/6+(C2/C54-1)/12)/4

Where each row (C2, C3, C4…) is the weekly price of the index fund. I then compare the score of each index fund, finding the highest one:

=LOOKUP(MAX(O2:AA2),O2:AA2,B$1:N$1)

Where the column headings (B1 to N1) are the index fund symbol and the cells (O2 through AA2) contain the momentum scores calculate above. To give a more concrete example, column C contains the weekly prices of EWH (Hong Kong) (C2 is the past week, C3 is the week before, C4 is three weeks ago…), column P contains =((C2/C6-1)+(C2/C15-1)/3+(C2/C28-1)/6+(C2/C54-1)/12)/4 to calculate the momentum score and column AB will contain =LOOKUP(MAX(O2:AA2),O2:AA2,B$1:N$1). It will read “EWH” only if the Hong Kong index fund has the highest momentum score of all 13 index funds (including cash). (Note: the columns must list the funds in alphabetical order for the lookup to work: Cash, EWH, EWZ, FXI, IGT, IWM, SPY, XBB, XCS, XEM, XIN, XIU, XRE.)
Unfortunately, I have to update the index fund prices each week. I don’t mind, since it’s quick and it gives me a chance to review the markets and think about what the model is doing and why. If the model recommends a change, I enter the order at market open Monday morning to sell the old fund and buy the new one. One other weakness in this model is that it sometimes whipsaws in and out of positions, which is costly. I use weekly data to minimize trades, but it could probably still benefit from some smoothing.
I feel like I’ve given away a potential proprietary secret here. However, I’m not using it to make money from others and I don’t plan to market it. It has been profitable for me, and even if everyone started using it, I doubt it would stop working because herding will persist. I’m happy to benefit others, but I reserve the right to be capricious when deciding whether or not to answer questions about my strategy. I do welcome constructive criticism.
Asset Rotation / Momentum example

Leave a Reply

Your email address will not be published. Required fields are marked *