本家VTの代わりに楽天VT、雪だるま、オルカンを比較した覚書

まえがき

大人気のオルカン。私も本家VTからオルカンへ乗り換える旨味があるのか? そんな疑問を持ち、過去の基準価額から感触を探ってみました。

結論としては、敢えてオルカンに乗り換える旨味はなく、私は本家VTのままでいいかなと考えています。

昨年8月、楽天VTと本家VTの投資効率を比較してみました。その結果、私の積立タイミング&積立額であれば、楽天VTの方がやや劣るものの、ほぼ同等でした。また、今回比較した感触では、その楽天VTとオルカンとの投資効率にも大差はなさそうです。したがって、オルカンの投資効率が本家VTに対して有意に大きいとは言えない。現時点では敢えて乗り換える旨味もない、というのが私の見解です。

そんな記事です。時々気が向いたら最新の基準価額を反映したグラフに更新します。

FTSE-GACIに連動する全世界株式の投資商品

私は本家VT(Vanguard Total World Stock Index Fund ETF)の積立投資を続けています。もう積立開始から約三年です。私の主な金融資産は現金と本家VTとの二つのみで構成されています。

ご存じの通り、本家VTは全世界株式に投資する米国ETFです。連動指数はFTSE-GACI(グローバル・オール・キャップ・インデックス)。これは日本含む計48か国の8,000以上(※A)の銘柄に対する時価総額加重平均型の株価指数です。

過去のリターンが最も大きい資産クラスは株式。その株式の市場ポートフォリオに最も近い指数の一つがFTSE-GACIです。市場ポートフォリオに投資する利点の詳細な説明は割愛しますが、株式市場ポートフォリオに投資したいならば、本家VTは最有力な投資商品です。

ただし、株式の市場ポートフォリオに準ずる投資商品は本家VTだけではありません。現状ではFTSE-GACIに連動する代表的な投資信託が二つ(※B)あります。

  • 楽天・全世界株式インデックス・ファンド(楽天VT)
  • SBI・全世界株式インデックス・ファンド(雪だるま)

この二つの投資信託に対しては、2020年8月に本家VTとの投資効率を比較したことがあります。その時点の結果では、あくまで私の積立タイミング、積立額、所得状況(外国税額控除の還付金に影響)の場合という条件下ですが、楽天VTと雪だるまよりも本家VTの方が投資効率がやや高かったです。このため私が楽天VTや雪だるまへの乗り換える旨味はありませんでした。この点については最新状況の下で再度比較してみたいです。

そもそも、楽天VTや雪だるまはマザーファンドを介して米国ETFを買付ける構造となります。特に楽天VTは単純に本家VTを積立てるだけです。それならば自分で直接本家VTを積立てた方がシンプルです。投資信託の内部構造を理解せずに済むからです。私には特に投資信託の持つベビーファンド、マザーファンドの構造が内情を把握しにくいブラックボックスのように感じます。不透明な要因を増やす選択肢は、できるだけ避けるべきです。人により見解が異なるとは思いますが、「よくわからないものには投資しない」の言葉の通り、不透明な点が少ないほど望ましい投資商品だと私は考えています。

せめて、楽天VTや雪だるまが本家VTに対してリターンが有意に大きいという利点があれば話が違うのですが、現状では大差ありません。本来ならば、楽天VTや雪だるまに投資することで、本家VTで生じる分配金課税を繰り延べた恩恵でリターンが高まることを期待したところです。しかし、直近の実績を見ると、分配金課税繰延の恩恵を相殺するほどコストが高い状態です。特に積立投資額がある程度大きく、外国税額控除で半額程度の還付金が期待できる場合は、まだ本家VTの方が投資効率が高いです。この点は非常に残念です。

※A:構成銘柄は2022年4月末時点で9,500銘柄に達しているようです。

※B:2022年1月に『SBI・V・全世界株式インデックス・ファンド』が販売され始めて、三つになりました。

【参考記事】『さといもちゃんの本家VT一本積立投資の方針

【参考記事】『本家VTと楽天VTと雪だるま(全世界株式)との比較

最近気になるオルカン

そんな中、以下の投資信託が気になり始めています。いわゆるオルカンです。

  • eMAXIS Slim 全世界株式(オルカン)

