NOTE: The strategies below were traded long/short using yahoo finance data. For sma roc(1) a long signal is triggered when sma roc(1) is greater than zero , and a short signal when it is less than zero.  The SMA strategies were traded using the standard method, long>sma, short<sma.

Sometimes simple refinements that improve upon inherent flaws in other methods can really make a big difference. One of the primary problems with the venerable SMA or simple moving average of price is that it is distorted by  historical compounding and is slow to respond to price movements. When prices or trends change suddenly this lag and distortion can cause some serious whipsaw problems. Momentum or simple returns are a measure of velocity have the benefit of reacting much faster to price changes. This increased sensitivity and accuracy in capturing price fluctuations is highly valuable. It is also the reason that historical volatility calculations factor in the standard deviation of price returns rather than the standard deviation of prices divided by an average such as bollinger bands. The simplest and most basic application of this concept is to take the SMA of returns or the 1-day ROC (rate of change) instead of the price. The use of this method substantially improves returns and reduces drawdowns. Below is a chart of the 20, and 200 sma of prices versus the sma of ROC(1) on the SPY (S&P500). As they say, the devil is in the details!

December 21, 2009 8:11 am

DV,

Have you ever tried multiple timeframes, something like:

SMA( ROC(Close, 1) + ROC(Close, 10) + ROC(Close,20) + … , 8)

2. December 21, 2009 10:44 am

David,

What’s the buy/sell criteria for the SMA(ROC(1))? Does it compare ROC(1) with SMA(ROC(1)), or do you buy/sell when SMA(ROC(1)) is above/below zero?

dha,

I believe that’s Martin Pring’s Know Sure Thing.

Best,
Josh

December 21, 2009 10:55 am

Hello DV,

i guess your system is long when the ROC1>SMA(ROC1,200) for example.
I get very different returns.

In my case the SMA(ROC1,200) is 0.25 for Friday (12/18). Have you got the same?

Thanks
Frank

December 21, 2009 1:14 pm

Just playing around here but I wondered what would happen if I did a Golden Cross on this method. I took the 50 DMA of the ROC(1) and thw 200 Day of the ROC(1). Eyeballing it looks good. Try it and tell me what you think. A better golden Cross perhaps?

December 21, 2009 6:15 pm

Interesting. Thanks, DV!

My first thought was Average(RateOfChange(Close, 1), 200) simplifies to Summation(RateOfChange(C, 1), 200) if comparing with 0, so we have an arithmetic return average, which should be less than the geometric (compounded) return. True, but irrelevent.

Experimenting, I found that the Average(RateOfChange(C, 1), 200) is almost identical to RateOfChange(Close, 200) when compared with 0. When traded as suggested on SPY, the latter gives slightly better results always trading 100 shares, and indistinguishable results if compounding.