Signal Smoothing and Averaging
Techniques for reducing the noise in a raw trading signal so its real, slower-moving information survives while day-to-day jitter is filtered out.
A raw trading signal — say, a daily sentiment score or an order-flow imbalance measure — usually bounces around from noise even when the underlying trend it's meant to capture is moving slowly and smoothly. Trading directly on every jump would mean reacting to noise, generating unnecessary turnover and transaction costs. Smoothing addresses this by replacing each day's raw value with some kind of average of recent values, so single-day noise gets diluted while a persistent shift in the true signal still comes through, just with a short delay.
The simplest approach is a simple moving average (mean of the last observations), which weights all recent days equally. An exponentially weighted moving average instead gives more weight to recent observations and less to older ones, so it reacts a bit faster to genuine changes while still damping noise. There's an unavoidable trade-off: a longer averaging window (or slower decay) smooths out more noise but also reacts more sluggishly to real changes, introducing lag; a shorter window tracks changes faster but lets more noise through. Choosing the window length is really about matching the smoothing timescale to how fast the true signal is expected to move — a fast intraday signal needs a much shorter window than a slow macro-driven one.
For example, a 5-day simple moving average of a noisy daily score of [2, 8, 1, 6, 3] gives (2+8+1+6+3)/5 = 4, damping out the individual swings between 1 and 8 into a single steadier reading.
Smoothing trades reaction speed for noise reduction: averaging over more history damps jitter but adds lag, so the right window length depends on how fast the real signal actually moves relative to the noise sitting on top of it.
Related concepts
Practice in interviews
Further reading
- Chan, Quantitative Trading, ch. 3