Kaufman Efficiency Ratio

Reader RobH sent this one to me last night in need of a little ThinkScripter TLC. A few tweaks under the hood and she’s back on the road firing on all cylinders. Rob referred to it as the Price Headley Efficiency Ratio made popular by his Big Trends web site and book. In actuality it is the Kaufman Efficiency Ratio as described in his book Smarter Trading. From his book “The ratio divides the net price movement by the total price movement (the sum of each of the individual moves taken as a positive number). It can also be considered a ratio of the price direction to its volatility. The more efficient, the faster the trend.”

My Multi-Stops study in the picture is configured with a Chandelier Stop with a 20 period look-back and a volatility coefficient of 2.5. The strategy being backtested used moving average as a filter on the Multi-Stop signals taking only long entries in this example and using the Multi-Stop short signal as an exit. For the five day period there were 6 trades, 4 winners, 2 losers, max drawdown $200, total profit on one ES contract $4012. Full results.

Kaufman Efficiency Ratio

Kaufman Efficiency Ratio

# KAUFMANEFFICIENCYRATIO
# (c) 2009 http://www.thinkscripter.com
# thinkscripter@gmail.com
# Last Update 16 MAR 2009

declare lower;

input length = 20;
input lowerERThreshold = -30;
input upperERThreshold = 30;
input movingAvePeriod = 10;

def NetChange = hl2 - hl2[length];

def incrementalTotalChange = AbsValue(hl2 - hl2[1]);
def TotalChange = sum(incrementalTotalChange,length);

def ERatio = (NetChange/TotalChange) * 100;

plot ER = ERatio;
ER.AssignValueColor(if ER >= upperERThreshold
then Color.CYAN else if ER <= lowerERThreshold
then Color.RED else Color.GREEN);
ER.SetLineWeight(2);

plot LowerThreshold = lowerERThreshold;
LowerThreshold.SetDefaultColor(Color.RED);

plot ZeroLine = 0;
ZeroLine.SetDefaultColor(Color.GRAY);

plot UpperThreshold = upperERThreshold;
UpperThreshold.SetDefaultColor(Color.CYAN);

plot ave = average(ERatio,movingAvePeriod);
ave.setDefaultColor(color.blue);
ave.setLineWeight(2);
This entry was posted in Indicator and tagged , , , . Bookmark the permalink.

3 Responses to Kaufman Efficiency Ratio

  1. David says:

    Good to see you have the “big boys” checking out your excellent work. I am sure this will pay off.

    Thanks for your efforts,
    David

  2. Bill Smith says:

    Eric,

    This looks interesting. Would you mind posting the code for the strategy as shown. I didn’t quite understand the desription, but could figure it out with the code.

    Thanks,
    bill

  3. thinkscripter says:

    Bill,
    I’m not posting any strategies for the time being. I’m a bit concerned about people blindly following them and loosing their shirts in the process.
    Eric

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>