Select Page

Jan 25, 2021

# What Is the Kaufman Efficiency Ratio?

The Kaufman Efficiency Ratio (ER) was developed by Perry Kaufman and is introduced in his excellent book ‘Trading Systems and Methods’.

The ER serves to quantify the amount of market noise. Noise is the random and erratic price movement that surrounds any underlying market direction.

# Kaufman Efficiency Ratio Calculations

The ER is calculated as the absolute net change in price divided by the absolute sum of the individual price changes over that period. Closing prices are used.

A sample calculation for a 5-period ER is shown below.

The ER oscillates between 0 and 1. Trending markets typically exhibit ERs closer to 1, while choppy markets have ERs closer to 0.

Like most indicators, the ER is presented as a rolling average. Here’s how the ER looks in MT4:

## Lookback Period

The lookback period should be equal to the longest run of upward/downward price changes. Using a longer lookback period will ‘squeeze’ the ER values together, possibly making it less useful in filtering entry signals.

For most markets and timeframes, a lookback in the 10-20 range should make sense.

# How to Use the Kaufman Efficiency Ratio

In the Market Research portion of my strategy development process, I used the ER to compare the ‘trendiness’ of different forex markets.

The objective was to trade trend following strategies on markets that trend well, and countertrend (or mean reversion) strategies on noisy, ranging markets.

Let’s try a different approach here.

## Using the ER as an Entry Filter

For this blog post, the ER will be used as an entry filter instead.

If you have a trend following strategy, you will only enter the market when the ER is high. Conversely, for mean reversion strategies, you want to enter when the ER is low.

The entry threshold value for the ER is highly subjective. For example, how high must the ER value be, in order for a trend following entry to be allowed? Unfortunately, there is little consensus on what this threshold should be.

Before deciding on a value, you could analyze your market’s historical ER values to determine what is considered an ‘average’ value. Then select a threshold value depending on how strict you want your entry filter to be. I find that a threshold value of 0.75 tends to cut off at least 70-80% of trades, which is way too much for me.

For starters, let’s just use a threshold value of 0.5.

I will code the threshold value as an optimizable parameter (KThreshold). We will optimize it later in the post.

Now let’s program a simple trend following strategy that will let us apply the ER as an entry filter.

# The Basic Trend Following Strategy

If you’ve been reading some of my posts, you’ll know I’m a fan of Bollinger Bands. Because they work.

So we’ll use Bollinger Bands to generate these basic trend following entries:

Buy when price closes above the upper Bollinger Band
Sell when price closes below the lower Bollinger Band

Entries will be on stop orders placed at the previous bar’s high/low. Sacrificing a few pips for some trend confirmation is usually a wise trade-off.

A basic 150-pip stop loss and trailing stop will be added for trade management. Trailing stops tend to work well for mid to long-term trend strategies.

## Market and Timeframe

The M30 GBJPY will be tested.

The GBPJPY has garnered quite a reputation among retail traders. With high volatility and huge trading ranges, the GBPJPY is nicknamed the ‘widow maker’ for good reason.

While its volatility results in high profit potential for trend strategies, false breakouts are common. Our ER will have plenty of opportunity to filter out the noise, and hopefully let us focus on the cleanest, highest probability breakouts.

## Backtest Results

The strategy was programmed in AlgoWizard and tested over the last 10 years.

Results are actually pretty decent. Let’s see whether the ER can better this.

# Trend Following With the Kaufman Efficiency Ratio

The ER entry filter condition was added to AlgoWizard as shown below:

I used an initial ER lookback period (KaufmanPeriod) of 15. You can download the strategy and optimize this parameter if you wish.

Results have improved, with profit factor and return/max drawdown ratio increasing to 1.37 and 9.25, respectively. Number of trades has fallen 16%, which is not too bad.

But wait, the win rate actually dropped from 41% to 39%. Usually you expect entry filters to improve your win rate. Let’s examine the backtest metrics to find out what happened.

The detailed metrics for the ER strategy are shown below. The red text in brackets indicate the corresponding metric without the ER filter.

Some observations on the effects of adding the ER:

1. The improvement in return/max drawdown was due to a reduction in maximum drawdown. Net profits were similar.
2. The largest win and largest loss over the 10 years remained the same.
3. The payout ratio (average win/average loss) increased from 1.84 to 2.1. This was because the average win increased, and the average loss decreased.
4. The net result is that expectancy increased from \$15.27 to \$18.14. That’s why net profits stayed similar despite losing 16% of trades.

