Python データを並べ替えて株価の移動平均線を表示する

まくまく
まくまく
取得した株価の移動平均線を表示してみようと思います。

出力


2021年1月から11月までのソニーの株価を取得しグラフ化しました。

青色が終値、橙色が5日移動平均線、緑が25日移動平均線です。

サンプルプログラム-1

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

#株価取得範囲を設定
start = datetime(2021, 1, 1)
end = datetime(2021, 11, 1)
#ソニー
stock = ['6758.JP']
#株価取得
df = StooqDailyReader(stock, start=start, end=end)
df_stock = df.read()
#並べ替え
df_stock = df_stock.sort_index(ascending=True)
#移動平均
df_stock["MA5"] = df_stock['Close'].rolling(window=5).mean()
df_stock["MA25"] = df_stock['Close'].rolling(window=25).mean()
print(df_stock['Close'])

#matplotlibでグラフ化
df_stock[['Close','MA5','MA25']].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()

コメント

#並べ替え
df_stock = df_stock.sort_index(ascending=True)

取得したデータにもよりますが、時系列が新しい順に並んでいる時は、並べ替えをしましょう。


並べ替えをしなかった場合の移動平均線はこんな感じです。始点と終点が冒頭のグラフと異なっているのが分かると思います。

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