ライブラリをインストールする
!pip install yfinance
ライブラリを読み込む
import numpy as np
import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt
import seaborn as sns
時系列データから日次変化率を計算する
tickers=["AAPL", "CRWD", "COST", "GOOG"] #ティッカーを指定
x=2 #ヒートマップのxサイズを指定
y=2 #ヒートマップのyサイズを指定
df=yf.download(tickers, period="2d")["Close"] #2日分のデータを取得
df=df.pct_change() #日次変化率を取得
pdata=(df.iloc[-1].to_numpy()*100).round(2) #%に変換
data=pdata.reshape(x, y) #dataをリシェイプ
ラベルを作成する
labels=["{}\n{}".format(a, b) for a, b in zip(tickers, pdata)] #リスト内包表記でラベルを作成
labels=np.array(labels).reshape(x, y) #labelsをリシェイプ
ヒートマップを作成する
annotを指定してラベルを表示します。非数値ラベルを使うときは、fmt=””を追加します。
sns.set(font_scale=1) #フォントサイズを指定
plt.figure(figsize=(9, 9)) #ヒートマップサイズを指定
#cmapでカラーを指定し、centerで中央値を指定
sns.heatmap(data, annot=labels, fmt="", cmap="RdYlGn", center=0, square=True, xticklabels=False, yticklabels=False)
コメント