Based on the findings above, I reason that the ER helped focus on longer term trends that showed strong momentum at the start. Riding these long trends helped boost the overall expectancy, even though the win rate actually dropped.

# Optimizing the Efficiency Ratio Threshold

The backtest above used a threshold of 0.5. What happens if we vary this?

I decided to do a quick optimization in StrategyQuant.

The ER threshold was varied from 0.1 to 0.9, in steps of 0.01, giving a total of 81 optimization runs.

It seems that once the threshold goes past 0.6, net profit starts dropping rapidly. I wanted to see how the return/max drawdown and number of trades would vary, so I exported the results to Excel and plotted the following:

It seems that the initial guess of 0.5 for the ER threshold was quite a good one. Looking at the optimization profile above, the best return/drawdown values are all from the 0.5 threshold area.

Unfortunately, the ER only seems to improve return/max drawdown when the threshold is in the 0.45-0.60 range. It does not inspire confidence when only a narrow range of parameters is effective. Ideally, you want a robust strategy that performs well over a wide range of parameters.

In addition, once the threshold increases past 0.4, the number of trades falls rapidly.

You inevitably sacrifice trades, and thus lose some backtest reliability, whenever you add an entry filter. The performance improvements need to justify these drawbacks.

This is an example of how plotting a parameter’s optimization profile can tell you whether it is a robust addition to the strategy. If strategy performance only improves in a narrow parameter range, or if there is no clear trend in performance, it’s probably best not to use it.

Personally, based on the M30 GBPJPY performance above, I’d rather experiment with other entry filters before making a decision. Of course, testing the ER on a different market, or with different entry rules, could yield different results.

Alternatively, you can experiment with other time, trend and volatility filters.

# Wrapping Up

The Kaufman Efficiency Ratio provides a simple method to quantify a market’s noise. In other words, it gauges how smoothly prices are moving from one level to another.

When used as an entry filter in a trend following strategy, it can screen out impulsive moves that may signal the beginning of a long trend. Entries will only be allowed when the ER exceeds a certain threshold.

If you wish to use the efficiency ratio in a countertrend strategy instead, entries should only be allowed when the ER is below a certain threshold.

When determining the ER threshold, it is advisable to plot its optimization profile (strategy performance vs. threshold level). This will help you select a threshold value that is both optimal and robust.

You can download the complete trend following strategy in the Free Strategies section.

## Popular Posts

### What is Considered Good Trading Performance?

Are you taking too much risk for too little return? Perhaps the professional hedge funds can help define good trading performance.

### Automated MACD Divergence Forex Trading Strategy

The MACD is a simple and effective momentum indicator. Here’s how you can save screen time by programming a MACD divergence strategy for the GBPJPY!

### Laguerre RSI Trend Following Strategy

The Laguerre RSI attempts to improve the responsiveness of the regular RSI, whilst keeping whipsaw trades to a minimum. Let’s see how well it detects short-term pullbacks for a trend following strategy!

### What Is the Kaufman Adaptive Moving Average?

The Kaufman Adaptive Moving Average is a unique indicator that automatically adapts to the market’s noise. Here I explain its inner workings and show you how to build a trend following strategy around it.

### What is Fixed Ratio Money Management?

Have you heard of fixed ratio money management? How does it compare to the popular fixed fractional approach? Here I’ll explain how fixed ratio works, and see how it stacks up against fixed fractional money management.

### Build a Diversified Portfolio With QuantAnalyzer

The ability to efficiently trade a diversified portfolio of strategies is one of the biggest advantages of algorithmic trading. Here we will use QuantAnalyzer’s Portfolio Master to build a portfolio consisting of high performing, uncorrelated strategies.

### What Is the QQE Indicator?

The QQE is a mysterious indicator that sometimes pops up in trading forums. Does it deserve a place alongside the more traditional momentum indicators like the RSI and CCI? Let’s add it to a trend following strategy to find out!

### Do Bollinger Bands + Candlestick Patterns Work?

Bollinger Bands are great at detecting overbought and oversold conditions. Let’s use them to develop a countertrend strategy, and then refine our entries using limit entries and candlestick patterns.

### How Good Are The Bollinger Bands’ Trailing Stops?

Trailing stop losses are a popular feature in many trend following systems. Bollinger Bands, the ever-popular technical indicator among retail traders, actually contain two inbuilt trailing stops. Are these any good? Let’s find out!

