Previous: Volume Weighted Moving Average, Up: Averages [Index]

The zero-lag exponential moving average (ZLEMA) is a variation of the EMA (see Exponential Moving Average) which adds a momentum term aiming to reduce lag in the average so as to track current prices more closely. For a given N-day period the formula is

ZLEMA = EMA of (close + (close-close[lag]))

Where the “lag” period is *(N-1)/2*. A plain EMA applied to straight
line points ends up always being the close at *(N-1)/2* days ago. So the
idea of adding in this difference “close - close[lag]” is to compensate for
that lag, to make the ZLEMA track a straight line exactly. Of course real
data is rarely a straight line, but the principle is to push the ZLEMA towards
approximately the current close.

The calculation still ends up as various weights on each past price. The
effect of the momentum term is to make recent prices “over weight” and thus
tracked closely, and with negative weights on past terms. There’s a sudden
jump in the weights at the momentum lag point. For example the following
graph is the weights for *N=15* (lag point 7).

The EMA lag on a straight line can be calculated easily using the power
formula for the EMA (see Exponential Moving Average), applied to an
infinite sequence of prices going downwards by 1 each day and reaching 0 at
today. On non straight line sequences the lag is not a simple *(N-1)/2*,
but will vary according to shape, period of cyclical components, etc.

Previous: Volume Weighted Moving Average, Up: Averages [Index]

Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Kevin Ryde

Chart is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.