オルカンの連動指数はFTSE-GACIではなくMSCI-ACWI(オール・カントリー・ワールド・インデックス)です。MSCI-ACWIは日本含む計49か国の約3,000の銘柄に対する時価総額加重平均型の株価指数です。世界株式の時価総額のカバー率はMSCI-ACWIが85%程度、FTSE-GACIが98%程度と言われています。ですので、MSCI-ACWIよりもFTSE-GACIの方がより市場ポートフォリオに近いと考えています。

また、マザーファンドが三つ存在し、いずれも米国ETFを単純に買付ける構造ではなく、マザーファンド自身が個別株式を買付けているようです。このため多重課税の観点では、楽天VTや雪だるまより有利になります。ただし、マザーファンド内で、敢えて三つ指数(MSCI-KOKUSAI、MSCI-EM、MSCI-JAPAN)に連動するグループに分けている意図が把握できていません。連動を目指すMSCI-ACWIからの乖離が大きくならないか気になります。

ただ、少し気になる点があるとは言え、とても興味がわいています。

私は本家VTとオルカンとを直接比較したかったです。しかし、オルカンの設定日は2018年10月31日。私の本家VT積立開始日よりも後なのです。このため、私が本家VTではなくオルカンに積立投資していたらどうなったか直接比較できません。そこで、仕方がないので、本家VTではなく楽天VTや雪だるまとオルカンとを比較して、間接的に感触を探ってみました。

楽天VTと雪だるまとオルカン

比較する投資信託は以下の三つです。幸いなことに、三商品ともノーロードで無配の投資信託です。ですので、同一のタイミング、積立額で積み立てた場合の、評価額の比較をすればリターンの優劣を判断可能です。

  • 楽天・全世界株式インデックス・ファンド(楽天VT)
  • SBI・全世界株式インデックス・ファンド(雪だるま)
  • eMAXIS Slim 全世界株式(オルカン)

本来ならインデクスファンドの品質は、連動指数との乖離の小ささで判断すべきです。トラッキングエラー、経費率、課税、ファンド内再投資の影響などを考慮した上で、どれだけ連動指数に忠実かが重要だからです。

しかし、今回は比較する三つの投資信託の連動指数が同一ではありません。このため、単純にリターンを比較します。

買付のタイミングは毎営業日とし、積立額は10,000円固定という最もシンプルなケースで比較してみます。このケースであれば、ノーロードで無配の投資信託同士ですので、リターンが大きいほど投資効率も高いと言えます。積立開始日は最後発であるオルカンの設定日2018年10月31日とします。なお、計算途中の保有数量や金額の端数の処理(切上、切下、四捨五入など)はしていませんのでご注意下さい。

最後に三つの投資信託の主な違いを表にまとめておきます。

楽天VT、雪だるま、オルカンの主な違い(2022年春時点)
投資信託名楽天VT雪だるまオルカン
連動指数FTSE-GACIFTSE-GACIMSCI-ACWI
投資対象VT
VTI(※1)
VXUS(※1)
三つの米国ETF
1. VTI(※2) 約55%
(CRSP US Total Market Index連動)
2. SPDW 約35%
(S&P Developed Ex-U.S. BMI Index連動)
3. SPEM 約10%
(S&P Emerging Markets BMI連動)
三つの国内マザーファンド
1. MSCI-KOKUSAI連動
2. MSCI-EM連動
3. MSCI-JAPAN連動
※ただし詳細不明
売買手数料無料無料無料
分配金無配無配無配
信託報酬0.212%→後0.192%程度
注)実質コストは更に大
0.1102%程度
注)実質コストは更に大
0.1144%→後0.05775%以内
注)実質コストは更に大

※1 2022年春頃、楽天VTの構成ETFにVTIとVXUSも含めると発表されたようです。

※2 2021年の6~9月頃、雪だるまの米国株連動ETFがSCHBからVTIに変更されたようです。

余談ですが、本家VT、楽天VT、雪だるまの比較以来、気になっていることがあります。それは、同じFTSE-GACIに連動するにもかかわらず、低コストな雪だるまの投資効率で楽天VTに劣ることです。雪だるまの実質コストが想定より大きい可能性もあります。ただ、雪だるまがの三つの米国ETFに投資するが故に、連動指数FTSE-GACIとの乖離が大きくなり、直近数年において高リターン銘柄の構成比が相対的に低い状態だったのではないかと考えています。ただし、これは未検証です。

