Available for Download

John Ehlers, the developer of MESA, has written and published many papers relating to the principles used in market cycles. Synopses for the papers available are displayed below. Download each by selecting their associated HyperText.


Ultimate Channel and Ultimate Bands

The Ultimate Smoother is used to create price channels and price bands having extremely small lag.

Ultimate Channel and Ultimate Bands, download 338Kb


The Ultimate Smoother

The UltimateSmoother is vastly superior to conventional smoothers such as moving averages because the smoothing is done with very little lag. The UltimateSmoother is derived and fully described in EasyLanguage code. The SuperSmoother and Bandpass filters are reviewed in the derivation process.

The Ultimate Smoother, download 579Kb


John Ehlers Interview in the April 2023 issure of Stocks & Commodities Magazine

This interview by Kevin Davies touches on many of the philosophical underpinnings of using the science of Digital Signal Processing (DSP) in the art of trading.

Link to


Just Ignore Them

Don't confuse data resolution and accuracy. This artile shows how to make a smoothing filter by downsampling.

Just Ignore Them, download 458Kb


Every Little Bit Helps

Using the average of Open and Close as the data sample has the advantages of removing a small amount of lag and providing a zero of transmission at the Nyquist frequency if your indicator does not already have one.

Every Little Bit Helps, download 173Kb


Recurring Phase of Cycle Analysis

On the occasion of the 40th anniversary of Stocks & Commodities Magazine, John Ehlers wrote his 100th article for them. He examines the relationship between the cycle phase and its frequency. He also analyzes the relationship between the cycle mode and trend mode in the data.

Recurring Phase of Cycle Analysis, download 435Kb


Pairs Rotation

Drawdown is minimized by rotating between a stock and an index, depending on which is stronger. Equity growth can be maximized by rotating between Sector ETFs, depending on which is stronger. Using Ehlers Loops gives you the means to effect rotation timing with maximum effectiveness.

Pairs Rotation, download 231Kb


Ehlers Loops

Plotting price versus volume, where both data sets are scaled in terms of standard deviations, provides the discretionary trader with a means to reliably predict future price action.

Ehlers Loops, download 217Kb


(Yet Another) Improved RSI

This RSI swings between -1 and +1 and has a nominal zero mean. The indicator is natively smoothed using Hann Windowing.

(Yet Another) Improved RSI, download 277Kb


An Improved Directional Movement Indicator

Directional Movement has been part of Technical Analysis for five decades, invented using pencil and paper for its calculations. Directional Movement is actually a pretty good indicator, but it carries a lot of baggage due to the available technology at the time it was created. It is time to freshen it up for use in modern algorithmic trading.

An Improved Directional Movement Indicator, download 215Kb


A Thinking Man's MACD

As a difference of two FIR filters, I have created a thinking manís MACD because there is a rationale to establish the lengths of the filters. Further, FIR filters have linear phase responses, so that the differencing obviates the need for a third smoothing average.

A Thinking Man's MACD, download 528Kb



Simple Moving Averages (SMA) are ubiquitous in technical analysis. However, the truth is that they are not very good filters. The paper presents simple, easy to program, modifications that represent a near optimum compromise between filtering and lag for their use in technical analysis of the market.

Windowing, download 527Kb


A Technical Description of Market Data for Traders

Market data is a nonstationary random process that has a pink noise spectrum. The spectrum can be whitened by taking a derivative. This exposes the amplitude modulation in the waveform, which is correlated to volatility. The amplitude modulation can be stripped by hard limiting the waveform, and then integrating that waveform. The process of taking the derivative and then integrating it reconstitutes the original timing signals in an indicator having a zero mean. This process is basically the same as an FM demodulator of radio signals.

A Technical Description of Market Data for Traders, download 816Kb


Noise Elimination Technology

Remove high frequency noise from indicators using Kendall Correlation. This rank ordered correlation nonlinearly clarifies your indicators rather than using filters

Noise Elimination Technology, download 291Kb


Truncating Indicators

