Skip to main content
Track Dominant cycle detection
31 / 31
Library

2020issue C026-9

Constructing a cycle-plus-trend oscillator from a one-wavelength chord

This archive article reconstructs a cycle-plus-trend oscillator. The local trend is a straight line across one assumed wavelength, signed distances to that line become the residual sum, and a later mean-square step puts the plot in standard-deviation units.

  • The construction treats the series as a cycle sitting on a trend and draws that trend as the straight line from the current close to the close one assumed cycle period earlier.
  • The residual sum of signed distances to that reference line is largest at a cycle peak and most negative at a valley, so the output is described as in phase with the cycle component.
  • Endpoints are left out of the average, so closes first pass through a half-period two-pole smoother. The residual average is then divided by the square root of an exponentially updated mean square.
  • A horizontal line at the current close keeps the trend inside a still zero-centered oscillator, and the only length in the workflow is the assumed cycle bar count.
Entries in this reading3 entries

A cycle sitting on a straight-line trend

The construction treats the series as a cycle sitting on a trend and represents that trend as the straight line from the current close to the close one assumed cycle period earlier. That premise is a cycle-plus-trend model: the observed series is a repeating cycle sitting on a slower drift that can be drawn as a straight line across one assumed wavelength.

The assumed repeating bar-count wavelength is the dominant-cycle setting. It sets the chord length, the residual window, and the pre-smoother horizon. A 20-bar cycle length is offered as the starting lookback because the residual calculation is described as not especially sensitive to the exact wavelength, particularly near peaks and valleys.

Signed distances that stay in phase

Signed distances from each bar to the matching point on that reference line are summed over the assumed cycle length. The residual sum is the average signed distance from each bar in the lookback to the matching point on the reference line, later used as the raw oscillator. The sum is largest at a cycle peak and smallest, or most negative, at a cycle valley, so the output is described as in phase with the cycle component.

The trend-filter is a one-wavelength reference line used either as a sloped chord that subtracts the local trend or as a flat line that leaves the trend inside an oscillator.

A half-period smoother for the endpoints

The two endpoints of the reference line are left out of the average, so closes are first passed through a gentle two-pole recursive smoother whose length is set to half the assumed cycle period. That pre-filter is exponential-smoothing: recursive averaging used to gently pre-filter closes. The pre-smoother builds its coefficients from an exponential factor of 1.414 times pi over half the assumed period, then combines a two-bar average of closes with two lagged filter outputs.

Residuals in standard-deviation units

The residual average is divided by the square root of a mean-square term updated as 0.04 times the new squared sum plus 0.96 times the prior mean square, so the displayed series is scaled in standard-deviation units. That standard-deviation scale uses the same exponential-smoothing idea to maintain a mean-square scale so residuals can be expressed in volatility units rather than price units.

A flat line that keeps the trend

The trend-retaining variant replaces the sloped chord with a horizontal line at the current close, sums raw differences from that level over the same length, and still plots the result as a zero-centered oscillator. The only length used in the calculation is the bar count of the assumed cycle, so the same construction can be applied to any sampling, including intraday, tick, and volume-equivalent bars.

Reflex(20) on daily SPY through 2019

Daily Reflex with a 20-bar cycle assumption on SPY, scaled to standard deviations. Price trends from the December 2018 low toward 315, yet the oscillator keeps swinging through zero with the intermediate pullbacks—the chord has taken the trend out. Points were read from the lower pane of the published daily chart; the last print is the chart’s own −0.69.
Daily Reflex with a 20-bar cycle assumption on SPY, scaled to standard deviations. Price trends from the December 2018 low toward 315, yet the oscillator keeps swinging through zero with the intermediate pullbacks—the chord has taken the trend out. Points were read from the lower pane of the published daily chart; the last print is the chart’s own −0.69.SPY · Daily · 2018-12-19T00:00:00.000Z to 2019-12-06T00:00:00.000Z

Assumed cycle length is 20 bars; a SuperSmoother of half that length is applied before the chord is fit. Vertical units are the mean residual divided by the square root of an EMA of its square (0.04 new, 0.96 prior). Digitized from the raster, so turning points are approximate to about 0.1 except the final labeled print.

Educational research material, not investment advice. Historical source context does not establish present-day performance.
31 of 31 in the Dominant cycle detection track
1989Track finished · Next track: Donchian breakoutEvaluating channel breakout with intraday and close-only stops12 readings
All readings on this track · 31 readings
  1. 1982Cycle phase windows for chart signal filters
  2. 1987Constructing a cycle-scaled trend oscillator
  3. 1987Constructing a dominant-cycle grid from marked lows
  4. 1988Cycle lead from staggered exponential averages
  5. 1988Auditing the forty-month stock-price cycle
  6. 1989When long-wave dominant cycles cannot be disproved
  7. 1991Half-cycle average plot shift versus cycle attenuation
  8. 1991Half-cycle average contact as an amplitude-ratio test
  9. 1993Building a restoring-pull indicator from cycle frequency and volume
  10. 1995Regime filters for a dominant long wave
  11. 1995A cycle-tuned lead filter from bounded oscillators
  12. 1998Testable cycle rules instead of fear and greed
  13. 1999Nested Euro cycle timing as one checkable procedure
  14. 2002Constructing an instantaneous trendline from a dominant cycle
  15. 2002Half-cycle center of gravity oscillator from moving-average balance
  16. 2004Testing a locked forty-week cycle with a hold-or-sit-out rule
  17. 2005Nested timing bands for dominant-cycle confirmation
  18. 2005Dominant-cycle baselines versus policy-news narratives
  19. 2006Pairing a dominant-cycle horizon with trend and oscillators
  20. 2006A dominant-cycle split into a trend filter and residual Relative Strength Index
  21. 2007Construct a momentum difference from the dominant cycle
  22. 2007Naive dominant-cycle rules fail without crowd tests
  23. 2012Constructing a dominant-cycle forecast as a timing window
  24. 2012Open-parameter construction of dominant-cycle baselines
  25. 2013Using a second-term election to check a predeclared dominant-cycle forecast
  26. 2014Constructing a dominant-cycle forecast baseline
  27. 2014Quotient transform as an early-onset trend filter
  28. 2014Construct a trough-to-trough cycle map with the Detrended Price Oscillator
  29. 2015Dominant-cycle alignment before an earnings catalyst
  30. 2017Causal reverse exponential average for cycle and trend
  31. 2020Constructing a cycle-plus-trend oscillator from a one-wavelength chord
All 119 readings tagged Dominant cycle detection
Also on Dominant cycle detection5 readings