I had a chance to play around with momentum strategies on 58 shares I had data for.
The basic strategy I had in mind was to buy at a 52w high, and sell at a 52w low. I also combined it with other ideas, such as looking for gap downs and gap ups. Here is a table I came up with:
24 WIN LO-T + HI-T 25 WIN GUP_T + GDN_T 26 WIN HI-T|GUP_T + LO-T|GDN_T 28 WIN HI-T + GDN_T 28 WIN HI-T + LO-T|GDN_T 29 WIN GUP_T + LO-T 33 WIN HI-T|GUP_T + LO-T 35 WIN HI-T + LO-T
The bit before the “+” is the buy criteria, and the bit after is the sell criteria. LO-T means 52w low, HI-T meams 52w high, GDN_T means a gap down of more than 10%, and GUP_T is a gap up.
We can see that a very simple stategy: buying at 52w highs and selling at 52w lows (the last row), is the best stategy, beating a simple buy-and-hold in 35 cases out of 58.
The worst strategy is the opposite: buying lows, and selling highs. Mixing in other criteria did not seem to help.
Looking at the best category, the mean relative return over approx 9 years was 1.343, which equates to an annual outperformance of about 3.3%.
It’s OK, but hardly outstanding.
Possible criticisms of my approach are that:
- the data set is too small
- I am data-mining by choosing only the best category
- the data may be inaccurate
- my calculations might actually be wrong
- there may be some size effect
As an example, I get the following buy/sell signals for CHG (Chemring) over the last 9 years:
BUY 2008-02-01 1991.03 2008-02-01 1991.03 1.000 HI-T 2007-03-06 1490.86 0.749 LO-F SELL 2008-10-10 1652.91 2008-06-09 2229.28 1.349 HI-F 2008-10-10 1652.91 1.000 LO-T BUY 2009-09-16 2061.10 2009-09-16 2061.10 1.000 HI-T 2008-10-29 1375.23 0.667 LO-F SELL 2011-03-28 645.13 2010-04-29 3208.59 4.974 HI-F 2011-03-28 645.13 1.000 LO-T Scale factor is: 0.259848119387965 Non-momo price gain is: 1792.18, 167.50, 0.0934615942595052 WIN HI-T + LO-T RELSCALE HI-T + LO-T 2.7802662842073
It turns out that this was a fairly disasterous share. The robot, for example, buys at 2016.1p, and sells at 645.1p. Ouch. The “scale factor” for the share, 0.2598, means that the robot turn £1 into 26p. Obviously, that’s “not ideal”. It is better than a buy-and-hold approach, though, where you would have lost over 90% of your money.
I conclude that you can’t apply that momentum strategy on just any share. In CHG’s case, the robot bought into quite a collosal uptrend and was tricked into buying what was effectively a bull trap.
I think the shares are in a better place now. They have lost 57% over 5 years, but it looks like that momentum may be reversing. My hunch is that’s the kind of situations to watch out for.
Here’s the robot’s decisions on Barclays:
BUY 2009-10-14 354.35 2009-10-14 354.35 1.000 HI-T 2009-01-23 47.30 0.133 LO-F SELL 2010-07-01 235.88 2009-10-14 354.35 1.502 HI-F 2010-07-01 235.88 1.000 LO-T BUY 2012-12-17 237.31 2012-12-17 237.31 1.000 HI-T 2012-07-25 139.07 0.586 LO-F SELL 2014-03-03 247.85 2013-05-22 308.39 1.244 HI-F 2014-03-03 247.85 1.000 LO-T BUY 2015-02-23 262.85 2015-02-23 262.85 1.000 HI-T 2014-07-11 207.90 0.791 LO-F SELL 2015-11-20 221.90 2015-07-31 288.95 1.302 HI-F 2015-11-20 221.90 1.000 LO-T BUY 2016-12-07 234.85 2016-12-07 234.85 1.000 HI-T 2016-06-27 127.20 0.542 LO-F HOLD 233.10 Scale factor is: 0.582549180700322 Non-momo price gain is: 513.60, 233.10, 0.453855140186916 WIN HI-T + LO-T RELSCALE HI-T + LO-T 1.2835575255585
The basic problem with Barclays is that the shares have been range-bound since about 2009. That is an extraordinary long time. Momentum strategies like a good strong trend to them (you don’t say!), and it can’t do well with prolonged sideways movements. BARC is not unique in having a sideways trend for a number of years – although it is perhaps unique for the sheer length of time it has been moving sideways. Look at the EZJ chart. you can see it traded sideways from 2008-2011. The problem is, there does not seem to be any way to know in advance if a sideways movement is about to be entered or exited.
So, in conclusion, I don’t think momentum is the panacea. You have to apply it judiciously.
Stay safe out there.