GAFAの株価分析

ゆうき( @BASEBALLY15 )です^^

アメリカの4大会社と言われている『GAFA』の株価について ,Pythonを使って分析したいです・・・

分かりました^^
それでは,実際にGAFAの株価データを使って,分析してみましょう!

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

GAFAとは?

アメリカのコンピュータやソフトウェア関連の4大会社として知られている,

『Google』,『Apple』,『Facebook』,『Amazon』を総称して『GAFA』と言われています.

GAFAとは?

学習内容

今回は,GAFAの中で,特にFacebookの株価についてデータ分析を行います.

そして,最後に,Facebookと他の3社との相関関係について分析を行っていこうと思います.

ライブラリ

import pandas as pd

from pandas import Series,DataFrame 

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

from datetime import datetime #ある時間の株価を取得するために必要

import pandas_datareader.data as pdr #pdrで株価を取得

from pandas_datareader import DataReader
#背景を変えるために使われる
sns.set_style("whitegrid")

%matplotlib inline

コード

まず,最初にGAFAのリストを作り,名前を定義しておきます.

GOOG,AAPL,FB,AMZNは会社のコードを表しています.

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

そして,いつからいつまでの株価を取得するかを決めるために,以下のコードを記述します.

#現在
end = datetime.now()

#始まり
start = datetime(end.year-1,end.month,end.day)

GAFAの株価を取得し,Facebookの株価について分析を行っていきたいと思います.

for stock in gafa_list:
    globals()[stock] = pdr.DataReader(stock,"yahoo",start,end)
 #describe()は詳細を表示します.FBはFacebook
FB.describe()

このように記述すると,以下の表が表示されます.

HighLowOpenCloseVolumeAdj Close
count253.000000253.000000253.000000253.0000002.530000e+02253.000000
mean189.083478185.305218187.208972187.2864821.578884e+07187.286482
std14.74236814.76955814.83728114.8073818.659194e+0614.807381
min150.949997145.699997146.220001150.4199986.046300e+06150.419998
25%179.839996176.789993178.259995177.7500001.109780e+07177.750000
50%189.080002185.050003187.000000187.4799961.347300e+07187.479996
75%198.880005194.160004196.699997197.0399931.687420e+07197.039993
max224.199997221.279999222.570007223.2299967.723360e+07223.229996

この表は,Facebookのデータの総数や平均,最大値,最小値などを表示しています.

ちなみに,HIGHは最高値,LOWは最安値,OPENは始値,CLOSEは終値,

VOLUMEは売却数,ADJ CLOSEは終値調整値を表しています.

分析では,”ADJ CLOSE”を対象に行っていきたいと思います.

Facebookの株価のデータをグラフに表示させるために,以下のコードを記述します.

#終値調整値でプロットする
FB["Adj Close"].plot(legend=True,figsize=(10,4))

legend=Trueは,凡例を表示させるという意味で,figsize=(10,4)はグラフのサイズを指定しています.

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

Facebookの株価のグラフ

このグラフから,Facebookの株価が徐々に上昇していることが分かります.

移動平均線を描いてみよう!

次に,5日,25日,75日ごとの移動平均線を表示させたいと思います.

一般的に,5日は「分足」,25日と75日は「日足」と呼ばれています.

移動平均線については,以下のサイトを参考にしてください.

移動平均線とは?

以下のコードを記述すると,

#移動平均線を描く
ma_day = [5,25,75]

for ma in ma_day:
  #{}の中にmaの値が代入される
    column_name = "MA {}".format(ma)

  #rolling()で移動平均線を描く
    FB[column_name] = FB["Adj Close"].rolling(center=False,window=ma).mean()

#実行
FB.head()

HighLowOpenCloseVolumeAdj CloseMA 5MA 25MA 75
Date
2019-01-30150.949997145.699997146.220001150.41999844613200150.419998NaNNaNNaN
2019-01-31171.679993165.000000165.600006166.69000277233600166.690002NaNNaNNaN
2019-02-01169.100006165.660004165.839996165.71000730806500165.710007NaNNaNNaN
2019-02-04169.300003163.619995165.699997169.25000020036000169.250000NaNNaNNaN
2019-02-05171.979996168.690002169.149994171.16000422557000171.160004164.646002NaNNaN

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

この表の右を見てもらうと,5日,25日,75日ごとの項目が追加されています.

NANと表示されているのは,25日の場合,25日間のデータが上の表に表示されていないからです.

FB.head()

の部分を

FB

と記述すると,全データが表示されるので,その時にNAN以外の値も表示されます.

そして,以下のコードを記述し,移動平均線を描いていきたいと思います.

#subplots=Trueの場合,グラフが別々になる
FB[["Adj Close","MA 5","MA 25","MA 75"]].plot(subplots=False,figsize=(10,4),title="Facebook")

すると,

GAFAの株価分析

このように,株価のグラフと移動平均線を表示させることが出来ました.

終わりに

今回は,米国の会社の株価について,データ分析を行いました.

次は,日本の会社の株価について分析を行い,

業種ごとに比較を行っていきたいと思います^^

それでは・・・

Q &A

コメントを残す

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

CAPTCHA