Login Page - Create Account

Technical Studies Reference

Moving Average - Zero Lag Exponential

This study calculates and displays a Zero Lag Exponential Moving Average of the data specified by the Input Data Input. This indicator was created by John Ehlers and Ric Way.

Let \(X\) be a random variable denoting the Input Data, and let \(X_t\) be the value of the Input Data at Index \(t\). Let the Input Zero Lag EMA Length be denoted as \(n\). The Lag \(L(n)\) in the data is computed as follows.

\(L(n) = \left\lceil{\frac{n-1}{2}}\right\rceil\)

For an explanation of the ceiling function (\(\left\lceil{\space\space}\right\rceil\)), refer to our description here.

The de-lagged data \(\Xi_t(X,n)\) is computed as follows.

\(\Xi_t(X,n) = \left\{ \begin{matrix} 2X_t - X_0 & 0 \leq t < L(n) \\ 2X_t - X_{L(n)} & t \geq L(n) \end{matrix}\right .\)

In the above notation, \(\Xi\) is the capital Greek leter "Xi".

We denote the Moving Average - Zero Lag Exponential at Index \(t\) for the given Inputs as \(ZLEMA_t(X,n)\), and we compute it for \(t \geq 0\) in terms of an Exponential Moving Average as follows.

\(ZLEMA_t(X,n) = EMA_t(\Xi(X,n),n)\)

Note: \(ZLEMA_t(X,n)\) is computed for \(t \geq 0\), but it is only displayed for \(t \geq n - 1\).

If \(L(n) = 0\), then \(ZLEMA_t(X,n)\) becomes identical to \(EMA_t(X,n)\).



The spreadsheet below contains the formulas for this study in Spreadsheet format. Save this Spreadsheet to the Data Files Folder.

Open it through File >> Open Spreadsheet.


*Last modified Friday, 19th June, 2020.