投資信託の乗り換えとコスト(第3回)

投資・ファイナンス

前回、前々回とよりコストの低い投資信託が見つかった場合に乗り換えるべきかそれともそのままでいいのかという問題を考えてきました。
この2回では非課税口座で運用する場合と、今回は現実的なケースとしてはやや稀だと思われますが、非課税口座から家庭講座に移して運用する場合を考えてみます。
基本的な前提は前回までと変わっていないので、前回までの記事を確認していない場合は是非そちらも合わせて確認してください。

基本的な前提条件と具体例

前提条件はこれまでのパターンと変わりません。

  • : 初期投資額
  • : 追加投資額
  • : 年利率
  • : コスト1
  • : コスト2
  • : 投資期間(年)
  • : 税率
  1. 乗り換えを行わない場合の金額 ():
    非課税口座で引き続き運用する場合を考えます。

  1. 乗り換えを行う場合の金額 ():
    課税口座で運用する場合になります。
    税金が絡むので数式が複雑になりますが、まず、x分に対して税金がかからず、最後の決済時のみ利益に対して税金がかかります。

計算結果として、乗り換えを行わない場合の金額 () と、行う場合の金額 () を比較すると、Pythonでは以下のように書けます。

s = 100 #投資元本
x = 10 #現在の運用益
r = 0.03 #今後の期待収益率
c1 = 0.1/100 #コスト1 0.1%
c2 = 0.05/100 #コスト2 0.05%
t = 20 #運用期間
tax = 0.2 #課税率
#非課税口座から課税口座の場合
#乗り換えない場合の金額

s_t1 = (s+x)*(1+r-c1)**t
s_t2 = (s+x)*(1+r-c2)**t - tax*((s+x)*(1+r-c2)**t - (s+x))
print(s_t1)
print(s_t2)
#例えば、この例だと乗り換えない方がお得になる

投資元本 に対して、現在の運用益 を考慮し、今後の期待収益率 に基づいて運用を行うという設定を考えます。コスト1は 0.1% ()、コスト2は 0.05% () です。運用期間は 20 年 で、運用益に対する課税率は 20% () です。
この条件において実行すると、

  • 乗り換えを行わない場合の金額:

  • 乗り換えを行う場合の金額:

したがって、乗り換えを行わない方が圧倒的に有利であることが分かります。

運用期間を変化させた場合

まずはこれまでと同様に、運用期間が変わると乗り換えに対しての意思決定が変わるか見ていきます。

import numpy as np
import matplotlib.pyplot as plt

# パラメータ
s = 100  # 投資元本
x = 10  # 現在の運用益
r = 0.03  # 今後の期待収益率
c1 = 0.1 / 100  # コスト1 0.1%
c2 = 0.05 / 100  # コスト2 0.05%
tax = 0.2  # 課税率

# 運用期間の範囲
t_values = np.linspace(0, 60, 100)

# s_t1とs_t2を計算
s_t_diff = []
for t in t_values:
    s_t1 = (s+x)*(1+r-c1)**t
    s_t2 = (s+(1-tax)*x)*(1+r-c2)**t - tax*((s+(1-tax)*x)*(1+r-c2)**t - (s+(1-tax)*x))
    s_t_diff.append(s_t1 - s_t2)

# グラフをプロット
plt.figure(figsize=(10, 6))
plt.plot(t_values, s_t_diff)
plt.xlabel('t')
plt.ylabel('diff')
plt.grid(True)
plt.show()

g1
グラフは先ほどの設定で 運用期間 t を変化させた場合の乗り換えを行わなかった場合の資産から乗り換えを行った場合の資産の額を引いたグラフを示しています。
このグラフからわかるように、最初から乗り換えを行わない方が、有利であることがわかります。
今回の設定では、コスト差がそれほど大きくないので、乗り換えずにそのまま非課税メリットを享受する方法がリターンは大きくなります。

収益率を変化させた場合

先ほどの条件では必ず乗り換えを行はない方が有利になるので、ここから先の検証は少しコスト差を大きくして考えていきたいと思います。
例えば、c1=0.5%として、今後の想定される収益率を変化させた場合に乗り換えを行うべきかどうかを判断する運用年数はどのように変化するのでしょうか?
前回と同様の方法でグラフを作成します。

import numpy as np
import matplotlib.pyplot as plt

# パラメータ
s = 100  # 投資元本
x = 10  # 現在の運用益
r_values = np.linspace(0.01, 0.1, 100)  # 期待収益率の範囲
c1 = 0.5 / 100  # コスト1 0.5%
c2 = 0.05 / 100  # コスト2 0.05%
tax = 0.2  # 課税率

# s_t1 - s_t2 = 0 となる t を見つける
t_zeros = []

for r in r_values:
    t_values = np.linspace(0, 60, 1000)  # t の細かい範囲
    s_t_diff = []
    for t in t_values:
        s_t1 = (s+x)*(1+r-c1)**t
        s_t2 = (s+(1-tax)*x)*(1+r-c2)**t - tax*((s+(1-tax)*x)*(1+r-c2)**t - (s+(1-tax)*x))
        s_t_diff.append(s_t1 - s_t2)
    # 差が0になる t を探す
    t_zero = None
    for i in range(len(t_values) - 1):
        if s_t_diff[i] * s_t_diff[i + 1] < 0:  # 符号が変わるところ
            t_zero = (t_values[i] + t_values[i + 1]) / 2
            break
    t_zeros.append(t_zero)

# グラフをプロット
plt.figure(figsize=(10, 6))
plt.plot(r_values, t_zeros, marker='o')
plt.xlabel('r')
plt.ylabel('t')
plt.grid(True)
plt.show()

g2

これまでの2回とは傾向の異なるグラフが出てきました。収益率が2%から4%の期間では、大きく基準となる運用年数が変化しているのに対して、その前後では変化が緩やかになっています。多くの投資信託の収益率の期待値は2から4%ぐらいの間で考えることができると思うので、今回の設定では、どのくらいの収益率をおくかでかなり敏感に結果が変わってくることがわかります。

投資信託のコストを変化させた場合

それでは、もう少しコスト変化に対する違いを考えてみましょう。
g3
コストが0.5%より小さい領域に対しては、かなり長期の運用年数がない限りは、乗り換えない方が良いことが分かります。一方でコストが0.5%よりも大きい場合には、比較的短期間の運用の想定でも乗り換えた方が良いことが分かります。このグラフからわかるように、かなり想定するコストの大きさに敏感であることが分かります。

現在の運用益を変化させた場合

それでは最後に、現在発生している運用益の大きさを変化させてみましょう。
g4
X が65を超えたあたりで運用年数が60年を上回っています。つまり、もともと65%を超えた収益が出ている場合は、今回の設定では概ね乗り換えない方が良いと考えられそうです。これまでの2回とは、コストに対する条件が途中で変わっている(c1=0.5%)ことに注意してください

まとめ

今回は、非課税口座での運用から課税口座での運用に乗り換えるパターンについて考えてみました。
このパターンの場合はコスト差がそれなりに大きくないとそもそも乗り換えない方が良いという結論に至ることが分かりました。またある程度コスト差がある場合には想定する収益に、比較的大きく左右されることが分かります。

タイトルとURLをコピーしました