Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def SQZMIval(data, depth = 20):
- new = []
- high = data.High
- low = data.Low
- close = data.Close
- for x in range(1, len(data)):
- if abs(-x-depth) < len(data):
- a = max(data.iloc[-x-depth:-x]['High'])
- b = min(data.iloc[-x-depth:-x]['Low'])
- average1 = (a + b)/2
- c = sum(data.iloc[-x-depth:-x]['Close'])/depth
- average2 = (average1 + c)/2
- final = data.iloc[-x]['Close'] - average2
- new.insert(0, final)
- else:
- new.insert(0, 0)
- new.insert(0,0)
- data['Average1'] = pd.Series(new)
- z = []
- for y in range(1,(depth+1)):
- z.append(y)
- for x in range(1, len(data)):
- if abs(-x-depth) < len(data):
- final = data.iloc[-x-depth:-x]['Average1']
- X = np.array(z).reshape(-1, 1)
- Y = final.values
- linear_regressor = LinearRegression()
- linear_regressor.fit(X, Y)
- Y_pred = linear_regressor.predict(X)
- new.insert(0, Y_pred[-1])
- else:
- new.insert(0, 0)
- new.insert(0,0)
- return pd.Series(new)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement