# Dominant-cycle Detection

A Time, Sessions & Seasonality concept (Cycle analysis) in the LuxAlgo Library, with 1 indicator implementation.

## What is Dominant-cycle Detection?

Dominant-cycle detection is the attempt to identify, bar by bar, the period of the strongest cyclical component currently present in price. Instead of assuming a constant rhythm the way [fixed time cycles](https://www.luxalgo.com/library/concept/fixed-time-cycles/) do, detection algorithms estimate the period from recent data and update it continuously. The best-known methods come from John Ehlers' signal-processing work: Hilbert-transform phase techniques, the [autocorrelation periodogram](https://www.luxalgo.com/library/concept/autocorrelation-periodogram/), and banks of band-pass filters that score which period carries the most power. The output is a period in bars, usually smoothed, that can then tune other tools.

The method families divide by what they measure. Phase-based estimators track how fast an oscillation's phase advances and invert that into a period, fast to react and jitter-prone; spectral estimators score a whole band of candidate periods and pick the strongest, slower and steadier; filter banks sit between, running parallel band-passes and comparing their amplitudes. All three smooth their raw output, because an unsmoothed period estimate jumps enough to be unusable.

The caveat: price is not a stationary sine wave. In strong trends or pure noise the 'dominant cycle' can be too weak to mean anything, and raw estimates jump around, so serious implementations smooth the period and gate on some measure of cycle strength or signal-to-noise before anything acts on it.

On intraday charts there is a second, humbler caveat: much of what detectors find is the clock. Session structure imprints strong rhythms, the daily volume U-shape, session-boundary volatility, day-length harmonics, so a detected 32-bar cycle on a 15-minute chart may be the trading day talking rather than any market wave. Cross-checking detected periods against known [time-of-day effects](https://www.luxalgo.com/library/concept/intraday-time-of-day-effects/) and [session boundaries](https://www.luxalgo.com/library/concept/trading-sessions/) separates genuine adaptive information from expensively rediscovered schedules.

## How to use dominant-cycle detection

The estimate is only as good as its gating; most failures are acting on periods that never deserved authority.

1. Choose the estimator and know its temperament: phase-based for speed, periodogram-style for stability, filter banks in between.
2. Confirm the preprocessing: detrending or band-limiting must precede estimation, or trend energy masquerades as a long cycle.
3. Read the period with its strength: every serious tool exposes some amplitude or signal-to-noise measure alongside the period.
4. Check the clock before believing an intraday period: session rhythms and day-length harmonics produce detector output that is schedule, not cycle.
5. Use phase only under a passing strength gate: crest and trough timing means nothing when no measurable cycle exists.
6. Watch the estimate's stability: a period that holds for dozens of bars can tune parameters; one that re-rolls every few bars should tune nothing.

## How traders use it

- Driving adaptive indicators: feeding the detected period into lookback lengths (an oscillator tuned to half the dominant period, for example) so parameters track conditions instead of staying hard-coded; this is the cycle branch of [adaptive parameterization](https://www.luxalgo.com/library/concept/adaptive-parameterization/).
- Timing within ranges: once the period is estimated, phase suggests where in the cycle price sits, flagging likely crest and trough windows; this is only credible when a measurable cycle actually exists.
- Regime gating: using cycle amplitude relative to noise to decide whether cycle tactics apply at all, and standing them down when trend dominates.
- Projecting turn windows: a detected period that has held converts into forward crest and trough windows, the adaptive version of the projections [fixed time cycles](https://www.luxalgo.com/library/concept/fixed-time-cycles/) draw from assumed constants.
- Auditing seasonal claims: a proposed rhythm from [seasonality tooling](https://www.luxalgo.com/library/concept/seasonality-tooling/) should register in the detector while active; silence from the detector during the claimed cycle is evidence the pattern is averaging artifact.

## Dominant-cycle detection vs other rhythm frameworks

- **Fixed Time Cycles** (https://www.luxalgo.com/library/concept/fixed-time-cycles/): Fixed cycles assume a constant period from an anchor and project it forward; detection estimates the period from data and lets it drift. One is a hypothesis imposed on the chart, the other a measurement taken from it, with the measurement paying for its adaptivity in noise.
- **Intraday Time-of-day Effects** (https://www.luxalgo.com/library/concept/intraday-time-of-day-effects/): Time-of-day effects are clock-caused rhythms, measured by bucketing the session. Cycle detectors rediscover those rhythms constantly, which is why intraday detections are checked against the session statistics before being credited as market waves.
- **Seasonality Tooling** (https://www.luxalgo.com/library/concept/seasonality-tooling/): Seasonality averages returns by calendar slot across many periods, a slow statistical census. Detection works on the recent window only, bar by bar. The census finds persistent calendar tendencies; the detector finds whatever oscillation is live right now.

## FAQ

### What does dominant cycle mean in trading?

It is the period, measured in bars, of the strongest oscillation detectable in recent price data: if a market has been swinging low-to-low roughly every 20 bars, the dominant cycle is near 20. The value drifts as conditions change, and in strongly trending or very noisy markets there may be no meaningful dominant cycle at all.

### How is the dominant cycle measured?

The common approaches, most of them popularized by John Ehlers, estimate the period from phase or from spectral power: Hilbert-transform techniques track the rate of phase change, while autocorrelation periodograms and band-pass filter banks score candidate periods and pick the strongest. All of them smooth the raw estimate, because unsmoothed period readings are erratic.

### What is cycle-strength gating and why does it matter?

It is the rule that the period estimate only gets authority when the cycle it describes is measurably strong: amplitude above a floor, spectral power concentrated rather than smeared, or signal-to-noise passing a threshold. Without the gate, detectors output a period in every regime, including trends and noise where the number is meaningless, and adaptive systems dutifully tune themselves to static.

### Why do intraday detectors keep finding periods that match the session?

Because the session is the strongest rhythm intraday data contains: volume and volatility follow the daily U-shape, boundaries inject regular shocks, and a day's bar count creates harmonics at simple fractions of it. A detector has no way to know a 26-bar rhythm on 15-minute bars is the half-day. Treating clock-explainable periods as schedule rather than signal is part of honest cycle work.

### Which estimator should be used, Hilbert or periodogram?

They complement more than compete. Phase-based Hilbert estimators react within a few bars but jitter, suiting them to fast adaptation with heavy smoothing; periodogram-style estimators consume a window and answer more steadily, suiting them to auditing and regime work. A common architecture runs the fast estimator for live tuning and the spectral one as its supervisor.

### Can the dominant cycle simply disappear?

Routinely. Cycles in markets are episodic: a rhythm holds while the balance of participants trades it, then a trend or a regime change erases it. Detectors register the disappearance as collapsing amplitude and a wandering period estimate, which is exactly the condition the strength gate exists to catch, and the correct response is standing cycle tactics down rather than trusting the last good number.

## Implementations in the Library

- Momentum Cycle Sentry (LuxAlgo): https://www.luxalgo.com/library/indicator/momentum-cycle-sentry/

## Related concepts

- Fixed Time Cycles: https://www.luxalgo.com/library/concept/fixed-time-cycles/
- Long-horizon Calendar Cycles: https://www.luxalgo.com/library/concept/long-horizon-calendar-cycles/
- Astro Cycles: https://www.luxalgo.com/library/concept/astro-cycles/
- Hurst Cycle Analysis: https://www.luxalgo.com/library/concept/hurst-cycle-analysis/
- Gann Time Cycles/anniversaries: https://www.luxalgo.com/library/concept/gann-time-cycles-anniversaries/
- Crypto Halving Cycle: https://www.luxalgo.com/library/concept/crypto-halving-cycle/
- Delta Phenomenon: https://www.luxalgo.com/library/concept/delta-phenomenon/

---

Source: https://www.luxalgo.com/library/concept/dominant-cycle-detection/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/