数据分析之股票市场价格分析

1.如何从互联网上寻找数据

数据获取通常分为两种:

第一种:主动获取。我们有很多种方式去互联网上获取我们想要的数据。常用的就是爬虫。(例如:http://github.com/xiaopeng163/bili-spider就是一哥们写的爬虫项目。爬取 B站全站视频信息)

第二种:被动方式。别人提供给我们的一些接口,我们可以通过接口获取提供给我们的数据。比如微博,twitter,它们都提供相应的API,这样我们就可以获取它们所提供给我们的数据,当然我们也可以做一些简单的过滤。

在知乎上有一个问答“数据分析和数据挖掘有哪些公开的数据来源”https://www.zhihu.com/question/19969760。在这个问答中 肖智博同学做了全面的回答,在回答的补充中,可以找到相应的国外做 数据分析 数据源网站(https://www.quora.com/Data/Where-can-i-find-large-datasets-open-to-the-public)。

在这里给大家介绍的一个网站是kaggle(https://www.kaggle.com),该网站是每一个做数据分析/机器学习基本上都会用的一个网站。网站中提供了很多的数据,包括一些教程。在教程中它会告诉你使用本数据集做的什么数据分析,以及怎么做的。如果你的电脑可以使用google的话,可以在google搜索引擎中搜索“google public data”,该网站提供了一些公开的数据。亚马逊也提供一些公共的数据供我们使用(https://aws.amazon.com/public-datasets)。

2.获取股票数据

本次我们要做的是股票价格分析。对于股票价格的获取,现在网上有很多的API,比较流行的就是雅虎做的finance stock API,通过这个接口,我们基本上可以获取所有公司股票历史价格信息(https://finance.yahoo.com)Google也提供了类似的API。除了API以外,还有一些网站本身就提供了public的数据。

雅虎股票finance模块 提供了很多的API接口,我们可以使用一些工具,很容易的抓取股票的信息。我们在anaconda命令行中执行:conda install pandas-datareader,这样我们就安装了所使用的工具。(anaconda官方下载地址:https://www.anaconda.com/download)。

我们可以简单的写两行代码就可以获取一个公司的股票信息:

 

查询阿里巴巴股票信息的前5条信息:

 

查询阿里巴巴股票信息的后5条信息:

 

获取阿里巴巴股票信息量共有907条信息:

 

3.股票历史趋势分析

阿里巴巴股票每日收盘价格走势分析:

 

阿里巴巴股票每日股票交易量走势分析:

 

阿里巴巴 亚马逊 股票每日收盘价格走势分析:

 

阿里巴巴股票日均(股票每日最高价格-股票每日最低价格)变化走势分析:

 

阿里巴巴股票每日收盘价 天与天 之间股票变化分析:

 

阿里巴巴股票每日收盘价 天与天 之间股票变化分析(直方图):

画直方图的第一种方法:

 

画直方图的第二种方法:

  

4.股票风险分析

我们通过使用pythonpandas-datareader库,从雅虎的finance网站上抓取了:苹果,谷歌,微软,亚马逊,Facebook,这5家公司的股票数据(从201511日至今的股票交易信息)--每日收盘股票价格。

抓取数据的前5条:

 

在进行股票风险分析之前,我们还需要将数据进行一次转换,即求得每个公司的每日股票变化情况(daily-return)。

 

DataFrame结构的top_tech_dr变量就是我们准备的进行风险分析数据。

我们首先来看一下这5家公司的股票价格走势:

 

从上图我们可以看出这5家公司的股票整体都呈现出一个整体上涨的趋势。我们又可以大概将这5家公司的股票数据分为两个梯队。谷歌和亚马逊他们属于一个梯队,由于这两家公司的股票价格比较高,他们股票的增长幅度也特别大。苹果,Facebook和微软由于他们的股票价格比较低,属于另外一个梯队,我们单独看一下这个梯队。

 

我们从上面2图中可以得出一个有意思的现象:亚马逊和谷歌股票的跌涨基本吻合,苹果和Facebook的跌涨恰好相反,微软的股票价格趋于一个稳步上升的趋势。

我们可以通过散点图使用daily-return数据再次验证我们看出的这种现象:

 

通过这个图我们可以看出,谷歌和亚马逊两家公司的股票价格点的分布大概呈现出一条直线,而且这条直线接近y=x,这说明这两个公司的股票价格具有相关性。如果我们做一个对比的话,微软和Fackbook股票价格散点图如下:

 

从上面的图可以看出,散点图相对于上图来说比较宽,如果我们从中画一条线的话,很明显是不经过原点的。所以说,微软和Facebook股票的相关性并不如谷歌和亚马逊那么强。这种规律可以作为大家去购买股票的时候一个参考。

我们也可以使用seaborn库的pairplot()方法,从整体上看这5家公司的股票价格关系如下:

 

最后我们通过分位数(quantilehttps://en.wikipedia.org/wiki/Quantile)这么一个概念,来分析一下风险的情况。

 

上图我们以微软股票为例,我们给quantile传入0.05,即我们有95%的信心,我们买的微软的股票每天的亏损最大不超过2%

我们在以唯品会为例说明这个问题。唯品会的股票价格如下:

 

如果我们还要问有多大的把握让我买的唯品会股票,每日亏损最多不超过2%,那么如下图所示:

 

从计算结果可以看出,我们现在只有78%的信心告诉您,您买的唯品会的股票每日亏损最大不超过2%

好了,以上就是我关于股票市场分析的一点拙见。

   

猜你喜欢

转载自blog.csdn.net/zhengzhoudaxuexujay/article/details/80136610