VTIがCRSP US Total Market Index、SPDWがS&P Developed Ex-U.S. BMI Index、SPEMがS&P Emerging Markets BMIという指数に連動するそうです。ですが、各指数の構成銘柄は構成比を私は理解しきれていません。ただ、普通に考えて、異なる三つの指数に連動するETFを組み合わせて、FTSE-GACIに連動させることが可能なのか、非常に疑問です…。

また、楽天VTの構成銘柄がVTだけでなくVTIとVXUSも加わるという点も気になります。VT、VTI、VXUSの各構成銘柄を確認した限り、VTIとVXUSの組み合わせでVTと同一の構成銘柄を作ることは原理的に不可能だからです。

評価額の推移

まず各投資信託の評価額の推移のグラフです。参考として累計積立額のグラフ(赤)も併せて記載しました。このグラフの縦軸スケールでは、各投資信託の評価額の三本線が重なり、差があるか読み取れません。

評価損益額の推移

次に評価損益額の推移の推移のグラフです。評価額から累計積立額を減じた損益額のグラフです。これでも、各投資信託の評価額の三本線が重なり、差があるか読み取りずらいです。

評価損益額/累計積立額の推移

更に以下が評価損益額と累計積立額との比の推移のグラフです。元々共有したかったのはこのグラフです。評価損益額と累計積立額との比ならば、積立額によらず損益率を把握可能だからです。しかし、このグラフを見ても、各投資信託に大差があるとは認められません。

当初はここでブログを終わりにするつもりでした。ここまでで、『楽天VT、雪だるま、オルカンとには投資効率に大差はない。したがって、本家VTとオルカンとにも投資効率に大差はなく、特に乗り換える理由はない』と結論付けて十分と考えてたのです。ですが、これだけではつまらないので最後に三つの投資信託の差分を確認してみました。

評価損益額/累計積立額の推移 ※楽天VTとの差分

最後です。各投資信託の評価損益額/累計積立額について、楽天VTを基準として選び、他の投資信託と差分をとったものです。ですので、当然ですが楽天VTの値は常に0となり、横軸と重なっています。

人気ではオルカンが一歩抜きに出ている印象ですが、楽天VTと雪だるまに比べて明確に投資効率が高いとは言えません。期間によっては楽天VTの方が優れているケースもあり得ます。

このグラフから強いて言えるのは、以下の2点です。

  • オルカンの投資効率が最も高いケースが多く、次に楽天VTの投資効率が高いケースが多い。時期によっても逆転することがある。とは言え、絶対値は微差である。
  • ほぼ全期間にわたり、雪だるまよりも楽天VTの方が投資効率が高い。とは言え、絶対値は微差である。

参考ですが、毎日定額積立したケースに対して、日毎のリターン順位を集計した表を掲載します(最終更新:2018年10月31日~2023年12月29日)

表について強いてコメントするなら、最良のリターンを得たいならオルカンを、と言ったところでしょうか。過去の実績から未来を予測することは非常に危険ですので、あくまでもご参考です。

リターン順位の獲得日数
獲得順位オルカン楽天VT雪だるま
1位1046
(83.0%)
167
(13.3%)
49
(3.9%)
2位52
(4.1%)
745
(59.1%)
462
(36.7%)
3位162
(12.9%)
348
(27.6%)
749
(59.4%)

ところで、全世界株式インデックス(FTSE-GACIやMSCI-ACWIなど)に連動する投資信託やETFに対して将来のリターンをシミュレーションして、優劣を比較した記事や動画をよく見かけます。おそらく信託報酬や各種手数料、ファンド内の多重課税の差異、分配金有無と課税タイミングの影響、米国ETFについては外国税額控除の想定額など、調べ得る情報を考慮してシミュレーションしているものと信じます。しかし、将来のリターンの予測はあくまで参考程度にとどめた方が賢明です。

例えば、シミュレーションの結果から、定期・定額で積立投資をするならば、楽天VTよりも雪だるまの方がリターンが高くなると結論付ける人がいます。しかし、その結論は、少なくとも過去数年間の実績と整合しません。過去の実績さえ説明できないモデルで、いくら未来のシミュレーションしても無意味です。過去の結果を再現できていない時点、既に考慮すべきパラメータが明らかに不足しているのですから。

