Efficiency Ratio (ER)

Parameters: period = 10 (5–50)

Overview

The Efficiency Ratio (ER), developed by Perry J. Kaufman in 1995, is a technical indicator that measures the efficiency of a financial instrument's price movements by quantifying market noise and filtering out random price fluctuations. Introduced in Kaufman's book "Trading Systems and Methods," the ER calculates how directly price moves from one point to another by dividing the net change in price movement over N periods by the sum of all absolute bar-to-bar price changes during the same N periods.

The ER serves as a critical component in adaptive trading systems, most notably as the foundation for Kaufman's Adaptive Moving Average (KAMA). By measuring the ratio between directional movement and total volatility, the ER produces values between 0 and 1, where 1 indicates perfectly efficient movement (prices moving in the same direction for the full period) and 0 indicates completely inefficient movement (no net change despite volatility). This quantification of market efficiency enables traders to distinguish between trending markets (ER closer to 1) and choppy, ranging markets (ER closer to 0), allowing for dynamic strategy adaptation.

Interpretation & Trading Signals

ER Value Interpretation:

  • ER = 1: Perfect efficiency - price moved in straight line
  • ER > 0.6: Strong and efficient trend present
  • ER 0.3-0.4: Minimum threshold for "persistent" trend
  • ER < 0.3: Choppy, inefficient market with no clear trend

Trading Applications:

  • Trend Qualification: Only trade trends when ER > 0.3 or 0.4
  • Market Filtering: Screen out choppy markets where breakouts are often "fakeouts"
  • Adaptive Systems: Apply trend-following when ER high, mean reversion when low
  • Bullish Pauses: Identify opportunities when price surges then consolidates

KAMA Integration:

  • Recommended Settings: KAMA(10,2,30) where 10 = ER period
  • Smoothing Constant: SC = [ER × (Fast SC - Slow SC) + Slow SC]²
  • Entry Signals: Low ER for consolidation entries, high ER for mean reversion
  • Dynamic Adaptation: ER adjusts KAMA speed based on market efficiency

Example Usage

Code examples will be available once the Rust implementation is complete.

Performance Analysis

Related Indicators