• bookloveru2

pythonで株価分析①【Google Colaboratory「グーグルコラボラトリー」導入から株価プロットまで】

更新日:2021年11月1日


皆様、こんにちは。


今回からシリーズもので、pythonによる株価分析を行っていきたいと思います。

シリーズものですので、かなり簡易的な分析を行っていきます。



環境は当ブログでいつも使用しているグーグルコラボです。

基本コピペで行ける筈です。

※コピペでうまくいかない場合は、各行にコメントとして記載している【#~~】を全て消去してください。

Google Colaboratory(グーグルコラボラトリー)通称、グーグルコラボの使い方は最後に記述します。


では、早速行きます。

 

目次

米Yahoo!financeから株価取得

取得した株価を同じ土俵にして、分析しやすくする

変化率をグラフにして視覚化

 

❶米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営業日(ここでは201811日)と最後の5営業日(ここでは2020125日)を表示
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を使った簡易的な分析をシリーズとして掲載していきますので、

良かったらご覧いただければと思料します。


では、ばいちゃ。


pythonでプログラミングがしたい!! 
pythonを学びたい!という方には、
オンラインプログラミング教室『Aidemy アイデミー』がお勧めです。
ご自身でプログラム環境を用意する必要は無く、サイトへアクセスするだけです。  創業者は東京大学工学部卒の石川聡彦さん。
著書に『人工知能プログラミングのための数学がわかる本』(KADOKAWA/2018年)など。  
無料で、お試しもできますので安心です。
お時間ある方は下記リンクを覗いてみてはいかがでしょうか(*'ω'*)






 

Google Colabo ratory(グーグルコラボラトリー)通称、グーグルコラボの使い方👇

過去記事をご参照ください。






閲覧数:740回0件のコメント