そして、しつこいですが、過去の基準価格の時系列データをいくら解析しても未来のリターンを予言することはできません。過去のリターンが高かったことが事実だとしても、未来のリターンも高くなる根拠には決して出来ません。FTSE-GACIとMSCI-ACWIの乖離が増えることもあるでしょう。更に投資信託内で生じるトラッキングや、実質コストの変動に至っては予測すらできません。

少なくとも私はそんな認識を持っています。

現時点で共通認識としてよいのは、『本家VTや楽天VT、雪だるま、オルカンのリターンに大差はない』という点までです(よく国内ETFの2559も比較にあがりますが、私はよくわかりません)。そのような状況ですので、リターンが最も高い投資商品を予想し投資するよりも、各商品の他の特徴で好ましいものを選ぶくらいでよいのではないかと考えています。例えば、管理に手間がかからないこと、分配金が支払われること、運用元が信頼できること、名前がかっこいい、おもしろそう、などという理由でも全く構わないと思います。ちなみに私は、全世界株式の市場ポートフォリオに近いこと(FTSE-GACI系)と、投資商品の内部構造のわかりやすさ(国内証券会社を介さない)を重視しています。そうなるとやはり本家VTに惹かれます。ただし、ドル転含む買付と外国税額控除のための確定申告は少し手間です。。。

参考:計算に用いたコード

計算に用いたPythonのコードも載せておきます。間違いがあればご指摘下さい。殴り書き状態ですが、コードの改善はする気がありません。べたべたの方がわかりやすいし…。

import pandas as pd
import urllib.request
import datetime
import io
import matplotlib.pyplot as plt
from functools import reduce  # reduce関数利用
from matplotlib import rcParams  # グラフのフォント設定
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = ['Yu Gothic']

PNG_DPI = 480  # 出力グラフ画像ファイルDPI

class Fund:
    
    def __init__(self, symbol, name, url, skiprow):
        self.symbol = symbol
        self.name = name
        self.url = url
        self.skiprow = skiprow

    def get_date(self):
        flag = True
        while flag:
            try:
                with urllib.request.urlopen(self.url) as response:
                    html = response.read().decode('ShiftJIS')
                    flag = False
            except urllib.error.URLError as e:
                print('urllib.error.URLError: {}'.format(self.url))
                print(e)
            except Exception as e:
                print('Exception: {}'.format(self.url))
                print(e)

        data = pd.read_csv(io.StringIO(html), skiprows=self.skiprow)
        data.columns = ['年月日' if x in ['基準日', '日付'] else x for x in data ]
        data.columns = [self.symbol + '-基準価額(円)' if x in ['基準価額(円)', '基準価額'] else x for x in data ]
        data['年月日'] = pd.to_datetime(data['年月日'], format='%Y%m%d' if data['年月日'].dtype == 'int64' else '%Y/%m/%d')
        return data[['年月日', self.symbol+'-基準価額(円)']]


rvt = Fund('楽', '楽天VT', 'https://www.rakuten-toushin.co.jp/assets/csv/chart_100032.csv', 0)
sbi = Fund('雪', '雪だるま', 'https://apl.wealthadvisor.jp/webasp/sbi_am/pc/download.aspx?type=1&fnc=2017120601', 0)
ac = Fund('オ', 'オルカン', 'https://www.am.mufg.jp/fund_file/setteirai/253425.csv?_fsi=jS2ImRLW&_gl=1*1h637j5*_ga*ODU3OTQ3MTgxLjE2OTc5NzcyNDk.*_ga_3ZNV996Y9H*MTY5Nzk3NzI0OC4xLjEuMTY5Nzk3NzI3Mi4zNi4wLjA.', 1)

funds = [rvt, sbi, ac]
fund_data = [ x.get_date() for x in funds ]  # 各投資信託の基準価格の時系列データを取得
data = reduce(lambda a, b: pd.merge(a, b, on='年月日', how='right'), fund_data)  # データをマージ

