Lean  $LEAN_TAG$
QuantConnect.Indicators.FisherTransform Class Reference

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. More...

Inheritance diagram for QuantConnect.Indicators.FisherTransform:
[legend]

Public Member Functions

 FisherTransform (int period)
 Initializes a new instance of the FisherTransform class with the default name and period More...
 
 FisherTransform (string name, int period)
 A Fisher Transform of Prices More...
 
override void Reset ()
 Resets this indicator to its initial state More...
 

Public Attributes

override bool IsReady => _medianMax.IsReady && _medianMax.IsReady
 Gets a flag indicating when this indicator is ready and fully initialized More...
 

Protected Member Functions

override decimal ComputeNextValue (IBaseDataBar input)
 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. More...
 
- Protected Member Functions inherited from QuantConnect.Indicators.BarIndicator
 BarIndicator (string name)
 Creates a new TradeBarIndicator with the specified name More...
 

Properties

int WarmUpPeriod [get]
 Required period, in data points, for the indicator to be ready and fully initialized. More...
 
- Properties inherited from QuantConnect.Indicators.IIndicatorWarmUpPeriodProvider
int WarmUpPeriod [get]
 Required period, in data points, for the indicator to be ready and fully initialized. More...
 

Detailed Description

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

Definition at line 39 of file FisherTransform.cs.

Constructor & Destructor Documentation

◆ FisherTransform() [1/2]

QuantConnect.Indicators.FisherTransform.FisherTransform ( int  period)

Initializes a new instance of the FisherTransform class with the default name and period

Parameters
periodThe period of the WMA

Definition at line 50 of file FisherTransform.cs.

◆ FisherTransform() [2/2]

QuantConnect.Indicators.FisherTransform.FisherTransform ( string  name,
int  period 
)

A Fisher Transform of Prices

Parameters
namestring - the name of the indicator
periodThe number of periods for the indicator

Definition at line 60 of file FisherTransform.cs.

Member Function Documentation

◆ ComputeNextValue()

override decimal QuantConnect.Indicators.FisherTransform.ComputeNextValue ( IBaseDataBar  input)
protected

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.

Parameters
inputIndicatorDataPoint - the time and value of the next price

Definition at line 89 of file FisherTransform.cs.

◆ Reset()

override void QuantConnect.Indicators.FisherTransform.Reset ( )

Resets this indicator to its initial state

Definition at line 115 of file FisherTransform.cs.

Member Data Documentation

◆ IsReady

override bool QuantConnect.Indicators.FisherTransform.IsReady => _medianMax.IsReady && _medianMax.IsReady

Gets a flag indicating when this indicator is ready and fully initialized

Definition at line 72 of file FisherTransform.cs.

Property Documentation

◆ WarmUpPeriod

int QuantConnect.Indicators.FisherTransform.WarmUpPeriod
get

Required period, in data points, for the indicator to be ready and fully initialized.

Definition at line 77 of file FisherTransform.cs.


The documentation for this class was generated from the following file: