複利シミュレーターの計算式(理論・実装整合版)

月次複利・分配ありETF・NISA配分・売却時課税・インフレ調整まで、具体例と途中計算を含めて体系的に整理します。

本ページでは、当サイトの複利シミュレーターの計算構造を、具体的な数値例と途中計算を含めて整理します。抽象式だけでなく、実際に代入・計算しながら確認します。


1. 記号定義

記号意味単位
P0P_0初期元本
cc毎月積立額円/月
rr年率期待リターン実数(例: 0.05)
YY運用年数
N=12YN=12Y運用月数
ff年率手数料実数
tt税率実数
dd年配当利回り実数
g=rdg=r-d年値上がり率実数
iiインフレ率実数

2. 検算用パラメータ

本ページでは以下を固定して検算します。

  • 初期元本 P0=0P_0 = 0
  • 毎月積立額 c=120,000c = 120,000
  • 年率 r=0.05r = 0.05(=5%)
  • 運用期間 Y=20Y = 20
  • 手数料 f=0f = 0
  • 税率 t=0.20315t = 0.20315(=20.315%)
  • 配当利回り d=0.02d = 0.02(=2%)
  • 値上がり率 g=0.03g = 0.03(=3%)
  • インフレ率 i=0i = 0

総拠出額:

120,000×240=28,800,000120,000 \times 240 = 28,800,000

NISA枠(18,000,000円)を超える設定です。


3. 年率を月率へ変換する理由

本ツールは月単位で残高を更新します。年率のまま計算すると複利の整合が取れません。単純に r/12r/12 とするのではなく、「1年間で r になる月率」を逆算します。そのため、

rm=(1+r)1/121r_m = (1+r)^{1/12} - 1

を用います。

数値代入

rm=(1+0.05)1/121r_m = (1+0.05)^{1/12}-1 =1.0040741= 1.004074 - 1 =0.004074= 0.004074

月0.4074%の成長率です。


4. 分配なし(投資信託)モデル

なぜこの式になるか

分配なしの場合、利益はすべて自動再投資されます。1か月の流れは:

  1. 前月残高に成長率をかける
  2. 手数料を差し引く
  3. 積立を加える(期末の場合)

手数料ゼロ・期末積立なら、

Bn+1=Bn(1+rm)+cB_{n+1} = B_n(1+r_m) + c

1か月目

B1=0×1.004074+120,000B_1 = 0 \times 1.004074 + 120,000 =120,000= 120,000

2か月目

成長部分:

120,000×1.004074120,000 \times 1.004074 =120,488.88= 120,488.88

積立:

120,488.88+120,000120,488.88 + 120,000 =240,488.88= 240,488.88

複利効果が発生し始めます。


3か月目

240,488.88×1.004074240,488.88 \times 1.004074 =241,468.63= 241,468.63 241,468.63+120,000241,468.63 + 120,000 =361,468.63= 361,468.63

4〜11か月目(一覧)

同じ漸化式 Bn+1=Bn×1.004074+120,000B_{n+1} = B_n \times 1.004074 + 120{,}000 を繰り返します。

