[株とPython] EPS(1株当たり利益)の予測と実績をcsv出力してグラフ化するプログラム

Python
スポンサーリンク

こんにちはーーー

Pythonを使って米国株の分析を色々やっていこうと思います。

今回は、EPS(1株当たり利益)の予測と実績をcsv出力とグラフ化したので、それについて記事にします。

スポンサーリンク

コード

コードは↓です。
例としてクラウドストライクのEPSを出力します。

import yahoo_fin.stock_info as si
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import dates
from datetime import datetime as dt

# 複数記載してもOKです。例えばcodelist = ['CRWD','RIDE']
# 例としてクラウドストライクのEPSを出力します
codelist = ['CRWD']
for i in range(len(codelist)):
# EPS情報の取得   
   ticker=codelist[i]
   ticker_earnings_hist = si.get_earnings_history(ticker)
# グラフ作成のためにデータの体裁を整える
   df =pd.DataFrame.from_dict(ticker_earnings_hist).loc[:,["startdatetime","epsestimate","epsactual"]]
   df.rename(columns={'epsestimate':'EPS Estimate','epsactual':'EPS Actual'},inplace=True)
   df['day'] = pd.to_datetime(df["startdatetime"], format='%Y-%m-%d')
   df['startdatetime'] = df['day'].dt.strftime('%Y-%m-%d')     
   df = df.sort_index(axis='index',ascending=False)[["startdatetime","EPS Estimate", "EPS Actual"]]
# データプロット   
   df[(df['startdatetime'] > '2000-01-01')].plot.\
       bar(title=ticker , x="startdatetime",color=['blue','red'], figsize=(14,6),fontsize=10)
#CSVへの出力
   df.to_csv('./test.csv', mode='w', header=False, index=False)
#グラフ作成
   plt.title(ticker, fontsize=50)
   plt.xlabel(xlabel="", fontsize=20)
   plt.ylabel(ylabel="EPS", fontsize=20)
   plt.legend(fontsize=25)
   plt.show()

実行結果

実行した結果は↓です。

csv

グラフ化

意図通り出力できました!

備考

プログラムを実行したところを動画にしています。
役立つ情報を心掛けていますのでチャンネル登録してくれたらとても嬉しいです。

ではまた!!

コメント

タイトルとURLをコピーしました