Class FisherTransform
- Namespace
- FinanceSharp.Indicators
- Assembly
- FinanceSharp.dll
The Fisher transform is a mathematical process which is used to convert any data set to a modified data set whose Probability Distribution Function is approximately Gaussian. Once the Fisher transform is computed, the transformed data can then be analyzed in terms of it's deviation from the mean.
The equation is y = .5 * ln [ 1 + x / 1 - x ] where x is the input y is the output ln is the natural logarithm
The Fisher transform has much sharper turning points than other indicators such as MACD
For more info, read chapter 1 of Cybernetic Analysis for Stocks and Futures by John F. Ehlers
We are implementing the latest version of this indicator found at Fig. 4 of http://www.mesasoftware.com/papers/UsingTheFisherTransform.pdf
public class FisherTransform : BarIndicator, IIndicator, IUpdatable
- Inheritance
-
FisherTransform
- Implements
- Inherited Members
- Extension Methods
Constructors
FisherTransform(int)
Initializes a new instance of the FisherTransform class with the default name and period
public FisherTransform(int period)
Parameters
periodintThe period of the WMA
FisherTransform(string, int)
A Fisher Transform of Prices
public FisherTransform(string name, int period)
Parameters
Properties
IsReady
Gets a flag indicating when this indicator is ready and fully initialized
public override bool IsReady { get; }
Property Value
WarmUpPeriod
Required period, in data points, for the indicator to be ready and fully initialized.
public override int WarmUpPeriod { get; }
Property Value
Methods
Forward(long, DoubleArray)
Computes the next value in the transform. value1 is a function used to normalize price withing the last _period day range. value1 is centered on its midpoint and then doubled so that value1 wil swing between -1 and +1. value1 is also smoothed with an exponential moving average whose alpha is 0.33.
Since the smoothing may allow value1 to exceed the _period day price range, limits are introduced to preclude the transform from blowing up by having an input larger than unity.
protected override DoubleArray Forward(long time, DoubleArray input)
Parameters
timelonginputDoubleArrayDoubleArray - the time and value of the next price
Returns
Reset()
Resets this indicator to its initial state
public override void Reset()