Forum Sign in Register

What Is the Fisher Transform? Turning Messy Price Data Into Sharp, Readable Turning Points

Started by Support 5 days ago · 0 replies RSS

Most oscillators try to find turning points in data that is badly shaped for the job. The Fisher Transform takes a different route: it reshapes the data first, so that extremes actually look extreme. It is one of the few indicators built on an explicit statistical argument rather than a chart pattern.

The Fisher Transform was introduced to trading by John Ehlers, an engineer who spent a career applying signal-processing thinking to markets. The underlying transform comes from statistics, where it is used to make correlation coefficients behave better.

The problem it solves

Here is the observation that motivates the whole thing.

Price changes are not normally distributed. Plot the distribution of returns and you get something closer to flat in the middle with fat tails — lots of moves clustered in a broad middle range, and occasional large ones. That matters because most of our intuitions about "extreme" come from the bell curve: two standard deviations feels rare because in a normal distribution it is.

When the underlying data is flat-ish rather than bell-shaped, an ordinary oscillator spends most of its time wandering around the middle, and its "overbought" and "extremes" are mushy. You cannot tell a genuine extreme from ordinary noise, because the distribution does not separate them.

The Fisher Transform's answer: apply a mathematical function that converts a roughly uniform distribution into a roughly normal one. After the transform, values near the edges of the input range get stretched dramatically toward infinity, while values near the middle barely move. Extremes become visually and numerically obvious.

How it is calculated

Two steps.

Step 1 — normalise price into a -1 to +1 range. Over a lookback of n bars (commonly 9 or 10), take the median price (high+low)/2 and scale it to where it sits within that window's range:


x = 2 * ( (price - lowest_low) / (highest_high - lowest_low) ) - 1


That gives -1 at the bottom of the range and +1 at the top. Most implementations then smooth x with a small exponential factor (typically around 0.33 of the new value plus 0.67 of the previous) and clamp it just inside -1 and +1, because the next step blows up at the boundaries.

Step 2 — apply the transform.


Fisher = 0.5 * ln( (1 + x) / (1 - x) )


That is the inverse hyperbolic tangent. Its behaviour is the whole point: at x = 0 the output is 0; at x = 0.5 the output is about 0.55; at x = 0.9 it is about 1.47; at x = 0.99 it is about 2.65. The closer the input gets to the edge of its range, the more violently the output accelerates. Ordinary mid-range movement stays compressed near zero.

Most plots also draw a trigger line: the previous bar's Fisher value, shifted forward by one. Crossovers between the two are the standard signal.

How to read it

The turns are the signal, not the level. This is the single most important thing about the indicator. Because the output is unbounded, there is no fixed overbought line that means the same thing on every instrument or timeframe. What the transform gives you is sharpness: reversals show up as abrupt, near-vertical spikes and reversals rather than the rounded meanders of an RSI. You are reading the shape of the turn.

Practical readings:

  • Fisher crossing back below its trigger line from a high extreme — momentum has stopped expanding upward. In a range, a mean-reversion short setup. In an uptrend, more often a pullback signal than a reversal.
  • Fisher crossing back above its trigger from a low extreme — the mirror image.
  • Zero-line crosses mark the midpoint of the recent range and work as a crude trend-side filter.
  • Divergence — price making a higher high while Fisher makes a lower one. Because the transform exaggerates extremes, genuine divergences are far easier to see here than on a compressed oscillator.


The honest limitations

It is a range-normalised indicator, so it inherits range-normalisation's flaw. Like Stochastics, the input is "where are we within the last n bars' range." In a strong sustained trend, that value pins near +1 for a long time, and the transform then amplifies a reading that simply means "still trending." Repeatedly fading a pinned Fisher in a trend is the classic way to lose money with it.

The amplification is symmetric — it exaggerates noise at extremes too. A single spiky bar that pushes price to the edge of the lookback range produces a dramatic Fisher move that means very little. The short default lookback (9-10) makes this common.

It reacts fast, and fast means early and wrong sometimes. The sharpness that makes turns legible also means signals fire before confirmation. The trigger-line cross is a partial answer, but it costs a bar.

Boundary sensitivity. The formula is undefined at exactly -1 and +1, which is why implementations clamp the input. Different platforms clamp and smooth differently, so the same "Fisher Transform" can print visibly different values across NinjaTrader, MetaTrader and TradingView. If you are porting a strategy, verify the values match before trusting a backtest.

Using it sensibly

  • Pair it with a trend filter. It is a mean-reversion tool by nature. Use it to time entries in the direction of a separately established trend, or restrict counter-trend use to markets you have confirmed are ranging.
  • Lengthen the lookback for fewer, cleaner signals. The default 9 or 10 is very twitchy on intraday data. 20 or more calms it considerably.
  • Judge extremes relative to the instrument's own recent history, not against a fixed number. What counts as an extreme Fisher reading on EUR/USD daily is not what counts on a 5-minute crude oil chart.
  • Divergence is arguably its best use case, precisely because the transform makes the second peak's weakness impossible to miss.


The one-line summary

The Fisher Transform normalises price into a -1 to +1 range and then applies an inverse hyperbolic tangent, converting a flat-ish distribution into a bell-shaped one so that real extremes stand out sharply instead of blending into the middle. It produces unusually crisp, early turning-point signals and unusually readable divergence — at the price of firing constantly in strong trends and amplifying noise as enthusiastically as it amplifies signal. Filter the trend, lengthen the lookback, and read the turn rather than the level.

Educational content from the PipFlow staff team. Nothing here is investment advice.
clean by ai-agent

Sign in to reply.