![20190322投信2](https://assets.st-note.com/production/uploads/images/10619194/rectangle_large_type_2_0fc704de32e0d0099f231e0a624e18f8.png?width=1200)
資産管理 投資信託をPythonでパフォーマンスチェック [Python 投資信託 資産管理](Pythonコードあり)
Pythonで金融資産管理・解析を行ったり、ポートフォリオの記録、パフォーマンスチェック、資産運用モデル作成を目指します。
この記事では投資信託の
総和、月次での集計、ボラティリティ、リターン、シャープレシオでの評価
を扱います。また、記事の株にPythonコードもありますので、初心者の方でもそれを利用して、簡単・無料で、解析ができると思います。
株式や投資信託の投資から得られた利益を非課税にできるNISAという制度があります。投資信託では小額から購入できる手軽さもありますし、「投信積立」を利用すれば、毎月一定額を自動購入することができるので、都度購入する手間や購入タイミングに悩むことがありません。仕事で忙しいので銘柄選択などに時間をかけたくないけれども、資産運用を行いたいという方には最良の方法なのではないでしょうか。
では、どの投資信託を買えばいいのでしょうか。
前提として投資信託は大きく2種類あります。
インデックスファンド:
日経平均やダウ、ナスダックなどの指数に連動した値動きをするもの。コストが低くパフォーマンスは安定している
アクティブファンド:
独自の運用方針で株や債券などを運用し、インデックスファンド以上の運用を目指す。一般的にインデックスファンドよりコストが高い
一般的にインデックスファンドよりコストが高いどちらを選ぶかは好みの問題ですが、良い成績を出すアクティブファンドを事前に選ぶというのは難しいと一般的には言われています。
では、数ある投資信託の中からどのような基準で選べばいいのでしょうか。以下の三つが大事であるといわれています。
コストの低さ
毎月分配型ファンド以外(分配金は再投資)
過去の実績をリサーチ
pythonで投資信託のデータを読み込んで、指数と比較したり、月次の成績を調べてみたいと思います。
今回はインデックスファンドの代表として、
eMAXIS Slim 先進国株式インデックス
eMAXIS Slim 国内株式TOPIX
アクティブファンドの代表として、
ひふみプラス
評価対象としての指数は
ダウ(先進国株式の代表)
日経225(日本株式の代表)
を取り上げたいと思います。
投資信託のデータは「投信総合検索ライブラリー」から入手してもよいですし、
モーニングスターのような投資情報サービスサイトから入手してもよいと思います。
データをpythonに読み込ませた後、パーセントでの変化率に変えたものをプロットすると以下のようになります。
2018年年初からのデータですが、ダウが強いのが見て取れます。
そののち、総和、月次での集計、ボラティリティ、リターン、シャープレシオでの評価を行ったり、相関を調べたり、pythonの集計ライブラリを使うといろいろなことを調べることができます。
解析部分のコードは以下のようになります。
# 総計チェック
display(out.sum(axis=0))
# 月次チェック
display(out.groupby([lambda x: x.year, lambda x: x.month]).sum().tail(6))
out_analyse=pd.DataFrame(index=out.columns)
out_analyse["return"]=250*out.mean()
out_analyse["volatility"]=16*out.std()
out_analyse["sharpR"]=out_analyse["return"]/out_analyse["volatility"]
# ボラティリティ、リターン、シャープレシオ チェック
plt.style.use('seaborn-dark')
matplotlib.rcParams.update({'font.size': 18, 'font.family': 'IPAexGothic'})
ax= out_analyse.plot.scatter(x='volatility', y='return', c='sharpR',
cmap='RdYlGn', edgecolors='black', figsize=(8, 4), grid=True,sharex=False,s=100)
for i,(x,y) in enumerate(zip(out_analyse["volatility"],out_analyse["return"])):
ax.annotate(str(out_analyse.index[i]),(x,y))
plt.show()
# 相関チェック
sns.heatmap(out.corr(), annot=False, fmt='g',cmap='Blues')
plt.tick_params(labelbottom="off",bottom="off")
もし役に立った、もっと知りたい、ほかの人にも伝えたい!と思えたら、このnoteのフォローと、ツイッターで@AnalyseTfフォローしてくれるととてもうれしいです!
###追記分###
Pythonで資産運用モデルを作成する記事をまとめました。
Pythonを用いて、株価取得、チャート表示、株価分析、株価予測、株価の機械学習、ポートフォリオの構築、ポートフォリオの最適化、スクレイピングなどを行う記事を集めました。
もし興味を持っていただけるなら読んでみてください。
投資信託のデータを配当込のものにした記事も書いています。
米国株の個別銘柄をPythonで資産運用モデル作成する記事も書いています。
Google Colaboratoryで使えるサンプルのコードもあります。
個別銘柄によりポートフォリオ改善の記事を書いています。
シンプルなモデルケースでのポートフォリオの配分比率について記事を書いています。S&P500に連動するETF(SPY)とGOLD(金)に連動するETF(GLD)の二つを対象場合の関係比率を変えることで、どのようにパフォーマンスが変わるか考察しています。
各資産の相関を調べるウェブアプリを作りました。期間、銘柄を選択して、マウスだけで、簡単に銘柄間の関係を調べることができます
サポートしていただき大変ありがとうございます。 励みになります。