株価データをpythonでプロットしてみました

データの入手

SPXLへの投資タイミングを判断するため、過去の値動きがほしかったのですが、Yahoo! Financeで簡単に入手できました。

  1. https://finance.yahoo.com/ にアクセス
  2. 知りたい株、ETFのTickerを検索窓に入力して検索
  3. Historical Dataをクリック
  4. Time Periodの横の日付→Maxの順にクリック
  5. Apply→Download Dataの順にクリック

以上で入手可能。書式も整っていてありがたいです。

pythonでプロットする

勉強がてらプロットもしてみました。

pandasでcsvファイルを読み込み、matplotlibでプロットします。(python3.8 + Anacondaで動かしました。)

import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime as dt

spxl = pd.read_csv('SPXL.csv', names=['date','open','high','low','close','adjClose','volume'], header=0)

spxlDate = [dt.strptime(d, '%Y-%m-%d') for d in spxl['date']]
spxlClose = spxl['close']

plt.plot(spxlDate, spxlClose)

plt.title('SPXL')
plt.xlabel('date')
plt.ylabel('close')

plt.show()

変数名とcsvファイル名だけ修正して、csvファイルと同じフォルダに保存してください。後々、他のETFもプロットしたかったので変数名には’spxl’と入ってしまっています。

また、終値をプロットしていますが、好きなものを選んでください。

はじめ、’header=0’を入れてなくてエラーが出たけど、1行目を項目名として自動検知してくれたりはしないんですね。

importやラベル設定等を除けば、実質5行だけでグラフが出力されます。

さて、グラフを作ることが目的ではなく、購入タイミングを判断したいのでした。分析をしていきたいと思います。

それにしてもすごい伸び方ですね。さすがレバレッジETFです。