The Exponential Moving Average (EMA), and consequently the MACD and other indicators, are Infinite Impulse Response (IIR) types of filters. Of course, the computation of an IIR filter does not extend to infinity. The filter computation can only start at the beginning of the data being used. Therein lies the problem. The answer your get from an IIR filter will be different depending on your data length. If the data stream is sufficiently long the answer may be the same for all practical purposes, but it will be different nonetheless. So, initialization is one problem that is resolved by truncating the indicators

Truncated Indicators, download 294Kb


Correlation as a Cycle Indicator

Correlation as a cycle indicator is robust, yielding only relatively small errors even if an incorrect judgement is made in assigning the dominant cycle to the indicator. Orthogonal component correlations can be made to enable precise identification of the correct trade entry and exit points. However, the cycle mode indicator fails when the market enters a trend mode. But that failure can be used to rapidly identify the current market mode. The Phasor angle display indicates the correct trade position for either the cycle mode or the trend mode.

Correlation as a Cycle Indicator, download 1236Kb


Correlation as a Trend Indicator

This indicator is straightforward. Just imagine correlating prices with a straight line having a positive slope. If the price trend is up, the correlation is nearly +1. If the price trend is down, there is anticorrelation and the correlation is nearly -1.

Correlation as a Trend Indicator, download 470Kb


Deviation Scaled Moving Average

The DSMA is an adaptive moving average that features rapid adaptation to volatility in price movement. It accomplishes this adaptation by modifying the alpha term of an EMA by the amplitude of an oscillator scaled in Standard Deviations from the mean.

Deviation Scaled Moving Average, download 276Kb


Fourier Series Model of the Market

Even the most casual observer will note that cycles are present in market data. Since this is so obvious, it is natural to try to imbed the analysis of these cycles in trading strategies to make them better and more profitable. The purpose of this article is to describe such analysis.

Fourier Series Model of the Market, download 650Kb


A Peek Into the Future

Trading would be considerably less difficult if we could look into the future. Of course that is literally impossible, but signal processing can provide a filter with negative group delay. That filter is described in this article.

A Peek Into the Future, download 284Kb


Anticipating Turning Points

Anticipating price turning points is the basis of a good swing trading strategy. From a statistical point of view, anticipating a price turning point is similar to expecting a reversion to the mean.

Anticipating Turning Points, download 728Kb


Walk Forward Optimization

It is common knowledge that simple backtesting can provide a poor probability of future trading results. A better indicator of future performance can be done through Walk Forward Optimization (WFO), where out of sample testing is done a little at a time. However WFO testing is not without its own problems. This paper describes how to get reliable results.

Walk Forward Optimization, download 185Kb


A Procedure to Evaluate Trading Strategy Robustness

This paper describes a unique way to visualize the potential robustness of a trading strategy in the TradeStation or Multicharts platforms. The procedure includes a way to identify the optimization range of input parameters.

A Procedure to Evaluate Trading Strategy Robustness, download 234Kb


Why Traders Lose Money (and What to Do About It)

An article in the May 2014 issue of Stock & Commodities Magazine described how to create artificial equity curves by just knowing the Profit Factor and Percent Winners of a Trading Strategy. Bell Curve statistics for trading randomly selected stocks and portfolio trading are also included. This is an Excel Spreadsheet that enables you to experience these statistical descriptors of trading system performance.

CoinToss.xls, download 511Kb


Predictive Indicators for Effective Trading Strategies

Technical traders understand that indicators need to smooth market data to be useful, and that smoothing introduces lag as an unwanted side-effect. We also know that the market is fractal; a weekly interval chart looks just like a monthly, daily, or intraday chart. What may not be quite as obvious is that as the time interval along the x-axis increases, the high-to-low price swings along the y-axis also increase, roughly in proportion. This "spectral dilatation" phenomena causes an undesirable distortion, one that has either not been recognized or has been largely ignored by indicator developers and market technicians.

Predictive Indicators, download 326 Kb


Inferring Trading Strategies from Measured Probability Density Functions

This was the Runner-up Winner of the MTA's 2008 Charles H. Dow Award. In this paper I show the implications of the various forms of detrending and how the resultant Probability Distributions can be used as strategies to generate effective trading systems. Results of these robust trading systems are compared to standard approaches.

Inferring Trading Strategies, download 754Kb


Zero Lag

This paper show and interactive way to eliminate as much lag as desired from smoothing filters. Of course, reduced lag comes at the price of decreased filter smoothness. The filter exhibits no transient overshoot commonly found in higher order filters.

Zero Lag , download 335Kb


Empirical Mode Decomposition

A novel approach for cycle and trend mode detection.

Empirical Mode Decomposition , download 753Kb


Fourier Transform for Traders

The problem with Fourier Transform for the measurement of market cycles is that they have a very poor resolution. In this paper I show how to use another nonlinear transform to improve the resolution so that the Fourier Transforms are usable. The measured spectrum is displayed as a heatmap

Fourier Transform For Traders, download 217Kb


Swiss Army Knife Indicator

Indicators are just transfer responses of input data. By a simple change of constants, this indicator can become an EMA, SMA, 2 Pole Gaussian Low Pass Filter, 2 Pole Butterworth Low Pass Filter, an FIR smoother, a Bandpass filter, or a Bandstop filter.

Swiss Army Knife, download 261Kb


Ehlers Filter

An unusual nonlinear FIR filter is described. This filter is among the most responsive to price changes but smoothest in sideways markets.

Ehlers Filter, download 156Kb


System Performance Evaluation

Profit Factor (gross winnings divided by gross losses) is analogous to the payout factor in gaming. Thus, when the Profit Factor is combined with the percentage winners in a series of random events, instances of how a trading strategy equity growth can be simulated. This paper describes how common performance descriptors are related to these two parameters. An Excel spreadsheet is described, allowing you to perform a Monte Carlo Analysis of your trading systems if you know these two parameters (out of sample).

System Evaluation, download 199Kb



FRAMA (FRactal Adaptive Moving Average). A nonlinear moving average is derived using the Hurst exponent.

FRAMA, download 131Kb



MAMA is the mother of all adaptive moving averages. Actualy the name is an acronym for MESA Adaptive Moving Average. The nonlinear action of this filter is produced by the flyback of phase every half cycle. When combined with FAMA, a Following Adaptive Moving Average, the crossovers form excellent entry and exit signals that are relative free of whipsaws.

MAMA, download 52Kb


Time Warp Without Space Travel

Laguerre Polynomials are used to generate a filter structure similar to a simple moving average with the difference that the time spacing between filter taps is nolinear. The result enables the creation of very short filters having the smoothing characteristics of much longer filters. Shorter filters mean less lag. The advantages of using the Laguerre Polynomials in filters is demonstrated in both indicators and automatic trading systems. The article includes EasyLanguage code.

Time Warp Without Space Travel, download 162Kb


The CG Oscillator

The CG Oscillator is unique because it is an oscillator that is both smoothed and has zero lag. It finds the Center of Gravity (CG) of the price values in an FIR filter. The CG automatically has the smoothing of the FIR filter (similar to a simple moving average) with the position of the CG being exactly in phase with the price movement. EasyLanguage code is included.

The CG Oscillator, download 46Kb


Using the Fisher Transform

Many trading systems are designed using the assumption that the probability distribution of prices have a Normal, or Gaussian, Probability Distribution about the mean. In fact, nothing could be farther from the truth. This paper describes how the Fisher Transform converts data to have nearly a Normal Probability Distribution. Given the Probability Distribution is Normal after applying the Fisher Transform, the data is used to create entry points with surgical precision. The article includes EasyLanguage code.

Using the Fisher Transform, download 66Kb


The Inverse Fisher Transform

The Inverse Fisher Transform can be used to generate an oscillator that switches quickly between oversold and overbought without whipsaws.

The Inverse Fisher Transform , download 133Kb


Gaussian Filters

Lag is the downfall of smoothing filters. This article shows how lag can be reduced and the highest fidelity smoothing is obtained by reducing the lag of high frequency components in the data. A complete table of Gaussian filter coefficients is provided.

Gaussian Filters, download 199Kb

Poles and Zeros

A description of digital filters in terms of Z Transforms. The ramifications of higher order filters are described. Tables of coefficients for 2 Pole and 2 Pole Butterworth filters are given.

Poles and Zeros, download 397Kb