Concept

Butterworth Filter

Butterworth Filter is a Trend concept. The Library holds 1 implementation — a working definition you can pull into Quant.

Top Butterworth Filter indicator

The top custom implementation, built on the original standard Butterworth Filter formula.

1 total

What is a Butterworth filter?

A Butterworth filter is a low-pass filter design whose magnitude response is maximally flat in the passband: the wavelengths it keeps are passed with as little amplitude distortion as mathematically possible for the chosen order, then attenuation rolls off monotonically beyond the cutoff. The design was introduced by the British engineer Stephen Butterworth in 1930 and became one of the standard prototypes of filter theory. In trading it entered mainstream use largely through John Ehlers, who published two-pole and three-pole recursive versions as price smoothers and built several of his later tools on them.

The appeal for chart work is the combination of a clean passband and a monotonic rolloff. Unlike ripple-based designs, a Butterworth smoother does not selectively boost or cut wavelengths inside the band it keeps, so the smoothed line represents the surviving swings at close to their true amplitude. Compared with a simple EMA, a two-pole Butterworth attenuates short wavelengths much harder for similar passband behavior, which is why it tends to produce a noticeably quieter line at comparable responsiveness.

The tradeoffs are the usual ones for recursive smoothers. It is causal, so it lags, and the lag grows with the cutoff period and the order. Its step response shows a small overshoot, so a violent move can push the smoothed line slightly past where price settles. And like every fixed-period filter, a Butterworth tuned for one regime passes too much noise or clips too much signal when volatility and dominant wavelength shift.

How it's calculated

The form traders usually implement is Ehlers' two-pole Butterworth smoother, a second-order recursion with a short input average:

a = exp(-1.414 * pi / P)
b = 2 * a * cos(1.414 * pi / P)
c2 = b
c3 = -a^2
c1 = (1 - c2 - c3) / 4
y_t = c1 * (x_t + 2*x_(t-1) + x_(t-2)) + c2*y_(t-1) + c3*y_(t-2)
P: cutoff period in bars (wavelengths shorter than P are attenuated)
a: decay term derived from the cutoff period
b: cosine term derived from the cutoff period
c1, c2, c3: filter coefficients
x_t: input series at bar t (usually close)
y_t: Butterworth filter output at bar t

This is the two-pole version as published in Ehlers' work; a three-pole variant with sharper rolloff and more lag also circulates.

The (x + 2x + x) input average adds a small FIR smoothing stage; some implementations feed the raw price instead.

Seed the recursion by setting the first outputs equal to price.

How traders use it

  • As a drop-in replacement for an EMA when the goal is a quieter trend line at similar lag; slope and price-relative-to-line rules transfer directly.
  • As the smoothing stage inside oscillators and bands, where its strong attenuation of two- to P-bar noise reduces false triggers without the heavy lag of a long SMA.
  • In moving-average crossover systems, replacing one or both averages to cut whipsaw; the improvement is incremental, not transformative, and still fails in trendless tape.
  • Its overshoot is worth respecting: after a shock bar the line can exceed the subsequent equilibrium slightly, so exact-touch rules against the filter line should carry tolerance.

Butterworth vs the other classical designs

Bessel filter: Bessel trades rolloff steepness for uniform delay and negligible overshoot; Butterworth trades a little waveform fidelity for stronger noise suppression at the same order. Butterworth is the more common default for price smoothing.

Chebyshev filters: Chebyshev designs roll off faster than Butterworth by accepting ripple, in the passband (Type I) or stopband (Type II). Butterworth is the ripple-free middle ground.

Ehlers SuperSmoother: The SuperSmoother is Ehlers' refinement of the two-pole Butterworth idea, tuned to null out the shortest wavelengths in sampled market data. In practice the two produce similar lines; the SuperSmoother is the one embedded in his later indicators such as the roofing filter.

Gaussian filter: The Gaussian smoother has no overshoot but a softer rolloff; Butterworth attenuates stopband noise harder but can slightly overshoot sharp moves.

Concept family

Trend

100 concepts mapped · 100 in the Library

Butterworth Filter FAQ

What does the period input of a Butterworth filter mean?

It is a cutoff, not a lookback: swings with wavelengths shorter than roughly P bars are strongly attenuated, longer swings pass mostly intact. That differs from an SMA length, even though both are quoted in bars.

Is a Butterworth filter better than an EMA?

It attenuates short-wavelength noise much more strongly for comparable passband behavior, so the line is smoother at similar lag. Whether that improves a strategy depends on the rules; it does not remove lag or predict turns.

Two-pole or three-pole?

Two-pole is the common default: adequate smoothing and less lag. Three-pole rolls off harder and suits noisy intraday data, at the cost of a slower response to real turns.

Why does the smoothed line sometimes poke past price after a big bar?

That is the design's small step-response overshoot. It is normal for Butterworth-type filters and one reason exact-touch rules against the line need a buffer.

Build Butterworth Filter your way.

Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.