JupyterLab または Jupyter Notebook で株価の取得とグラフ化をしてみます。
JupyterLab または Jupyter Notebook の用意はこちらを参照ください。
株価を取得する
株価の取得には、yahooquery 2.2.15 を使います。
from yahooquery import Ticker
ticker = Ticker('7203.T')
df = ticker.history(period='1mo', interval='1d')
- 3行目: Ticker で、取得したい銘柄のコードを指定します。
日本の銘柄は ‘7203.T’ の様にコード(7203=トヨタ自動車)と取引所(T=東京証券取引所)をドットで区切って設定します。 - 4行目: history でデータを取得します。
period で期間を指定します。’1mo’ は1ヶ月分になります。
interval で間隔を指定します。’1d’ で1日毎になります。
df に以下の様にデータを取得できます。
ラインチャートにする
ラインチャートは matplotlib を使って書いてみます。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda x, loc: "{:,}".format(int(x))))
plt.xticks(rotation=45)
plt.plot(df.loc['7203.T'].close)
plt.show()
- 3−4行目:Y軸の数値を3桁区切りで表示させる
- 5行目:横軸のラベルを45°に傾ける
- 6行目:グラフ描画
引数のデータの指定が df.loc[‘7203.T’].close と分かりづらいですが、中身は以下のようになっています。
グラフにした結果は、
ローソク足チャートにする
ローソク足チャートは mplfinance を使って書いてみます。
import pandas as pd
import mplfinance as mpf
dg = df.loc['7203.T'].copy()
dh = dg.reset_index()
dh.rename(columns=str.capitalize, inplace=True)
dh['Date'] = pd.to_datetime(dh['Date'])
di = dh.reset_index()
di.set_index('Date', inplace=True)
di.drop('Adjclose', axis=1, inplace=True)
mpf.plot(di, type='candle')
mpf.show()
- 4−12行目:14行目で使う為に、データの変換
- 14行目:グラフ描画
ほとんどデータ変換に費やしています。変換の前と変換後で見ると、次の通りです。
- 7行目:列名の頭文字を大文字に変換( date → Date )
- 8行目:日付の列を datetime64 型に変換
- 10−11行目:インデックスを Date に設定
- 12行目:不要な列(Adjclose)を削除
グラフにした結果は、
Pythonでできる! 株価データ分析 (Amazon)Docker Desktop for Windows/Macでつくるクリーンな開発環境構築入門(Python版) (Amazon)
ファイナンス機械学習 (Amazon)
アセットマネージャーのためのファイナンス機械学習 (Amazon)
コメント