The attached file is a chart showing a test on the S&P 500 for the past 10 years. This looks obviously wrong and I may be having problems with how I scale/normalize the data before passing it to the Fisher Transform function. NOTE: I am not using smoothing via Moving Averages or Exp. Moving Averages as I am trying to simplify my code to identify the main error. It may have to do with using a global min and global max for data scaling. Pseudo Code: Code: # normalization / scaling to keep data within (-1, 1) gMin = min(ts) gMax = max(ts) gRng = gMax-gMin gMid = (gMin + gMax)/2.0 for i in range(0, ts.size-1): t = 2 * (ts[i]-gMid)/gRng if t < -.9999: t = -.9999 elif t > .9999: t = .9999 # t -= .5 ndata.append(t) #fisher transform being applied below ndata = .5 * ln( (1+ndata)/(1-ndata) )