Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. def SQZMIval(data, depth = 20):
  2. new = []
  3. high = data.High
  4. low = data.Low
  5. close = data.Close
  6.  
  7. for x in range(1, len(data)):
  8. if abs(-x-depth) < len(data):
  9. a = max(data.iloc[-x-depth:-x]['High'])
  10. b = min(data.iloc[-x-depth:-x]['Low'])
  11. average1 = (a + b)/2
  12.  
  13. c = sum(data.iloc[-x-depth:-x]['Close'])/depth
  14.  
  15. average2 = (average1 + c)/2
  16.  
  17. final = data.iloc[-x]['Close'] - average2
  18.  
  19. new.insert(0, final)
  20. else:
  21. new.insert(0, 0)
  22. new.insert(0,0)
  23.  
  24. data['Average1'] = pd.Series(new)
  25.  
  26. z = []
  27. for y in range(1,(depth+1)):
  28. z.append(y)
  29.  
  30. for x in range(1, len(data)):
  31. if abs(-x-depth) < len(data):
  32. final = data.iloc[-x-depth:-x]['Average1']
  33.  
  34. X = np.array(z).reshape(-1, 1)
  35. Y = final.values
  36. linear_regressor = LinearRegression()
  37. linear_regressor.fit(X, Y)
  38. Y_pred = linear_regressor.predict(X)
  39.  
  40. new.insert(0, Y_pred[-1])
  41. else:
  42. new.insert(0, 0)
  43. new.insert(0,0)
  44.  
  45.  
  46. return pd.Series(new)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement