Python 複数銘柄の過去10年分の株価を取得

Pythonを使用して複数銘柄の株価を取得して、それをグラフ化したいと思います。使用するライブラリはpandas_datareaderです。

今回取得する銘柄は下記2社です。

5401 日本製鐵
5411 JFEホールディングス

通常、こういった記事ではアップルとかグーグルとか、日本株で言えばソニーやパナソニックなどの銘柄が選ばれがちなのですが、、、今、日本製鐵の株を持っていまして、せっかくなのでww

まずは出力から。

出力


2020年1月から2021年11月までの株価推移です。こうみると同じような変化をしていますね。


もう少し長い期間で見てみましょう。日本製鐵はJFEの兄貴分みたいなイメージがありましたが、JFEの方が株価が高くなっているタイミングがあるのですね。それにしても2007年の8000円越えはすごいです。


日本製鐵とJFEでどれくらい価格差があるかを見てみましょう。

日本製鐵株価からJFE株価を引いているので、プラス側になるほど日本製鐵が高くなり、マイナス側はJFEの方が株価が高くなっています。

現在は250円程度の差なので、JFEが迫ってきている感じですね。

サンプルプログラム-1

2つの銘柄を取得する場合のサンプルプログラムです。startとendに取得したい期間を設定します。

#ライブラリのインポート
from pandas_datareader.stooq import StooqDailyReader
from datetime import datetime
import matplotlib.pyplot as plt

#株価取得範囲を設定
start = datetime(2004, 1, 1)
end = datetime(2021, 11, 1)
#日本製鐵とJFE
stock = ['5401.JP','5411.JP']
#株価取得
df = StooqDailyReader(stock, start=start, end=end)
df_stock = df.read()['Close']
print(df_stock)

#matplotlibでグラフ化
df_stock.plot(figsize=(16,8),fontsize=18)
plt.legend(bbox_to_anchor=(0, 1), loc='upper left', borderaxespad=1, fontsize=18)
plt.grid(True)
plt.title('Graph',fontsize=18)
plt.savefig("graph.png")
plt.show()

サンプルプログラム-2

価格差を計算するのはこちら。株価の引き算をしているだけです。

#ライブラリのインポート
from pandas_datareader.stooq import StooqDailyReader
from datetime import datetime
import matplotlib.pyplot as plt

#株価取得範囲を設定
start = datetime(2004, 1, 1)
end = datetime(2021, 11, 1)
#日本製鐵とJFE
stock = ['5401.JP','5411.JP']
#株価取得
df = StooqDailyReader(stock, start=start, end=end)
df_stock = df.read()['Close']
print(df_stock)
df_diff = (df_stock['5401.JP'])-(df_stock['5411.JP'])
print(df_diff)

#matplotlibでグラフ化
df_diff.plot(figsize=(16,8),fontsize=18)
plt.legend(bbox_to_anchor=(0, 1), loc='upper left', borderaxespad=1, fontsize=18)
plt.grid(True)
plt.title('Graph',fontsize=18)
plt.savefig("graph.png")
plt.show()
タイトルとURLをコピーしました