pythonで株価分析①【Google Colaboratory「グーグルコラボラトリー」導入から株価プロットまで】
皆様、こんにちは。
今回からシリーズもので、pythonによる株価分析を行っていきたいと思います。
シリーズものですので、かなり簡易的な分析を行っていきます。
環境は当ブログでいつも使用しているグーグルコラボです。
基本コピペで行ける筈です。
※コピペでうまくいかない場合は、各行にコメントとして記載している【#~~】を全て消去してください。
Google Colaboratory(グーグルコラボラトリー)通称、グーグルコラボの使い方は最後に記述します。
では、早速行きます。
❶米Yahoo!financeから株価取得
#必要なモジュールをインポート
import datetime
import fix_yahoo_finance as yf
import matplotlib.pyplot as plt
#①株価を取得する
start = datetime.date(2018,1,1) #株価を取得するスタート日を決める
end = datetime.date.today() #現在までの営業日(今日 =today)を取得する最終日とする
codelist = ["SPY","^N225","AMZN","MSFT","tsla","aapl"] #コードリストに取得したい銘柄を入れる
#②取得した株価の内、終値をdata2に格納する
data2 = yf.download(codelist, start=start, end=end)["Adj Close"]
#株価の最初の5営業日(ここでは2018年1月1日)と最後の5営業日(ここでは2020年12月5日)を表示
display(data2.head().append(data2.tail()))
ここでは、S&P500、日経平均株価、Amazon、マイクロソフト、テスラ、アップルの六つの株価を2018年1月1日~2020年12月5日まで取得しました。下図がその結果です。
上の5行が、2018年1月2日~1月8日。
下の5行が、2020年11月30日~12月4日。
※営業日のみ表示されるため、株式市場の休業日はそっくり抜け落ちています。
また、日本は1/2~1/3、1/8は休業日の為、NaN(欠損値と言います)となり、値が抜け落ちています。
❷取得した株価を同じ土俵にして、分析しやすくする
株価は、当然企業価値によって、値段が違います。
ここでは、例として、
アップル 1株 = 約41ドル(2018/1/2) 時価総額2.07兆ドル(現在世界1位)
Amazon 1株 = 約1,189ドル(2018/1/2) 時価総額1.58兆ドル(現在世界3位)
となっており、世界1位と3位の比較なのに、
2桁も株価が異なる為、比較が難しくなります。
これは、発行済み株数が異なる為です。
様は、アップルはAmazonに比べて、発行済み株数の総数が多いということです。
ここで、株価が何パーセント増加しているのか?などを比較しやすい形に整えるため、株価推移の増減額を変化率へと変換します。
更に、変化率から累積積を算出して実際の価格推移に変更します。
※累積積とは1番目の要素 * 2番目の要素 * 三番目の要素 * … と和が累積されていく計算のこと。
では、コードです。
#ここで実際の価格からパーセントの変化率に変換したのち、累積積を算出して実際の価格推移に変更します。累積積とは1番目の要素 * 2番目の要素 * 三番目の要素 * … と和が累積されていく計算のこと.
df_all=(1+data2.pct_change()).cumprod()
display(df_all.head().append(df_all.tail()))
アップルを例に見ていきます。
アップルの2018/1/2 の株価は41.105ドル(約41ドル)でした。
上図の2020-12-04のアップルの変化率は2.974052となっております。
単純に掛け算します。 41.105 × 2.974052 = 122.248ドル
実際の2020-12-04のアップル株価は122.25ドルですので、一致します。
これが、取得した株価を同じ土俵にして、分析しやすくするの意味です。
❸変化率をグラフにして視覚化
df_all.plot(figsize=(8,6),fontsize=18) #グラフのサイズを決める縦横8,6インチという意味 文字の大きさ18
plt.legend(loc='upper left', bbox_to_anchor=(0, 0.5), fontsize=18) #凡例は左
plt.grid(True) #グリッド線を入れて見やすくする
plt.show() #グラフを描画
テスラが2018/1/1~2020/12/5で、約8倍強となっています\(◎o◎)/!
その他の株価も当然のごとく2倍になっていて、金融緩和と米国企業の力強さを見せつけられる結果となりました。
頑張れ!日経平均!!!
と、叫びたくなる内容でしたね(*´▽`*)
如何でしたでしょうか?
このように、pythonを使った簡易的な分析をシリーズとして掲載していきますので、
良かったらご覧いただければと思料します。
では、ばいちゃ。
e^iπ + 1 = 0