資料分析之股票市場價格分析
1.如何從網際網路上尋找資料
資料獲取通常分為兩種:
第一種:主動獲取。我們有很多種方式去網際網路上獲取我們想要的資料。常用的就是爬蟲。(例如:http://github.com/xiaopeng163/bili-spider,就是一哥們寫的爬蟲專案。爬取 B站全站視訊資訊)
第二種:被動方式。別人提供給我們的一些介面,我們可以通過介面獲取提供給我們的資料。比如微博,twitter,它們都提供相應的API,這樣我們就可以獲取它們所提供給我們的資料,當然我們也可以做一些簡單的過濾。
在知乎上有一個問答“資料分析和資料探勘有哪些公開的資料來源”(https://www.zhihu.com/question/19969760)
在這裡給大家介紹的一個網站是kaggle(https://www.kaggle.com),該網站是每一個做資料分析/機器學習基本上都會用的一個網站。網站中提供了很多的資料,包括一些教程。在教程中它會告訴你使用本資料集做的什麼資料分析,以及怎麼做的。如果你的電腦可以使用google的話,可以在google搜尋引擎中搜索“google public data
2.獲取股票資料
本次我們要做的是股票價格分析。對於股票價格的獲取,現在網上有很多的API,比較流行的就是雅虎做的finance stock API,通過這個介面,我們基本上可以獲取所有公司股票歷史價格資訊(https://finance.yahoo.com)。Google也提供了類似的API。除了API以外,還有一些網站本身就提供了public的資料。
雅虎股票finance模組 提供了很多的API介面,我們可以使用一些工具,很容易的抓取股票的資訊。我們在
我們可以簡單的寫兩行程式碼就可以獲取一個公司的股票資訊:
查詢阿里巴巴股票資訊的前5條資訊:
查詢阿里巴巴股票資訊的後5條資訊:
獲取阿里巴巴股票資訊量共有907條資訊:
3.股票歷史趨勢分析
阿里巴巴股票每日收盤價格走勢分析:
阿里巴巴股票每日股票交易量走勢分析:
阿里巴巴 和 亞馬遜 股票每日收盤價格走勢分析:
阿里巴巴股票日均(股票每日最高價格-股票每日最低價格)變化走勢分析:
阿里巴巴股票每日收盤價 天與天 之間股票變化分析:
阿里巴巴股票每日收盤價 天與天 之間股票變化分析(直方圖):
畫直方圖的第一種方法:
畫直方圖的第二種方法:
4.股票風險分析
我們通過使用python的pandas-datareader庫,從雅虎的finance網站上抓取了:蘋果,谷歌,微軟,亞馬遜,Facebook,這5家公司的股票資料(從2015年1月1日至今的股票交易資訊)--每日收盤股票價格。
抓取資料的前5條:
在進行股票風險分析之前,我們還需要將資料進行一次轉換,即求得每個公司的每日股票變化情況(daily-return)。
DataFrame結構的top_tech_dr變數就是我們準備的進行風險分析資料。
我們首先來看一下這5家公司的股票價格走勢:
從上圖我們可以看出這5家公司的股票整體都呈現出一個整體上漲的趨勢。我們又可以大概將這5家公司的股票資料分為兩個梯隊。谷歌和亞馬遜他們屬於一個梯隊,由於這兩家公司的股票價格比較高,他們股票的增長幅度也特別大。蘋果,Facebook和微軟由於他們的股票價格比較低,屬於另外一個梯隊,我們單獨看一下這個梯隊。
我們從上面2個圖中可以得出一個有意思的現象:亞馬遜和谷歌股票的跌漲基本吻合,蘋果和Facebook的跌漲恰好相反,微軟的股票價格趨於一個穩步上升的趨勢。
我們可以通過散點圖使用daily-return資料再次驗證我們看出的這種現象:
通過這個圖我們可以看出,谷歌和亞馬遜兩家公司的股票價格點的分佈大概呈現出一條直線,而且這條直線接近y=x,這說明這兩個公司的股票價格具有相關性。如果我們做一個對比的話,微軟和Fackbook股票價格散點圖如下:
從上面的圖可以看出,散點圖相對於上圖來說比較寬,如果我們從中畫一條線的話,很明顯是不經過原點的。所以說,微軟和Facebook股票的相關性並不如谷歌和亞馬遜那麼強。這種規律可以作為大家去購買股票的時候一個參考。
我們也可以使用seaborn庫的pairplot()方法,從整體上看這5家公司的股票價格關係如下:
最後我們通過分位數(quantile,https://en.wikipedia.org/wiki/Quantile)這麼一個概念,來分析一下風險的情況。
上圖我們以微軟股票為例,我們給quantile傳入0.05,即我們有95%的信心,我們買的微軟的股票每天的虧損最大不超過2%。
我們在以唯品會為例說明這個問題。唯品會的股票價格如下:
如果我們還要問有多大的把握讓我買的唯品會股票,每日虧損最多不超過2%,那麼如下圖所示:
從計算結果可以看出,我們現在只有78%的信心告訴您,您買的唯品會的股票每日虧損最大不超過2%。
好了,以上就是我關於股票市場分析的一點拙見。