- Fisher04 implements the revised Fisher Transform from Ehlers' 2004 *Cybernetic Analysis for Stocks and Futures*, converting price data to a Gaussian distribution via arctanh with wider normalization and gentler IIR smoothing than the original 2002 article.
- No external validation libraries implement the 2004 Fisher variant. Validated through self-consistency and behavioral testing.
Fisher04 uses wider normalization bandwidth, gentler IIR smoothing (0.5 vs 0.67 feedback), and a halved arctanh multiplier (0.25 vs 0.5) compared to the original 2002 TASC formulation. The result is a smoother oscillator with less noise while retaining the sharp turning-point characteristics of the Fisher Transform.
Ehlers first published the Fisher Transform in a November 2002 *Stocks & Commodities* article titled "Using The Fisher Transform." That version used a 0.66 normalization coefficient and 0.67 IIR feedback. Two years later, in *Cybernetic Analysis for Stocks and Futures* (Wiley, 2004), Ehlers revised the coefficients. The 2004 version normalizes with a full 1.0 coefficient and 0.5 IIR feedback, tightens the clamp to 0.9999, and halves the arctanh multiplier from 0.5 to 0.25. No major external library (Skender, TA-Lib, Tulip, Ooples) implements this specific 2004 variant; they all use the 2002 formulation.
## Architecture
### 1. Min/Max Normalization
The lookback window tracks the highest high and lowest low over `period` bars using a `RingBuffer`. The raw price is mapped to [-0.5, 0.5]:
1.**Confusing 2002 and 2004 versions.** The coefficient differences are subtle but produce measurably different outputs. Using 2002 coefficients with 2004 labels (or vice versa) produces incorrect results.
2.**Not storing clamped Value1 back.** The IIR feedback must use the clamped value, not the pre-clamp value. Failing to store back causes drift.
3.**Expecting identical results to Fisher.** Fisher04 uses 0.25x arctanh multiplier vs 0.5x; the amplitude is roughly halved.
4.**Using Fisher04 for high-frequency scalping.** The gentler coefficients make it slower to react than Fisher (2002). Better suited for swing trading.
5.**Ignoring the signal line crossover.** The primary trading signal is Fisher crossing above/below its one-bar-lagged signal line.
## References
1. Ehlers, J. F. (2004). *Cybernetic Analysis for Stocks and Futures*. Wiley. Chapter 1.
2. Ehlers, J. F. (2002). "Using The Fisher Transform." *Technical Analysis of Stocks & Commodities*, November 2002.
3. MESA Software. "The Inverse Fisher Transform." [mesasoftware.com](http://www.mesasoftware.com)