You do not need more finance indicators, you need to learn how to apply the Hilbert Transform

Every "new" indicator published on TradingView, every proprietary oscillator pitched by an algo vendor, every parameter twist on RSI or MACD is reinventing a problem signal processing solved in 1942. The Hilbert transform produces the analytic signal — a complex-valued representation of any real time series from which instantaneous amplitude, instantaneous phase, and instantaneous frequency can be read directly. Every oscillator and envelope you have ever used is a degraded special case of this construction.

The Analytic Signal: Definition

Given a real-valued price series x(t), the Hilbert transform H{x(t)} is the convolution of x(t) with 1/(πt). In the frequency domain it is a 90° phase shift applied to every positive-frequency component and a −90° shift to every negative-frequency component, with magnitudes unchanged.

The analytic signal is then:

z(t) = x(t) + i · H{x(t)}

From this single complex sequence you can read, at every bar:

Instantaneous amplitude A(t) = |z(t)| = √(x² + H{x}²) — the envelope of the signal, equivalent to an idealised Bollinger band centre. Instantaneous phase φ(t) = atan2(H{x(t)}, x(t)) — where the price sits in its current cycle, in radians. Instantaneous frequency f(t) = (1/2π) · dφ/dt — the dominant cycle period at this exact bar, no fixed lookback. Three derived quantities. From one transform. With no free parameters.

Why New Indicators Do Not Add Information

Information content in a real-valued signal is fully captured by z(t) = x + iH{x}. Any derived indicator is a measurable function of z(t) — therefore by the data processing inequality, no indicator computed from x(t) can contain more information about future x(t+k) than the analytic signal already contains. New indicators can only:

Re-project the same information onto a more readable axis (legitimate, but not new). Discard information via lossy compression like fixed-window smoothing (most published indicators). Hallucinate information by combining the signal with unrelated inputs and claiming the result is "the signal" (overfitting dressed as innovation). This is not an aesthetic preference. It is Shannon. The marginal value of "indicator number 4,001" is zero unless it surfaces a projection of z(t) that no existing indicator surfaces — which has not happened in any peer-reviewed DSP publication for decades.

What "Apply It Properly" Means

The Hilbert transform is versatile because the three quantities it produces — amplitude, phase, frequency — span the descriptive space of any narrowband signal. Applying it properly means:

  1. Pre-filter to enforce narrowband

The analytic signal's phase and frequency are only physically meaningful when the input is narrowband. Wide-band price series produce phase that wraps chaotically. Apply a band-pass filter — Butterworth, Chebyshev, or Ehlers' SuperSmoother — tuned to the cycle range you are studying (e.g. 8–48 bars for swing structure). The Hilbert output of the filtered series is then interpretable.

  1. Use instantaneous frequency to set adaptive lookbacks

The biggest source of overfitting in indicator design is the fixed lookback. RSI(14) assumes a 14-bar cycle is canonical; it is not. The Hilbert f(t) tells you the dominant period at this bar. Every downstream indicator parameter — moving average length, oscillator threshold, regime boundary — can be expressed as a multiple of 1/f(t) instead of a constant.

  1. Use instantaneous phase for trigger placement

"Cross zero," "cross the signal line," "exit oversold" are all phase events at fixed phase angles. The analytic signal lets you place triggers at exact phase angles (e.g. φ = π/2 for cycle peak) instead of approximating them through indicator crossovers that lag by half a cycle.

  1. Use envelope A(t) for volatility-normalised position sizing inputs

The envelope is the cleanest available estimate of local amplitude. Replacing ATR or standard deviation with A(t) from a band-pass-filtered series removes the rectangular-window bias of rolling statistics.

The Practical Workflow

Decide the cycle band you care about (intraday: 4–24 bars; swing: 16–96 bars; positional: 80–400 bars). Apply a zero-phase band-pass filter to the log-price series for that band. Compute the Hilbert transform of the filtered series. Read A(t), φ(t), f(t) at every bar. Express every downstream rule (entry, exit, sizing, regime) as a function of those three quantities — no fixed lookbacks anywhere. Enumerate across the cycle band (not across indicator parameters), and let the survival gates pick the bands that carry edge on this asset. This is a complete signal-discovery pipeline. There is no room in it for "a new indicator." There is only the analytic signal and the choice of band.

Why This Is Not Widely Done

Two reasons. First, retail charting platforms expose indicators as configurable boxes, not as DSP primitives — there is no "compute Hilbert transform" button in TradingView Pine Script v5, and implementing it from scratch requires understanding zero-phase filtering, edge effects, and complex arithmetic. Second, the academic DSP literature on price series (Ehlers, Hilbert-Huang Transform applications in finance, empirical mode decomposition) is treated as niche by retail communities because it produces fewer "tradeable signals per chart" — exactly because it removes the redundant projections that fill conventional charts with indicator noise.

-1 points · 0 comments · view on lemmy.world

0 Comments

No comments yet.