見出し画像

米国株のパフォーマンス・成績をPythonで早く、綺麗に調べる [Python 米国株 pyfolio コードあり]

米国株のパフォーマンス・成績をPythonで簡単に調べることのできるモジュール pyfolio  をご紹介したいと思います

pyfolio というものですが、まずは、どのようなことができるのか先に画像を見てもらったほうが早いと思います。

高値更新からのドローダウンを出してみてたり、月ごと、年毎の成績を出したり、期間中のブレを箱ひげ図で表示できたりできます。グラフィカルにも綺麗ですし、分析している気持になりますね。

それ以外にも基準となる指数や銘柄との比較もできます。今回の例では日経225と(じっちゃま推薦の)OKTAという銘柄の比較を行いました。

それではGoogle ColaboratoryのPythonコードをご紹介したいと思います。
最初は以前の記事で扱ったのと同じような記述になります。

20行で資産運用モデル作成 [Python 米国株 個別銘柄 ETF]
という記事で紹介していますので、初めての方は読んでみてください。

!pip install fix_yahoo_finance

import datetime
import fix_yahoo_finance as yf
import matplotlib.pyplot as plt
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')

start = datetime.date(2018,1,1)
end = datetime.date.today()

codelist = ["^N225","OKTA","TWLO","TTD","ZS","MDB",]
data2 = yf.download(codelist, start=start, end=end)["Adj Close"]

display(data2.head(2).append(data2.tail(2)))
df_all=100*data2.pct_change()
display(df_all[codelist].head(2).append(df_all[codelist].tail(2)))

df_all[codelist].cumsum().plot(figsize=(8,6),fontsize=18)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)  

plt.grid(True)
plt.show()

結果は以下のようになると思います。

さすが じっちゃま銘柄ですね、、日経225のパフォーマンスがつぶれて見えないくらいです。ここまでだと以前の記事と同じなので、ここからが前回になかった部分です。

!pip install pyfolio

import pyfolio
pdPF_out=df_all[["OKTA","^N225"]]
pyfolio.create_returns_tear_sheet(0.01*pdPF_out.iloc[:,0], benchmark_rets=0.01*pdPF_out.iloc[:,1])

行数としては短いですが、すごいことができます。最初がレポーティングになります。年率のパーセントでの成績、今回のベンチマークとした日経225との相関、ドローダウンの期間、幅などの情報が出てきます。

それ以外にも累積での成績やドローダウンの期間のプロットなど様々な情報が出せます。

簡単に様々情報が得られ、リスク分析の可視化が行えるので、おすすめです。Google Colaboratoryの環境のある方は試してみてはいかがしょうか。


Pythonで資産運用モデルを作成する記事をまとめました。
Pythonを用いて、株価取得、チャート表示、株価分析、株価予測、株価の機械学習、ポートフォリオの構築、ポートフォリオの最適化、スクレイピングなどを行う記事を集めました。
もし興味を持っていただけるなら読んでみてください。


もしうまくいって、もっと知りたいとか、ほかの人にも伝えたい!と思えたら、このnoteのフォローと、ツイッターで@AnalyseTfフォローしてくれるととてもうれしいです!


最後に pyfolio については以下のサイトを参考にさせていただきました。
ありがとうございました。


サポートしていただき大変ありがとうございます。 励みになります。