您可以
scikit-learn用来计算线性回归。
将以下内容添加到文件的底部:
# Create dataframedf = pd.Dataframe(data=nomalized_return)# Resample by day# This needs to be done otherwise your x-axis for linear regression will be incorrectly scaled since you have missing days.df = df.resample('D').asfreq()# Create a 'x' and 'y' column for conveniencedf['y'] = df['Adj Close'] # create a new y-col (optional)df['x'] = np.arange(len(df)) # create x-col of continuous integers# Drop the rows that contain missing daysdf = df.dropna()# Fit linear regression model using scikit-learnfrom sklearn.linear_model import LinearRegressionlin_reg = LinearRegression()lin_reg.fit(X=df['x'].values[:, np.newaxis], y=df['y'].values[:, np.newaxis])# Make predictions w.r.t. 'x' and store it in a column called 'y_pred'df['y_pred'] = lin_reg.predict(df['x'].values[:, np.newaxis])# Plot 'y' and 'y_pred' vs 'x'df[['y', 'y_pred', 'x']].plot(x='x') # Remember 'y' is 'Adj Close'
# Plot 'y' and 'y_pred' vs 'DateTimeIndex`df[['y', 'y_pred']].plot()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)