使用线性回归的股票市场预测

时间:2018-08-03 14:19:00

标签: python stock

我正在尝试使用sklearn上的LinearRegression()来改进stock_market预测模型。首先,我是机器学习的新手,我在这里的代码工作方式上有些挣扎:

df = df[["Adj Close"]] #price of closing
df["prediction"]=df[["Adj Close"]].shift(-int(30)) #creating just for 30 days
X=df.drop(["prediction"],1)
X=preprocessing.scale(X)
X_forecast=X[-int(30):]
X=X[:-int(30)]
y=np.array(df["prediction"])
y=y[:-int(30)]
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size = 0.2) #on fait un test en limitant les données connues et celles inconnues pour eviter l'overfitting
reg=LinearRegression()
reg.fit(X_train,y_train)
forecast_prediction=reg.predict(X_forecast)
print(forecast_prediction)

我不知道如何通过这种线性回归来预测某事,因为我们在这里只使用一个数据:np.array(df [“ prediction”])

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在回答问题之前,我必须建议线性回归(尤其是此特定线性回归)是一种非常简单的股票价格建模方法,在准确性方面可能没有太大的上涨空间。

来自Kaggle的这个特定的script试图在30天前找到股价与其股价之间的相关性。在Kaggle的示例中,我们可以注意到,他们的X变量是直接从df[['Adj Close']]拉出的,而他们的Y变量是他们称为label的那列的移位形式(这就是您的df[['prediction']]

在第3行中将X设置为等于df.drop(["prediction"],1)时,将X设置为等于数据框中所有其他列的总数(这是错误的)。

tl; dr:Kaggle上的示例回归脚本可以运行,但是基本的财务理论并不完善。您的代码与示例脚本有一些关键差异,可能导致无法预料的错误。

相关问题