#### Make your money work for you!

Get promotions, trading ideas and strategy development tips delivered to your inbox!

## What’s the Best Time to Trade Forex?

The forex markets are open 24/5, but not all hours are created equal. Here I dissect my broker data to determine the best time to trade forex.

## Forex Weekend Gaps: Can You Exploit Them?

Have you noticed that forex weekend gaps usually reverse within 3 days? Here I’ll program a mean reversion strategy to exploit gaps over the last 18 years!

## Dynamic Position Sizing: Is It Time to Go Big?

Should you increase your lot sizes for higher probability trades? Let’s code a dynamic position sizing scheme to capture more outsized wins!

## Pivot Points: A Reliable Support & Resistance Indicator

Pivot points are the perfect tool if you trade using support & resistance. Here’s how to develop an automated pivot points forex strategy!

## Money Flow Index: An Improved RSI?

The Money Flow Index is sometimes called the volume-weighted RSI. Can it outperform the RSI in this trend following strategy?

## Automated Bollinger Bands Squeeze Forex Strategy

StrategyQuant’s BBWR indicator is the perfect tool to detect a Bollinger Bands squeeze. Here I explain how it’s calculated, and use it to program a breakout strategy for the AUDJPY!

## Automated Schaff Trend Cycle Forex Strategy

The Schaff Trend Cycle is a unique combination of the MACD and Stochastic indicators. Here’s how you can use it to improve your trend following results!

## Should You Use the Kelly Criterion for Forex Trading?

The Kelly criterion is a famous mathematical formula that attempts to maximize your long-term capital growth. In this post, I’ll apply it to a EURUSD breakout strategy and explain some of its potential shortcomings when applied to forex trading.

## Forex Intermarket Correlations: How Do You Exploit Them?

Knowledge of intermarket correlations can improve your forex trading win rate. Here I explain three important types of correlations, and how you can use them to benefit your trading.

A temporary trading pause can improve your win rate if you’re trend following a volatile market. Here I’ll program a trading pause into a simple breakout strategy, and test its effectiveness on the Widow Maker – the GBPJPY.

## Can Partial Profit Taking Benefit Trend Followers?

Partial profit taking is a dilemma often faced by long-term trend followers. Could this benefit your overall strategy performance?

Let’s test!

## Ride Breakouts With This Support & Resistance Indicator!

StrategyQuant offers a support & resistance ranking indicator to help detect upcoming breakouts. Use it to program an automated USDJPY strategy!

## Automated MACD Divergence Forex Trading Strategy

The MACD is a simple and effective momentum indicator. Here’s how you can save screen time by programming a MACD divergence strategy for the GBPJPY!

## Catch Breakouts With an Inside Bar Trend Strategy!

Inside bars can be a valuable predictor of trend continuation. Here’s how you can program an inside bar, and use it to improve your trend following strategy!

## Laguerre RSI Trend Following Strategy

The Laguerre RSI attempts to improve the responsiveness of the regular RSI, whilst keeping whipsaw trades to a minimum. Let’s see how well it detects short-term pullbacks for a trend following strategy!

## Bollinger Bands Free Bar Trading Strategy

Bollinger Bands are great at predicting upcoming price reversals. Here’s how you can use its ‘free bars’ to build a reliable Asian scalper!

## How to Use the Supertrend Indicator

Despite its cool name, the Supertrend indicator often seems to slip under the radar. Here I explain how it’s calculated, and combine it with moving averages to produce a simple trend following strategy.

## 5 Easy Trailing Stops to Boost Your Trend Following Results

Trailing stops are a popular feature in trend following strategies. They provide downside protection and allow you to ride the big trends. Try out these simple yet effective trailing stops for your next trend strategy!

## Book Review: Building Winning Algorithmic Trading Systems

Serious traders invest in quality education. Should you read “Building Winning Algorithmic Trading Systems” by Kevin Davey?

## Trade Slippage: How Can You Simulate and Minimize It?

Are you a victim of excessive trade slippage? Here’s how you can minimize slippage, and more realistically simulate it in your backtests!

## Edge Ratio: A Unique Way to Quantify Entry Profitability

Selecting a profitable entry is a critical step in strategy development. Here I’ll demonstrate how to use the Edge Ratio to maximize your profit potential.

## Using Maximum Adverse Excursion for Stop Loss Placement

A catastrophic stop loss is a vital risk management tool for many traders. Here I’ll show you how to optimize your stop loss distance using maximum adverse excursion.

## Multiple Timeframe Backtesting – A Quick Robustness Test

Multiple timeframe backtesting can be a valuable addition to your strategy development workflow. Here I explain why you should do it, and how to conveniently do it in MT4 and StrategyQuant.

## How to Get a Realistic Backtest Spread

Your choice of backtest spread can certainly make or break a strategy. This post will show you how to study the intraday spread variations of your market, and suggest several ways to avoid paying ridiculous spreads.

Risk of ruin is a useful metric to help develop trading strategies that suit your risk appetite. This post explains how to calculate your risk of ruin, and how to use it to improve your trading!

## Do You Know Your Strategy’s Optimization Profile?

Your strategy’s optimization profile often reveals its robustness, helping you select strategies that will remain profitable in live trading. Here I explain why an optimization profile is important, and how you can easily obtain one using StrategyQuant’s optimizer.

## Which MT4 Backtest Report Metrics Should You Use?

Understanding your backtest report is an essential part of being a successful strategy developer. Here I explain what the numbers mean, and how you can make use of each metric during strategy development.

## Out-of-sample Testing Using Monte Carlo Simulations

Traders often use Monte Carlo simulations to estimate worst-case drawdowns, but did you know they can be used for out-of-sample testing too? This post demonstrates the use of StrategyQuant’s Monte Carlo simulator to randomize historical prices and strategy parameters, helping you select robust strategies for live trading.

We all want a large sample of trades in our backtests, but practical limitations such as data availability often get in the way. Here I’ll explain why 30 trades is insufficient, and how you can use standard error to quantify the uncertainty arising from a small sample size.

## Which Forex Markets Are the Best for Trend Following?

They say the trend is your friend, but how do you find your friends in the forex jungle? This post shows you how to use the ADX indicator to identify forex markets and timeframes that trend well.

## Build a Diversified Portfolio With QuantAnalyzer

The ability to efficiently trade a diversified portfolio of strategies is one of the biggest advantages of algorithmic trading. Here we will use QuantAnalyzer’s Portfolio Master to build a portfolio consisting of high performing, uncorrelated strategies.

## Strategy Optimization Using MT4

How do you improve your trading strategy in MT4? This post will show you how to optimize the entry and exit parameters for a moving average crossover strategy. Finally, an intraday time filter will be added to help avoid false breakouts.

## Debugging & Backtesting Using MT4

With a fresh algorithm at your fingertips, how do you verify that it has been programmed correctly? This guide will show you how to use Metatrader 4’s visual backtester to debug and backtest your strategy.

Converting your trading idea into an algorithm is the first step towards reaping the benefits of automated trading. This guide will cover the creation of a simple moving average crossover algorithm, without any actual programming.

## What Is Drawdown in Trading?

Are you getting a comprehensive assessment of your strategy’s downside? This post will discuss several methods to measure drawdowns, helping you build and select strategies that better suit your risk appetite.

## Who Are the Major Players in the Forex Market?

With its daily turnover of over \$6 trillion, who are the major players in the forex market? Let’s see how retail traders stack up!

## US Nonfarm Payrolls: What’s Considered a Big Miss?

A big miss in the US nonfarm payrolls can wreak havoc in the markets. What’s considered a big miss? I analyze historical values to find out!

## What’s the Best Time to Trade Forex?

The forex markets are open 24/5, but not all hours are created equal. Here I dissect my broker data to determine the best time to trade forex.

## What is Considered Good Trading Performance?

Are you taking too much risk for too little return? Perhaps the professional hedge funds can help define good trading performance.

## 5 Forex Day Trading Challenges & How to Overcome Them

Forex day trading seems to have a particular appeal to new traders. Here I highlight five hidden challenges of day trading, and offer some suggestions on how to overcome them.

## How to Find a Real Trading Guru

Every day I come across a trading guru offering educational content on the internet. Many of them speak of huge returns with minimal effort. Should these be trusted? Here’s some tips on how to separate the wheat from the chaff.

## How to Enjoy Stress-Free Trading

Trading is a great way to make some additional income, but not if you’re constantly pulling your hair out. Here I offer 7 tips to help make your trading profitable and stress-free.

## How to Select the Best Forex VPS

A virtual private server (VPS) is a virtual computer that you can rent and access remotely. It provides a reliable platform on which to execute your forex strategies. This post will help you decide whether you need a VPS, and show you how to select an optimal VPS.