用stocker进行股票预测

 

第一次写关于股票预测的程序,也不知道具体应该做什么,在网上搜了下别人用蟒做的东西,然后仿照别人的东西,自己也试了一下,现在把这个过程记录下,也算是个学习。

参考:https //blog.csdn.net/cheney2000/article/details/79199719 stocker模块量化交易分析

          http://www.infosec-wiki.com/?p=434435    stocker模块作者写的,然后国内翻译的文章

          https://github.com/WillKoehrsen/Data-Analysis/tree/master/stocker  stocker项目网址

第一步:安装必要的包

我安装python是为图方便,选择了anaconda,anaconda相当于一个python各种版本和包管理的工具,比较方便。我这里安装的是python 3.6,然后stocker模块的运行环境也刚好是3.6,因此我没有环境上的错误,直接用pip install或者conda install安装即可。

安装的包有这些:

quandl 3.3.0
matplotlib 2.1.1
numpy 1.14.0
fbprophet 0.2.1
pystan 2.17.0.0
pandas 0.22.0
pytrends 4.3.0

可以直接在命令行中输入:pip install -U quandl numpy pandas fbprophet matplotlib pytrends pystan

这里我是用了conda install quandl numpy pandas matplotlib pystan,然后再pip install pytrends fbprophet。

在安装fbprophet的时候报错了,具体错误如下:

然后查了错误后,https:  //blog.csdn.net/smileglaze/article/details/81630379这篇博客中,遇到的错误是类似的,说是gcc c ++库没有安装,因为我的conda安装是没有问题的,所以我用了如下命令

conda install -c conda-forge fbprophet

然后进入python,输入来自fbprophet import Prophet,如果能运行,那么说明安装成功。

第二步:用储存器

首先从github上将stocker.py下载好,和准备好的项目文件放在一起。然后在文件中调用这个Stocker。

from stocker import Stocker

注意,如果要用jupyter notebook,那么要先设置jupyter的工作空间,不然无法调用这个类。

然后就是把数据取下来:

amazon = Stocker('AMZN')

这里文章中给的示例是亚马逊的股票数据,这一行一般没有问题。

然后接下来绘制历史股价图,这一步我就碰到问题了,

amazon.plot_stock()

不出意外,会碰到类似这样的错误:

 用stocker进行股票预测_第1张图片

 这里会有错误提示是:TypeError: type object 1997-05-16

网上找了很多,并没有关于这个的解决方案。所以我感觉这个解决了还是很有成就感的。

问题在于:DF [ '日期']数组元素类型与start_date.date()元素类型不匹配!!!匹配的是DF [ '日期']数组元素与起始日期!!!

所以将stocker.py中178行代码改成这样就正确了:

 if(end_in)&(start_in):
                    trim_df = df [(df ['Date']> = start_date)& 
                                 (df ['Date'] <= end_date)]

也就是把后面那个多余的日期()删掉。

此后遇到的创建模型和预测结果评价都会遇到这个问题,在有问题的代码处把这个日期()删掉就可以了〜

这里是最终画出的图:

用stocker进行股票预测_第2张图片

 用stocker进行股票预测_第3张图片

你可能感兴趣的:(用stocker进行股票预测)