三菱UFJ国際投信eMAXISのデータをPythonで取得して期初を100としたグラフを作る
三菱UFJ国際投信eMAXISのデータをPythonで取得してコードを期初を100としたグラフを作る。
まずライブラリをインポート(使わないのもある)。
#invite my friends to the party...
import numpy as np
import seaborn as sns
sns.set()
import matplotlib.pyplot as plt
import pandas as pd
from datetime import datetime
三菱UFJ国際投信ウェブサイトからcsvを取得して保存。ウェブに何度もアクセスるのはマナー違反なので、取得したファイルを自分のPCに保存。
#三菱UFJ国際投信ウェブサイトからcsvを取得して保存
import urllib.request
url_list = {'Japan Equity':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=252634',
'Emerging Equity':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=252878',
'Developed Equity':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=252653',
'Japabn Bond':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=252648',
'Emerging Bond':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=260448',
'Developed Bond':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=252667',
'Developed Reit':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=253674',
'Japan Reit':'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=253669',
'8 assets': 'https://emaxis.jp/content/csv/fundCsv.php?fund_cd=252760'}
for key in url_list:
url = url_list[key]
title = "{0}.csv".format(key)
urllib.request.urlretrieve(url,title)
全ファンドのトータル・リターン指数をひとつにまとめたファイルを作成。
(三菱UFJ国際投信のCSVファイルは、分配再投資ベース基準価額がはじめからあるので楽)
#全ファンドのトータル・リターン指数をひとつにまとめたファイルを作成
assets = ['Japan Equity','Emerging Equity','Developed Equity','Japabn Bond','Emerging Bond'
,'Developed Bond','Developed Reit','Japan Reit', '8 assets']
df_all = pd.DataFrame()
for asset in assets:
asset_file = "{0}.csv".format(asset)
df = pd.read_csv(asset_file, skiprows = [0,1], names = ['date','nav_void', 'nav','div', 'aum'],
parse_dates = True, index_col = 0)
df['tr'] = df['nav'] / df['nav'].shift(1)
df[asset] = df['tr'].cumprod()
df = df.loc[:,[asset, 'div']]
df_all[asset] = df[asset]
df_all.to_csv('df_all.csv')
トータル・リターン指数をひとつにまとめたファイルを作っておけば、あとは色々使える。
例えば、期初を100とした累積リターン推移グラフは以下の通り。
df = pd.read_csv('df_all.csv')
df = df_all['2019-12-29':]
df_cum = (df / df.iloc[0,:])*100
df_cum.plot(figsize = (6,6),title = "Plot Chart (Start = 100)")
plt.savefig('emaxis_chart',bbox_inches="tight")
2020年3月以降、日本債券と先進国債券以外は大幅下落。下落した資産に投資するなら、eMAXIS Slim バランス(8資産均等型)が手っ取り早い(※投資は自己責任)。
Author And Source
この問題について(三菱UFJ国際投信eMAXISのデータをPythonで取得して期初を100としたグラフを作る), 我々は、より多くの情報をここで見つけました https://qiita.com/hiroshi_ichihara/items/480e41e90637821367dd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .