本文是在Python 3 环境下使用Jupyter Notebook对GAFATA这6只股票数据进行爬取和简单分析。
GAFATA是谷歌、亚马逊、Facebook、苹果、腾讯、阿里巴巴这6家公司的简称。
准备工作
首先需要导入以下几个包,pandas包用于数据分析,pandas_datareader用于爬取股票数据,如果没有安装这两个包,需要先安装。爬取数据前需要指定所需数据的起始时间,并且创建一个公司和股票代码相对应的字典。 1.png注意事项:
(1)互联网数据获取包安装时是pandas-datareader,导入时是pandas_datareader,注意中间“-”的位置。
(2)获取国内股票数据的方式是:“股票代码” + “对应股市”(港股为.hk,A股为.ss)
例如腾讯的股票属于港股为:00700.hk,由于是从雅虎财经网站上爬取的数据,所以应该改为:0700.hk
获取数据
首要获取这六家公司的股票数据并核对数据信息。这里用的是pandas_datareader包爬取yahoo finance股票数据,时间是从2017年1月1日至2018年1月1日(爬取数据的过程并不稳定,有的时候会出现连接关闭的现象,需要隔一段时间再试一下)。
获取的数据如下: 2.获取谷歌和亚马逊的股票信息.png
3.获取Facebook和苹果的股票信息.png 4.获取阿里巴巴的股票信息.png 5.获取腾讯的股票信息.png在爬取的数据中,使用head()函数只会显示每只股票前5行的数据,Date(交易时间),Open(开盘价),High(最高价),Low(最低价),Close(收盘价),Volume(成交量)
分析腾讯股票数据
以腾讯股票为例,先查看腾讯股票的统计信息: 6.查看腾讯股票的描述统计信息.png 分析腾讯股票的涨跌幅: 7.分析腾讯股票涨跌幅.png其中定义一个函数change()函数,计算公式为:
计算股票涨跌幅 = (现在股价 — 买入价格)/买入价格
数据可视化
选用腾讯股票收盘价Close这一列数据绘制折线图,查看腾讯股票2017年的变化趋势: 8.腾讯股票2017年的变化趋势.png 使用散点图显示成交量与股价的关系: 9.成交量和股价.png 求出成交量和股价的相关系数矩阵: 10.相关系数矩阵.png通过折线图的结果可以看出,腾讯在2017年5月至2017年9月股票波动比较大,但股票的整体形式是增长的,结合散点图和相关系数矩阵,成交量和股价的相关系数为0.335,呈正线性相关,股票交易活跃,再综合前面计算的结果,腾讯股票在2017年的涨幅达到了114.36%,这是非常值得入手的一只股票。
分析6只股票(GAFATA)的趋势
在前面的结果中看到腾讯股票在2017年的收益非常好,在这6只股票当中还有没有比腾讯还好的呢?我们把这6只股票都绘制折线图放在一起比较,如下: 11.分析GAFATA的趋势.png从折线图中可以看出,这6只股票整体呈增长趋势 ,虽然谷歌和亚马逊的波动比较大,但整体增长较快,但是由于每只股票买入的价格都不一样,收益比率差异很大 ,因此还需要比较这6只股票的涨跌幅,才能更好地比较收益。
分析6只股票(GAFATA)的涨跌幅
从结果来看,这6只股票的涨幅为:腾讯 >阿里巴巴 >亚马逊 >Facebook >苹果 > 谷歌
在这6只股票中涨幅最大是腾讯(114.36%)和阿里巴巴(94.5%),亚马逊和Facebook的涨幅接近,分别为56.13%和50.6%,涨幅最低的是谷歌(34.42%)。
因为谷歌和亚马逊的股价比较高,造成我们看不出其他4家公司的股票走势。 所以根据股价我们可以将这6家公司分成2组,一组是股价较高的谷歌和亚马逊。另外一组是股价较低的4家公司。
因谷歌和亚马逊的股价比较高,这两只股票分为第一组: 13.第一组.png 剩下四家公司的股价相对第一组较低,划分为第二组: 14.第二组.png计算六家公司股票的平均值
分析结果
从上面的分析结果来看,这6只股票虽然短期内有所波动,但整体还是增长的,其中腾讯和阿里巴巴在2017年里收益比率最高的两只股票,且从趋势来看,整体还是呈现涨幅状态的,在2018年里这6只股票的上升空间还有很大,如果有机会买几只作为未来投资用,还是很不错的。
网友评论