# Signal Decomposition

Also known as: SSA, EMD.
A Statistics reference entry (Regression & filtering) in the LuxAlgo Library: explained, not implemented as a chart indicator.

## What is Signal Decomposition?

Signal decomposition splits a price series into additive components, typically a slow trend, one or more oscillatory parts, and residual noise, so each can be analyzed or traded on its own. Singular spectrum analysis (SSA) does it algebraically: embed the series into a matrix of lagged windows, factorize with singular value decomposition, and reconstruct components from the leading factors. Empirical mode decomposition (EMD) does it adaptively, repeatedly 'sifting' the series into intrinsic mode functions, locally defined oscillations ordered fastest to slowest, plus a residual trend. Unlike [FFT/spectral analysis](https://www.luxalgo.com/library/concept/fft-spectral-analysis/), neither imposes fixed sinusoidal frequencies; the data defines its own components.

Both methods have respectable pedigrees: SSA grew out of 1980s dynamical-systems and time-series work and matured into a standard toolkit, while EMD arrived with Norden Huang's 1998 paper as the front half of the Hilbert-Huang transform, designed for exactly the nonstationary, nonlinear signals that defeat fixed-basis analysis. Trading tools adopted both for the same reason the geosciences did: real series rarely oblige a sinusoidal template.

That adaptivity is the appeal and the trap. Decomposed trends look smooth with little apparent lag, and isolated cycle components look beautifully tradable in hindsight. But both methods are full-sample calculations: each new bar changes the decomposition of past bars, most strongly near the right edge, exactly where trades happen. Live use demands causal rolling implementations and honest bar-by-bar backtesting, the territory of [repaint-safe engineering](https://www.luxalgo.com/library/concept/repaint-safe-engineering/).

The craft decisions are few but decisive. SSA's window length bounds which periods can separate, and how many leading factors are grouped into 'trend' versus 'cycle' is an analyst's call; EMD's sifting can mix modes, which its ensemble variant treats by averaging decompositions over added noise. End effects concentrate all of it at the current bar, where padding and extrapolation tricks buy cosmetic stability at the price of honesty, so the right-edge behavior of any decomposition tool deserves more scrutiny than its middle.

## How to read a decomposition indicator

The components look authoritative by construction; the reading discipline is mostly about the right edge.

1. Identify the method and its window: SSA with a given embedding length, EMD or its ensemble variant, and how components are grouped for display.
2. Establish causality first: whether the tool recomputes history each bar (repainting by construction) or freezes values as bars close.
3. Read the trend component for bias: its slope and turns, understanding that the freshest few values are the least stable.
4. Read the cycle component as a detrended oscillator: swings and turns feed timing, cross-checked against a [dominant cycle](https://www.luxalgo.com/library/concept/dominant-cycle-measurement/) estimate.
5. Stress the right edge: step the chart back bar by bar and watch how much the recent components rewrite; that rewrite is the gap between the picture and live experience.
6. Validate any rule bar by bar: signals must be generated from values as they stood at the time, never from the finished decomposition.

## How traders use it

- For trend extraction: the slowest components (SSA's leading factors, EMD's residual and final modes) form a smooth trend proxy whose slope and turns can gate directional bias with less whipsaw than a comparably smooth moving average, subject to end-point caveats.
- For cycle trading: an isolated oscillatory component behaves like a detrended oscillator, and its turns feed timing models alongside [dominant cycle measurement](https://www.luxalgo.com/library/concept/dominant-cycle-measurement/).
- For denoising: dropping the fastest components before feeding price-derived features into forecasting models or indicators.
- As feature engineering: component values, their slopes, and their amplitudes make structured inputs for statistical models, replacing one noisy series with a few interpretable ones.
- As regime description: the balance of variance across components, trend-dominated versus cycle-dominated versus noise-dominated, is itself a regime read that can gate which strategy family runs.

## Decomposition vs other cycle machinery

- **FFT/spectral Analysis** (https://www.luxalgo.com/library/concept/fft-spectral-analysis/): Fourier analysis projects the window onto fixed sinusoids, yielding a spectrum; decomposition lets the data define its own components, yielding time series. The FFT answers which periods carry energy, SSA and EMD hand back tradable-looking parts, with adaptivity's costs attached.
- **Hilbert Transform** (https://www.luxalgo.com/library/concept/hilbert-transform/): The Hilbert transform extracts instantaneous amplitude and phase from an oscillatory series, and in the Hilbert-Huang pipeline it is applied to EMD's modes. Decomposition produces the components; the Hilbert step is how their rhythms are then measured.
- **Dominant Cycle Measurement** (https://www.luxalgo.com/library/concept/dominant-cycle-measurement/): Dominant-cycle tools estimate one number, the operative period, for adaptive indicators. Decomposition returns whole component series instead. They meet in practice: measured periods sanity-check whether an extracted 'cycle' component corresponds to anything the market is actually doing.

## FAQ

### What is the difference between SSA and EMD?

SSA is a linear-algebra method: it builds a lagged-window matrix, factorizes it, and reconstructs components from the dominant factors, which makes it stable and well studied but dependent on the window length chosen. EMD is a heuristic sifting procedure that lets the data define its own modes, which handles nonlinearity well but can mix modes and is noise-sensitive; the ensemble variant (EEMD) averages over added noise to compensate.

### Do SSA and EMD repaint?

In their standard full-sample form, yes: each new bar re-solves the whole decomposition, so past component values shift, most of all near the current bar. A chart of the final decomposition therefore overstates how good live signals would have been. Honest use requires causal rolling versions that freeze history and backtests built bar by bar rather than on one finished decomposition.

### What is an intrinsic mode function?

EMD's unit of output: a component whose local maxima and minima alternate around a near-zero local mean, so it oscillates cleanly at its own, possibly time-varying, rhythm. The sifting procedure peels them off fastest first, leaving a residual trend. IMFs are defined by those local properties rather than by any fixed frequency, which is what lets EMD track rhythms that drift.

### How many SSA components should be kept?

The window length caps what can separate, and the singular-value spectrum guides the grouping: a few dominant factors usually reconstruct trend, the next pairs capture oscillations, and the tail is noise. The honest procedure mirrors every model choice, group by inspecting the factors' shapes and share of variance, then verify that downstream signals survive out of sample rather than tuning the grouping to the backtest.

### Can signal decomposition forecast price?

Extending components forward (SSA has natural forecasting extensions) produces plausible-looking projections whose reliability decays exactly where it matters, at the horizon's start, because the components themselves are least stable at the series' end. The defensible uses are descriptive: bias from the trend component, timing from cycle turns, denoised inputs for models, with forecasts treated as scenario sketches.

### Why does my decomposition indicator look better on history than live?

Because the history you see was computed with knowledge of everything that followed. Full-sample decompositions redraw the past each bar, smoothing yesterday's wiggles into today's clean components, so the finished chart shows turns that were never visible in real time. Stepping the calculation bar by bar, or using a genuinely causal implementation, restores the honest, rougher picture.

## Related concepts

- Linear Regression: https://www.luxalgo.com/library/concept/linear-regression/
- Polynomial Regression: https://www.luxalgo.com/library/concept/polynomial-regression/
- Quantile Regression: https://www.luxalgo.com/library/concept/quantile-regression/
- Kalman Filter: https://www.luxalgo.com/library/concept/kalman-filter/
- Hodrick-Prescott Filter: https://www.luxalgo.com/library/concept/hodrick-prescott-filter/
- Wavelet Decomposition: https://www.luxalgo.com/library/concept/wavelet-decomposition/
- FFT/spectral Analysis: https://www.luxalgo.com/library/concept/fft-spectral-analysis/
- Maximum-entropy Spectrum: https://www.luxalgo.com/library/concept/maximum-entropy-spectrum/
- Hilbert Transform: https://www.luxalgo.com/library/concept/hilbert-transform/
- Exponential Smoothing Forecasts: https://www.luxalgo.com/library/concept/exponential-smoothing-forecasts/

---

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