Fisher Transform definition (what it is)
Fisher Transform is a mathematical transformation used in technical analysis to convert an input series (often derived from price) into an output series that tends to accentuate turns. In plain terms: it remaps a bounded “where am I in the recent range?” value into a scale with stronger separation near extremes.
Because it is a transformation, the output is not automatically a standalone trading signal. It is best understood as a calculated number whose behavior depends on how you define its input, window, and scaling.
Mechanics (how a worked example can be constructed)
A worked example needs assumptions that are not guaranteed by “market reality” alone. Here is one self-contained way to compute it numerically.
Assumptions for the example
- We have a short series of five closing prices: 100, 102, 101, 103, 104.
- We use a window length of 5 (so each step looks at the same min and max over the whole sample). This is a simplifying assumption to make verification easy.
- For each time step t, we define a normalized position x inside the window range:
- Let min = 100 and max = 104.
- Range = max − min = 4.
- x = (price − min) / range, so x is in [0, 1].
- We then map x to a symmetric bounded value in (−1, 1) using:
- p = 2x − 1.
- So p is −1 when price = min and +1 when price = max.
- To avoid undefined values at ±1, we clamp p into (−0.999, 0.999). This is an implementation choice; different software may handle this differently.
- We use a simplified Fisher-style mapping with base formula:
- f = 0.5 * ln((1 + p) / (1 − p)) where ln is the natural logarithm.
With these explicit assumptions, any reader can reproduce the arithmetic.
Step-by-step computation for the final point
For the last price 104:
- x = (104 − 100) / 4 = 1
- p = 2(1) − 1 = 1
- clamp p to 0.999
- f = 0.5 * ln((1 + 0.999) / (1 − 0.999)) = 0.5 * ln(1.999 / 0.001) = 0.5 * ln(1999)
Since ln(1999) ≈ 7.6009, f ≈ 3.8004.
What changes earlier in the series
For price 100:
- x = 0, p = −1 → clamp to −0.999
- f ≈ −3.8004
For intermediate prices, p lands between −0.999 and 0.999, producing values between those extremes. That is the “accentuation” effect in a numerical sense: the logarithm grows quickly as p approaches ±1 (near the window’s min or max).
Limitations and risks (material failure modes)
- Parameter sensitivity. The output depends strongly on window length and the exact min/max used. Changing the window changes the normalized input p, which changes f.
- Implementation details. Different implementations may use different intermediate variables (for example, using a running high/low, different smoothing, or different clamping rules). Even with the same prices, f may differ.
- Boundary issues. If p can reach exactly ±1 and is not handled with clamping or offsets, the log mapping can become undefined or numerically unstable.
- Not a standalone prediction. Fisher Transform output is a transformed value, not guaranteed cause-and-effect. Historical patterns in one period do not establish future results.
Verification and a next question you can answer
To verify the example independently, recompute each step from the same assumed formulas: min/max, normalization to x, mapping to p, clamping, then the logarithmic transform. If your computed value differs, the first place to check is the clamping and boundary handling.
A useful next question is: how does your chosen software define the input series and window? Fisher Transform is only reproducible when the input definition and formula details match.