成長後積立後(BnB_n
4362,941.25482,941.25
5484,908.75604,908.75
6607,373.15727,373.15
7730,336.47850,336.47
8853,800.74973,800.74
9977,768.001,097,768.00
101,102,240.311,222,240.31
111,227,219.721,347,219.72

12か月目

1,347,219.72×1.0040741,347,219.72 \times 1.004074 =1,352,708.29= 1,352,708.29 1,352,708.29+120,0001,352,708.29 + 120,000 =1,472,708.29= 1,472,708.29

同様の計算を積み立て月数繰り返します。


分配なしモデルをこの条件で試す

本章の条件でそのまま確認できます。


5. 分配あり(ETF)モデル

年率の分解について

課税口座では配当部分のみに税がかかるため、価格上昇と配当を別々に扱う必要があります。 そのため、分配あり(ETF)モデルでは、期待年率 rr を、

  • 値上がり部分 gg
  • 配当部分 dd

に分解します。

r=g+dr = g + d

今回:

g=0.03g = 0.03 d=0.02d = 0.02

となります。


月率変換

gm=(1+0.03)1/121g_m = (1+0.03)^{1/12}-1 =1.0024661= 1.002466 - 1 =0.002466= 0.002466 dm=(1+0.02)1/121d_m = (1+0.02)^{1/12}-1 =1.0016521= 1.001652 - 1 =0.001652= 0.001652

計算例(ここでは説明のため初期残高100万円と仮定)

B0=1,000,000B_0 = 1,000,000

① 値上がり部分を計算すると

1,000,000×(1+0.002466)1,000,000 \times (1+0.002466) =1,000,000×1.002466= 1,000,000 \times 1.002466 =1,002,466= 1,002,466

② 配当部分(課税口座)

実効配当率:

0.001652×(10.20315)0.001652 \times (1-0.20315) =0.001652×0.79685= 0.001652 \times 0.79685 =0.001316= 0.001316

配当を再投資した場合の適用:

1,002,466×(1+0.001316)1,002,466 \times (1+0.001316) =1,002,466×1.001316= 1,002,466 \times 1.001316 1,003,785\approx 1,003,785

複数月の場合

1か月の成長因子は

(1+gm)(1+dm(1t))(1+g_m)(1+d_m(1-t))

2か月ならこの因子を2回掛けます。

B2=B0×因子2B_2 = B_0 \times \text{因子}^2

月次で同じ演算を繰り返します。


分配ありETFを検算する

配当課税ありで1年確認できます。


6. NISAと課税口座の配分

新NISAは、

  • 積立投資枠
  • 成長投資枠

の合計で生涯1,800万円となります。投資信託のみで埋めることも可能です。本ツールでは、この生涯投資上限のみをモデル化しています。


変数定義

NISA口座積立額

cNISA=min(c,  NISA残り枠)c_{\text{NISA}} = \min(c,\;\text{NISA残り枠})

課税口座積立額

ctax=ccNISAc_{\text{tax}} = c - c_{\text{NISA}}

到達月

初期投資0円で、毎月12万円ずつNISA口座に投資していくと、

18,000,000÷120,000=15018,000,000 ÷ 120,000 = 150

150か月で枠の上限に到達します。151か月目以降は入金額の全額が課税口座に加算されます。


NISA枠超過を確認する

20年運用で途中から課税口座へ回ります。


7. 手数料(信託報酬)の扱い

なぜ手数料を別で扱うのか

投資信託やETFには、年率で信託報酬(運用コスト)がかかります。例えば年率 0.3% の場合、

f=0.003f = 0.003

です。このコストは毎年まとめて引かれるのではなく、実際には日次または月次で資産から差し引かれています。本ツールでは、年率手数料を単純月割で扱っています。

fm=f12f_m = \frac{f}{12}

月率への変換

例:年率 0.3% の場合

fm=0.00312f_m = \frac{0.003}{12} =0.00025= 0.00025

つまり月 0.025% のコストです。


分配なしモデルでの適用順

月内処理は以下の順です:

  1. 成長率を掛ける
  2. 手数料を差し引く
  3. 積立を加える(期末の場合)

式:

Bn+1=Bn(1+rm)(1fm)+cB_{n+1} = B_n (1+r_m)(1-f_m) + c

数値例(1か月分)

前月残高 1,000,000円 年率 5% → 月率 0.004074 年率手数料 0.3% → 月率 0.00025

① 成長部分:

1,000,000×1.0040741,000,000 \times 1.004074 =1,004,074= 1,004,074

② 手数料控除:

1,004,074×(10.00025)1,004,074 \times (1 - 0.00025) =1,004,074×0.99975= 1,004,074 \times 0.99975 =1,003,823= 1,003,823

この差額:

1,004,0741,003,823=2511,004,074 - 1,003,823 = 251

これが1か月分のコストです。


なぜ「利回り − 手数料」ではないのか

よく

実質利回り = 5% − 0.3% = 4.7%

と単純に引き算しますが、厳密には違います。正しくは:

(1+rm)(1fm)(1+r_m)(1-f_m)

です。数値代入:

1.004074×0.999751.004074 \times 0.99975 =1.003823= 1.003823

月次の実質成長率は:

0.0038230.003823

年率換算すると:

(1.003823)121(1.003823)^{12} - 1 0.0470\approx 0.0470

約 4.70% になります。つまり長期では 複利同士の掛け算 になります。


長期影響(20年)

年5%、手数料0% → 最終資産 約 2,290万円

年5%、手数料0.3% → 実質約4.7%

20年後は約 2,160万円前後になります。差額は約 130万円。これが「誤差ではない」と言われる理由です。


手数料0.3%で検算する

本章の条件で手数料の影響を確認できます。


8. 売却時課税

最終的に課税口座のみ対象にして算出します。

例:最終残高 10,000,000円 元本 8,000,000円

利益:

2,000,0002,000,000

税額:

2,000,000×0.203152,000,000 \times 0.20315 =406,300= 406,300

税引後残高:

10,000,000406,30010,000,000 - 406,300 =9,593,700= 9,593,700

売却時課税を確認する

課税口座での最終税額を確認できます。


9. インフレによる現在価値への調整

シミュレーション結果は名目値(将来時点の金額)で表示されますが、インフレが進むと同じ金額でも購買力は下がります。 例えば年2%のインフレが20年続くと、物価は約1.5倍になるため、将来の2,000万円は今の約1,346万円分の価値しかありません。 「実際にどれだけの生活費に相当するか」を把握するために、ここではインフレ率で割り戻した現在価値を算出します。

Breal=Bfinal(1+i)YB_{real} = \frac{B_{final}}{(1+i)^Y}

例えば年2%で20年なら:

(1.02)201.4859(1.02)^{20} \approx 1.4859

名目2,000万円なら、

20,000,000÷1.485920,000,000 ÷ 1.4859 13,460,000\approx 13,460,000

となります。


インフレ調整を確認する

インフレ率2%で現在価値を確認できます。


10. 整合性チェック

次を確認できれば、理論と実装は一致しています。

  • 150か月目でNISA枠到達
  • 配当課税が配当部分にのみ適用されている
  • 売却時にのみ含み益課税されている

本記事の条件で最終検算する

本文のパラメータをすべて入力済みで開きます。


11. まとめ

  1. 配当課税は指数成長率を低下させる
  2. NISAは複利効率を最大化する制度である
  3. 長期では指数差が支配的になる

以上が、本ツールの計算構造です。


基礎知識(Basics)関連記事