抓取數據,衡量GAFATA
1、目標:分析GAFATA六家公司股票在2017的的漲跌情況。
2、獲取數據
從雅虎財經獲得數據,終於有種能在網上爬取數據的感覺了,代碼:
#導入數據分析包import pandas as pdfrom pandas_datareader import dataimport matplotlib.pyplot as plt#第一次運行時出錯:ModuleNotFoundError: No module named pandas_datareader#百度了解決辦法:conda install -c https://conda.anaconda.org/anaconda pandas-datareader#字典:6家公司的股票gafataDict = {谷歌:GOOG, 亞馬遜:AMZN, Facebook:FB, 蘋果:AAPL, 阿里巴巴:BABA, 騰訊:0700.hk}start_date = 2017-01-01end_date = 2018-01-01#根據經驗,下列代碼最好一個Cell一條,因為單條代碼在獲取數據時可能會出錯。APPL = data.get_data_yahoo(gafataDict[蘋果],start_date,end_date)AMZN = data.get_data_yahoo(gafataDict[亞馬遜],start_date,end_date)FB = data.get_data_yahoo(gafataDict[Facebook],start_date,end_date)GOOG = data.get_data_yahoo(gafataDict[谷歌],start_date,end_date)BABA = data.get_data_yahoo(gafataDict[阿里巴巴],start_date,end_date)hk0700 = data.get_data_yahoo(gafataDict[騰訊],start_date,end_date)
以蘋果為例,查看數據情況:
APPL.head()
數據中分別有日期,開盤價,收盤價,調整後的收盤價,成交量。各支股票由於實際原因,數據條數會存在不同。
再來查看具體的數據,以亞馬遜為例:
AMZN.describe()
可以看出一年內的開盤時的最高價與最低價,以及收盤時候的最高價與最低價,可以看出亞馬遜股價收盤的最高價是接近1200美金。
3、分析數據
以GAFATA 6支股票的收盤價均價畫圖:
M = [APPL[Close].mean(),BABA[Close].mean(),hk0700[Close].mean()*0.1278, GOOG[Close].mean(),AMZN[Close].mean(),FB[Close].mean()]Label = [APPLe,ALIBABA,TENCENT,GOOGLE,AMZON,Facebook]plt.bar(Label,M,color = blue)plt.grid(True)plt.xlabel(Company)plt.ylabel(dollar)plt.show()
從股票價格上來判斷,亞馬遜和谷歌股票價格是最高的。接下來再看看亞馬遜一年的股票收盤價的走勢圖,代碼如下:
#亞馬遜公司的股價走勢AMZN.plot(x=AMZN.index, y=Close)plt.xlabel(Time)plt.ylabel(Price)plt.title(AMAZON)plt.grid(True)plt.show()
收盤價的總體趨勢是向上的,其中在11月份的時候有一個」大跳躍「,而後又趨緩,接著又開始衝擊1200元,出現一個「小跳躍」,結合開盤價的最大值,我們知道亞馬遜在開盤價達到過1200元,但後續還是沒能穩住,向下做了調整。
通過定義函數change,我們能快速知道6支股票的漲跌情況:
def change(column): #買入價格 buyPrice = column[0] #現在股價 #總共251條數據,序號是從0開始的,所以最後一條數據的序號是251-1 curPrice = column[251-1] #累計漲跌幅 priceChange = (curPrice - buyPrice)/buyPrice #判斷股票是上漲還是下跌 if (priceChange>0): print(股票累計上漲=, priceChange) elif (priceChange < 0): print(股票累計下跌=, priceChange) else: print(股票累計沒有變化=, priceChange) #返回數據 return priceChange
將增幅都放置在一起:
changeprice = [change(APPL.Close),change(BABA.Close),change248(hk0700.Close), change(GOOG.Close),change(AMZN.Close),change(FB.Close)]Label = [APPLE,ALIBABA,TENCENT,GOOGLE,AMZON,Facebook]plt.bar(Label,changeprice)plt.grid(True)plt.xlabel(Company)plt.ylabel(Pricechange)plt.show()
結果:
由上可知,阿里和騰訊的漲幅最高,谷歌和亞馬遜的單價本來就很高,仍然有這麼高的增長率,真是驚人。Facebook的小扎同學,近來很熱心的和中國接觸,打開得了中國市場,前途無量。
4、分析總結
(1)FGAFATA都在大幅上漲,最低的增長率都超過30%(谷歌:33%),這六家公司都是未來的大帝國,在人工智慧方面都有發力,未來人工智慧的突破要看這六家公司了。
(2)騰訊的漲幅最高(110%)。
推薦閱讀:
※Python 閉包代碼理解?
※不懂編程,如何才能學好python呢?
※OpenCV檢測篇(二)——笑臉檢測
※將Python2中漢字出現編碼的事一次性說清楚。
※安卓運行Python的神器:QPython
TAG:Python |