data['積立額(円)'] = 10000.0  # 積立額を設定
data['累計積立額(円)'] = data['積立額(円)'].cumsum()  # 累計積立額を計算
for x in funds:  # 各投資信託の計算
    data[x.symbol+'-積立数量(口)'] = data['積立額(円)'] / data[x.symbol+'-基準価額(円)']  # 積立数量
    data[x.symbol+'-累計積立数量(口)'] = data[x.symbol+'-積立数量(口)'].cumsum()  # 累計買付積立数量
    data[x.symbol+'-評価額(円)'] = data[x.symbol+'-基準価額(円)'] * data[x.symbol+'-累計積立数量(口)']  # 評価額
    data[x.symbol+'-評価損益額(円)'] = data[x.symbol+'-評価額(円)'] - data['累計積立額(円)']  # 評価損益額
    data[x.symbol+'-評価損益率'] = data[x.symbol+'-評価損益額(円)']/data['累計積立額(円)']  # 評価損益率

data[[x.symbol+'-順位' for x in funds]] = data[[x.symbol+'-評価損益率' for x in funds]].rank(axis=1, ascending=False, method='min')
rank_table = data[[x.symbol+'-順位' for x in funds]].stack().reset_index()
rank_table.columns = ['No', '投資信託', '順位']
rank_table = rank_table.astype({'順位': int}) 
rank_table = rank_table.replace({'楽-順位': '楽天VT', '雪-順位': '雪だるま', 'オ-順位': 'オルカン'})
rank = pd.pivot_table(rank_table, index='順位', columns='投資信託', values='No', aggfunc='count')
rank_r = rank / rank_table['No'].count() * len(funds)

print('--- 毎日定額積立:リターン順位の獲得日数 ---')
print(rank)

print('\n--- 毎日定額積立:リターン順位の獲得日数比 ---')
pd.options.display.float_format = '{:10.1%}'.format
print(rank_r)
pd.options.display.float_format = None

data.to_excel('投資信託比較データ.xlsx', index=False)  # データをExcelに出力


fig = plt.figure(figsize=[4.8*16/9, 4.8])
ax = fig.add_subplot()
for x in funds:
    ax.plot(data['年月日'], data[x.symbol + '-評価額(円)']/10000, label=x.name)
ax.plot(data['年月日'], data['累計積立額(円)']/10000, label='累計積立額(参考)')
ax.grid()
ax.legend() 
ax.set_title('評価額の比較')
ax.set_xlabel('年月日')
ax.set_ylabel('評価額(万円)')   
fig.savefig('評価額の比較.png', dpi=PNG_DPI, facecolor="white")

fig = plt.figure(figsize=[4.8*16/9, 4.8])
ax = fig.add_subplot()
for x in funds:
    ax.plot(data['年月日'], data[x.symbol + '-評価損益額(円)']/10000, label=x.name)
ax.grid()
ax.legend() 
ax.set_title('評価損益額の比較')
ax.set_xlabel('年月日')
ax.set_ylabel('評価損益額(万円)')
fig.savefig('評価損益額の比較.png', dpi=PNG_DPI, facecolor="white")

fig = plt.figure(figsize=[4.8*16/9, 4.8])
ax = fig.add_subplot()
for x in funds:
    ax.plot(data['年月日'], data[x.symbol + '-評価損益率']*100, label=x.name)
ax.grid()
ax.legend() 
ax.set_title('評価損益額/累計積立額の比較')
ax.set_xlabel('年月日')
ax.set_ylabel('評価損益額/累計積立額(%)')
fig.savefig('評価損益額_累計積立額の比較.png', dpi=PNG_DPI, facecolor="white")

fig = plt.figure(figsize=[4.8*16/9, 4.8])
ax = fig.add_subplot()
for x in funds:
    ax.plot(data['年月日'], ( data[x.symbol + '-評価損益率'] - data['楽-評価損益率'] ) * 100, label=x.name)
ax.grid()
ax.legend() 
ax.set_title('評価損益額/累計積立額の比較 ※楽天VTとの差分')
ax.set_xlabel('年月日')
ax.set_ylabel('評価損益額/累計積立額(%)')
fig.savefig('評価損益額_累計積立額の比較_楽天VTとの差分.png', dpi=PNG_DPI, facecolor="white")

コメント

このブログの人気の投稿

さといもちゃんの本家VT一本積立投資の方針

本家VTと楽天VTと雪だるま(全世界株式)との比較