1. 程式人生 > >資料分析之股票市場價格分析

資料分析之股票市場價格分析

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%

好了,以上就是我關於股票市場分析的一點拙見。