2014issue C0857-58
The dual-K highpass roofing filter is unfinished until three choices are written together
This article teaches the construction as one object: a two-pole highpass roofing filter, paired Kslow and Kfast lines around a zero reference, and next-bar open zero-line cross rules that form a single long-only momentum procedure.
- Place the two-pole highpass roofing filter first so longer-wavelength components of the price wave are removed before any trend readout is formed.
- Kslow and Kfast drive two smoothed, normalized roofing lines against a zero line, which is the dual-speed reference for later rules.
- The documented long-only procedure uses next-bar open execution: buy after the slow line crosses above zero, and exit after the fast line crosses below zero.
- Short-side behavior is the reverse of those zero-line cross rules, but that reverse path was left uncoded in the long-only implementation.
What the construction specifies
The construction places a two-pole highpass roofing filter first so longer-wavelength components of the price wave are removed before the trend readout is formed. The plotted readout then consists of two smoothed, normalized roofing lines driven by separate slow and fast K inputs and drawn against a zero line.
The documented long-only procedure buys the next bar at the open after the slow line crosses above zero. That same procedure exits at the next bar open after the fast line crosses below zero.
Roof the wave before the readout
The highpass roofing filter is a two-pole high-pass stage. It removes longer-wavelength components from an ordered price series before a trend readout is taken.
That order is part of the construction, not a later display choice. The roofing stage sits first so the later lines are formed from the roofed wave rather than from the raw drift still present in price.
Kslow and Kfast around a zero line
Kslow and Kfast are paired constants that produce a slower and a faster smoothed, normalized roofing line around a zero reference. Both lines are drawn against that zero line.
An early-onset trend readout is the filtered series intended to flag a directional regime as soon as the roofed wave turns, rather than after a long moving-average lag. The dual-speed pair is what later rules can test against zero.
Zero-line crosses at the next open
A zero-line cross is a rule trigger defined by a roofing line moving through the zero reference. Next-bar open execution means the entry or exit is taken at the following bar open after a cross is observed on the closed bar.
The long-only procedure is those two rules used together. It buys the next bar at the open after the slow line crosses above zero, and it exits at the next bar open after the fast line crosses below zero.
The short side is only the reverse
Short-side behavior is defined as the reverse of those zero-line cross rules. The reverse path was left uncoded in the long-only implementation.
Long and short bias plots are separate displays of the same filtered construction oriented to upside and downside conditions. They do not, by themselves, fill in the uncoded short-side path.
Settings used in the illustrations
One charted parameter pair used a Kslow of 0.95 and a Kfast of 0.80.
A second illustration applied an early-onset trend setting of 30 and 0.85 to daily SPY and could show long and short bias plots.
The long-only procedure was specified as one S&P contract per trade over a sample running from April 1982 through May 2014.
Long-only S&P equity curve, 1982–2014

Values read off the plotted equity area, not a printed table; y is Equity × 1000 as labeled on the source. Long only; shorts were not coded.
All readings on this track · 7 readings
- 2006Constructing lowpass, highpass, and finite impulse response filters from one recurrence
- 2006Constructing a trend filter from a cycle-length moving average and a highpass residual
- 2014Constructing a roofed stochastic from highpass and lowpass stages
- 2014The dual-K highpass roofing filter is unfinished until three choices are written together
- 2015Constructing a decycler from high-pass cancellation
- 2015Constructing decycler oscillators from highpass and bandpass filters
- 2020Finite-memory truncation for cycle filters