股票分析最简单教程

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai


第一步:获取数据

我们可以利用 tushare 接口来获取数据,比如我们获取工商银行的股票数据:

import tushare as ts
data = ts.get_hist_data("601398")

数据输出格式是一个 pandas ,如下:

            open  high  close     ...           v_ma5      v_ma10      v_ma20
date                              ...                                        
2019-04-22  5.99  6.00   5.83     ...      3179236.05  2915893.46  3190728.34
2019-04-19  5.94  6.01   5.98     ...      3579982.45  3072136.56  3149786.24
2019-04-18  6.01  6.03   5.94     ...      3518181.52  3340076.29  3173315.84
2019-04-17  5.99  6.08   6.01     ...      3519477.42  3449884.61  3183199.14
2019-04-16  5.78  6.03   6.00     ...      3273362.22  3478066.74  3123925.73
2019-04-15  5.81  5.93   5.81     ...      2652550.87  3414787.79  3030022.02
2019-04-12  5.72  5.74   5.73     ...      2564290.67  3332893.99  2918306.97
2019-04-11  5.75  5.79   5.73     ...      3161971.05  3371523.99  2954697.86
2019-04-10  5.75  5.79   5.75     ...      3380291.80  3417784.59  2999389.41
2019-04-09  5.81  5.82   5.78     ...      3682771.25  3384488.36  3015923.24

第二步:我们将原始数据整理成训练数据和测试数据,代码如下:

X_train = []
y_train = []
for i in range(10, data.shape[0]):
	tmp = []
	tmp.append(data.ix[i]['open'])
	tmp.append(data.ix[i]['high'])
	tmp.append(data.ix[i]['close'])
	tmp.append(data.ix[i]['low'])
	X_train.append(tmp)
	tmp = (data.ix[i]['close'] - data.ix[i]['open']) / data.ix[i]['open']
	y_train.append(tmp)

X_test = X_train[:10]

print(X_train.shape)
print(y_train.shape)

我们打印了输入数据的大小和标签的大小,并且我们把训练数据的前十行作为了我们的测试数据。

第三步:训练我们的模型,这里我采用最简单的线性回归来拟合我们的数据,利用 sklearn 包就可以很轻松的实现这个目标,代码如下:

linreg = LinearRegression()
linreg.fit(X_train, y_train)

第四步:我们可以测试我们的模型,来预测股票价格波动,代码如下:

y_pred = linreg.predict(X_test)
print(y_pred)

最终程序输出为:

[-0.00461759  0.01862084  0.01682816 -0.00028103  0.00819028  0.01703901
 -0.0067524   0.00844903 -0.00670531 -0.00993229]

我们预测了 10 天的工商银行股价波动,看来跌的不少啊。

至此,我们如何构建一个简单的线性回归来预测股票浮动已经完成了,当然这个模型非常的差劲,我们可以在数据特征上面做一些工作来提高精度,也可以选用别的模型来提高精度。

小伙伴,赶快动手自己做吧!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值