GAFAの株価の相関係数

ゆうき( @BASEBALLY15 )です^^

前回に,GAFAの株価の比較を行いましたが,次は,何をするのですか?

今回は, それぞれの株価にどのような関係性があるのかということを分析していこうと思います^^

(Udemy 『実践Pythonデータサイエンス』を参考,Jupiternotebookを使用)

GAFAとは?

米国の4大会社として知られている『Google』,『Apple』,『Facebook』,『Amazon』の頭文字から

『GAFA』と言われています.

相関係数とは?

相関係数とは,2種類の関係を示す指標のことです.

相関の強さは,以下の表のとおりです.

(画像をクリックすると,引用元を確認できます.)

学習内容

・『Google』の株価をグラフに表示する.

・『Google』と『Facebook』の相関について分析する.

・4社の株価を比較する.

・4社にどのような相関があるのかを分析する.

この流れで説明していきたいと思います.

ライブラリ

import pandas as pd

from pandas import Series, DataFrame

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

import pandas_datareader as pdr

from pandas_datareader import DataReader

from datetime import datetime

%matplotlib inline

#グラフの背景をwhitegridにする
sns.set_style("whitegrid")

コード

まず,GAFAの株価を取得します.

#リストを作成
gafa_list = ["GOOG","AAPL","FB","AMZN"]


#取得する期間を指定する
end = datetime.now()

 #去年の今日を指定
start = datetime(end.year-1, end.month, end.day)


#"yahoo"からGAFAの株価を取得
for gafa_stock in gafa_list:
    globals()[gafa_stock] = pdr.DataReader(gafa_stock,"yahoo",start,end)

そして,以下のコードを記述し,Googleの株価についてグラフを表示させると,

GOOG["Adj Close"].plot(legend=True,figsize=(10,4))
Googleの株価

このようなグラフが表示されます.

2019年の6月あたりで,下落したものの,現在の株価は上昇していることが分かります.

このように,Pythonを使うと,短いコードで株価を表示できるので,便利ですね^^

次に,4社の『終値調整値』とその変化率について,分析を行いたいと思います.

上の表が,終値調整値を示し,下の表が終値調整値の変化率を示しています.

#4社の終値調整値を表示
gafa_df = DataReader(["GOOG","AAPL","FB","AMZN"],"yahoo",start,end)["Adj Close"]

#実行
gafa_df.head()
SymbolsGOOGAAPLFBAMZN
Date
2019-01-311116.369995163.976242166.6900021718.729980
2019-02-011110.750000164.055069165.7100071626.229980
2019-02-041132.800049168.715042169.2500001633.310059
2019-02-051145.989990171.601685171.1600041658.810059
2019-02-061115.229980171.660797170.4900051640.260010
#4社の終値調整値の変化率を表示
gafa_rets = gafa_df.pct_change() #pct_change()で変化率を表示してくれる
gafa_rets.head()
SymbolsGOOGAAPLFBAMZN
Date
2019-01-31NaNNaNNaNNaN
2019-02-01-0.0050340.000481-0.005879-0.053819
2019-02-040.0198510.0284050.0213630.004354
2019-02-050.0116440.0171100.0112850.015612
2019-02-06-0.0268410.000344-0.003914-0.011183

GoogleとFacebookの株価の相関をグラフで表示させる

上で示した表を見ても,それぞれの株価にどのような相関があるのか分からないと思います.

そこで,上の表をグラフにしてみたいと思います.

#GoogleとFacebookを比較
sns.jointplot("GOOG","FB", gafa_rets, kind="scatter", color="seagreen")
GoogleとFacebookの株価の相関係

このグラフは,それぞれの株価のヒストグラムとプロット図を示したものです.

このグラフを,以下のコードを記述し,カーネル密度推定によるグラフで表示させてみると,

#カーネル密度推定を同時にプロットする.
sns.jointplot("GOOG","FB", gafa_rets, kind="kde", color="red")
カーネル密度推定による株価のグラフ化

このグラフから,2社ともに,株価の変化率が0に集中していることが分かります.

株価は,一日の間ではあまり変化しないのですね^^

4社全てのグラフを表示させる

4社のプロット図,ヒストグラム,kde図(カーネル密度推定)をまとめて表示させたいと思います.

以下のコードを記述します.

#グリッドを準備
gafa_fig = sns.PairGrid(gafa_rets.dropna()) 


#右上のグラフを指定
gafa_fig.map_upper(plt.scatter, color="red") 


#左下のグラフを指定
gafa_fig.map_lower(sns.kdeplot,cmap="cool_d") 


#対角線上のグラフを指定
gafa_fig.map_diag(plt.hist,bins=50)

すると,以下のグラフが表示されます.

4社のグラフをまとめた

このように,まとめてグラフを表示できるのも便利な機能です^^

最後に,4社の株価にどれくらい相関があるのかを,数値として,表示させたいと思います.

#相関係数をヒートマップで表示し,数値も表示させる
#annot=Trueは数値をグラフ上に表示させる
sns.heatmap(gafa_rets.corr(), annot=True) 

ヒートマップを使うことで,視覚的に相関を調べることが出ます.

グラフはこのように表示されます.

GAFAの株価の相関係数

全体的に,相関自体は強くないことが分かりました.

多少は,影響するものの,それぞれの株価によって,

GAFA内の株価が急激に変化することは,あまりないのではないかと思います^^

(あくまで個人的な見解です.)

終わりに

最後まで見てくださり,ありがとうございました。

今回は,GAFA全体のグラフを表示させてみました.

このように,まとめて表示させることが出来るのも,Pythonのメリットだと思います^^

ぜひ,皆さんも,Pythonを使って,様々な会社の株価を分析してみてください^^

それでは・・・

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA