[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fisher Transform and ROC



PureBytes Links

Trading Reference Links

> He also talks about another plot: "I multiplied the rate of change
> of the Fisher Transform by 10 and plotted this amplified rate of
> change over the Fisher transform." The crossings show turning
> points. 
> 
> However, I have not been able to duplicate the ROC plot correctly.
> In Trader's Tips, the MetaStock code is simply given as: 
> 10*ROC(fish,1,$)
> I've tried a few variations including:
> Plot4(10*RateOfChange(fish, 1));
> but they simply create spikes consisting of very large numbers.

I haven't seen the article, nor do I know the exact definition of 
the Metastock ROC function.  But I can tell you why you're 
getting large spikes when you use ROC (RateOfChange on TS2001i).  

RateOfChange is defined as Price / Price[Length] - 1.  That 
generally works fine when you're using actual price values.  But 
the Fisher transform you're passing to it crosses through zero -- 
sometimes very close.  When Price[Length] is very near zero, the 
resulting ROC calculation is a huge number.

You could try using Momentum instead of RateOfChange.  Momentum 
is Price - Price[Length].  No division-by-zero problems.  But it 
doesn't look like a particularly good signal line to show turning 
points.

This Fisher transform is kind of odd.  Looking at the code, 
Value1 is just a smoothed Stochastic re-centered around zero.  
Then he takes log((1+Value1)/(1-Value1)) and smooths that.  I'm 
not sure what the log calculation is supposed to accomplish.  It 
basically just amplifies the smoothed stochastic, exaggerating 
the points where the stoch approaches +/- 1.  He pegs the extreme 
values of value1 at +/- 0.99, which ends up limiting the Fisher 
value to +/- 5.29.  Why?  Beats me.  Guess he wanted to make it 
really obvious when the stoch value was approaching its max/min 
values.

Gary