Perhaps the best analogy for trading with conventional
moving averages is turning up late to a bottle party. By the time you get there, the only drink left isn't fit to clean
your car tyres with. (Though it of course tastes as if you'd already tried to use it to do just this). The bottom line
is that you've missed the boat and all the good stuff has long gone - always assuming there was any in the first place.
Same with a moving average. By the time you get
your buy or sell signal most of the action is over. If you're lucky you get the crumbs, because the moving average's
Achilles heel is lag. While it may smooth out much of the day to day noise in a market and appear as an elegant curve
on your charts, it trails the raw data series. The longer the average, the smoother the output, but the further it
falls behind the underlying market.
As a result, using slower (longer) averages to
determine trade entry points results in late entries on the flip side, shorter lengths typically result in
whipsaws in sideways markets. Attempted solutions have come from a variety of angles, ranging from exponential moving
averages, where more recent data has a greater influence on the value of the average, to volatility moving averages,
where data is weighted according to the volatility of the market. While some of these techniques have gone some way
towards alleviating the lagging problem, few (if any) have really overcome it.
One that looks a strong contender is the JMA (Jurik
Moving Average), developed by Jurik Research in California, which was formed in 1988 and specialises in algorithms to
identify and classify complex data. The company uses signal processing techniques originally intended for military
projects and applies them to other fields including industrial and financial markets. JMA is available in a number of
formats Omega TradeStation or SuperCharts, Excel or (for the programming fraternity) as a DLL (dynamic link
The TradeStation version of the JMA (reviewed here)
actually consists of twelve functions, indicators and systems, and comes with a detailed manual covering the
installation routine as well as the theory and pitfalls of moving averages. The underlying calculations for the JMA are
not disclosed, but it would appear that the algorithm includes some form of signal processing filter for removing noise
from the raw price data prior to calculating the average.
As can be seen from Chart 1, (a five minute
intraday candlestick chart of the DAX future with the JMA in red), the JMA is far more responsive than a conventional
simple moving average (in yellow). (All the averages were plotted using a fourteen bar period.) It clearly clings far
more closely to the price bars than the simple moving average - especially as the afternoon rally accelerates from
shortly after 1.30pm. Though an exponential moving average (coloured cyan) fares better than its simple counterpart it
still cannot come close to the JMA's speed of reaction.
This is particularly interesting for the
possibilities that it opens up for day trading. Traditionally moving averages have been regarded as unsuitable for this
because of their slow response particularly in markets that have significant gaps between the closing price on
one day and the opening price on the following one. The distortion caused by this gap in a moving average makes the use
of trading systems based on moving averages rather ill advised. As can be seen from Figure 1, JMA is rather
different in this respect. The lack of lag means that even after a significant overnight gap, the JMA is back in
contact with the market within the first four bars of the new trading session. As a rough test of the implications of
this, I constructed two fairly crude day trading systems based on a moving average crossover one using a simple
moving average and one using JMA, with both using a simple trailing stop exit method and trading both sides of the
market. Though the test was anything but mathematically rigorous, the results were nevertheless of interest. The JMA
based system had roughly twice the number of winning trades and seventy percent greater net profit.
The lack of lag and superior smoothing qualities of
the JMA open up possibilities in other areas. In the version supplied for TradeStation, the Easy Language (Omega
Research's proprietary programming code) formula provided by Jurik Research uses the closing price of each bar as the
default input. However, there is nothing to stop the JMA being applied to other indicators as well. The manual includes
a demonstration of applying JMA to stochastics - replacing %D with a JMA smoothed version of %K produces a far more
stable plot than simply using the standard fast %K and slow %D lines. The net result of this modification is to filter
out a lot of false signals. The manual also includes some simple examples that show you how to modify the standard code
supplied with the package to take advantage of this generic ability.
Apart from the raw data and average length inputs
common to any moving average, JMA also has a third input called phase, which allows for the fine tuning of the amount
of lag in its output. The default setting is 0, with a range from 100 (maximum lag) to +100 (minimum lag). I
found that switching from a setting of 0 to 100 in most cases made the JMA approximately one bar slower in
catching up with a sudden change of direction in the market - on the other hand the plot produced was slightly
smoother. Switching to +100 made for faster response but tended to cause the JMA to overshoot whenever there were
sudden gaps between price bars, such as the overnight gap on an intraday chart. The JMA package includes a rather handy
function called "JRC.JMA.flex", which allows you to dynamically alter the inputs to the JMA bar-by-bar. At
its simplest, you could use this to lower the phase input from +100 to (say) 0 at the start of a day to prevent the JMA
overshooting on an opening price gap.
At $205, the JMA package is good value, as it not
only includes a generous selection of pre-built indicators and systems but the manual supplied also makes a thorough
job of stepping you through their effective deployment. Though the inner mechanics of the JMA algorithm are not
disclosed, it certainly appears robust testing on wide selection of data produced no erratic output. The bottom
line is that this is the sort of tool that could add significant value on any trading desk, both in its own right and
as a highly efficient smoothing mechanism for other technical analysis techniques.
Neat and good value. Even if you don't use it as a trading tool in its own right, it's worth having
in the kit for smoothing other indicators and functions.
JMA is available from:
JURIK RESEARCH & CONSULTING