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

複利シミュレーターが内部で使う計算式を解説。月次複利・分配ありETF・NISA配分・売却時課税・インフレ調整まで、具体例と途中計算を含めて体系的に整理します。

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


1. 記号定義

記号意味単位
P0初期元本
c毎月積立額円/月
r年率期待リターン実数(例: 0.05)
Y運用年数
N=12Y運用月数
f年率手数料実数
t税率実数
d年配当利回り実数
g=r-d年値上がり率実数
iインフレ率実数

2. 検算用パラメータ

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

パラメータ
初期元本 P00円
毎月積立額 c120,000円
年率 r0.05(5%)
運用期間 Y20年
手数料 f0
税率 t0.20315(20.315%)
配当利回り d0.02(2%)
値上がり率 g0.03(3%)
インフレ率 i0

総拠出額:120,000円 × 240ヶ月(20年)= 28,800,000円

新NISAの生涯上限1,800万円を超える設定です。150ヶ月目でNISA枠が満額になり、以降は課税口座への積立になります。


3. 年率を月率へ変換する方法

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

月率変換の式:

r_m = (1 + r)^(1/12) - 1

数値代入(r = 0.05の場合):

r_m = (1 + 0.05)^(1/12) - 1
    = 1.05^(1/12) - 1
    = 1.004074 - 1
    = 0.004074

月0.4074%の成長率になります。

なぜ r/12 ではないのか:

単純に r/12 = 0.05/12 ≈ 0.004167 を使うと、12ヶ月の複利計算後に (1.004167)^12 = 1.05116 となり、年率5%より少し大きくなります(誤差が生じます)。正確な月率換算には (1+r)^(1/12) - 1 を使う必要があります。


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

なぜこの式になるか

分配なしの投資信託では、利益はすべて自動再投資されます。1ヶ月の処理の流れは次の通りです。

  1. 前月残高に成長率をかける(複利成長)
  2. 手数料を差し引く(手数料ゼロの場合はスキップ)
  3. 積立を加える(期末積立の場合)

手数料ゼロ・期末積立の漸化式:

B_(n+1) = B_n × (1 + r_m) + c

計算例(最初の12ヶ月)

1ヶ月目:

B_1 = 0 × 1.004074 + 120,000 = 120,000円

2ヶ月目:

120,000 × 1.004074 = 120,488.88円(成長後)
120,488.88 + 120,000 = 240,488.88円(積立後)

3ヶ月目:

240,488.88 × 1.004074 = 241,468.63円(成長後)
241,468.63 + 120,000 = 361,468.63円(積立後)

4〜12ヶ月目の一覧:

成長後(円)積立後(円)
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
121,352,708.291,472,708.29円

240ヶ月(20年)この計算を繰り返すと最終残高が算出されます。


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

年率の分解

課税口座では配当部分のみに税がかかります。価格上昇と配当を分けて扱う必要があるため、期待年率 r を次のように分解します。

r = g(値上がり部分)+ d(配当部分)
今回:g = 0.03、d = 0.02

月率変換

値上がり部分(g_m):

g_m = (1 + 0.03)^(1/12) - 1
    = 1.002466 - 1
    = 0.002466

配当部分(d_m):

d_m = (1 + 0.02)^(1/12) - 1
    = 1.001652 - 1
    = 0.001652

計算例(初期残高100万円の場合)

ステップ1:値上がり部分の計算

1,000,000 × (1 + 0.002466) = 1,002,466円

ステップ2:配当部分(課税口座)

課税後の実効配当率:

0.001652 × (1 - 0.20315) = 0.001652 × 0.79685 = 0.001316

配当再投資後:

1,002,466 × (1 + 0.001316) ≈ 1,003,785円

1ヶ月の成長因子

成長因子 = (1 + g_m) × (1 + d_m × (1 - t))

複数月では、この成長因子を繰り返し掛け合わせます。


6. NISAと課税口座の配分

新NISAの生涯投資枠は1,800万円です。積立投資枠と成長投資枠の合計が上限となります。

NISA口座積立額の計算:

c_NISA = min(c, NISA残り枠)
c_taxable = c - c_NISA

NISA枠到達月の計算:

毎月12万円積み立てた場合:

18,000,000 ÷ 120,000 = 150ヶ月(12年6ヶ月)

150ヶ月目でNISA枠の上限に到達します。151ヶ月目以降、新規積立の全額が課税口座に入ります。

課税口座への配分の影響:

NISA枠内なら運用益・配当が非課税ですが、課税口座では配当に約20.315%の税がかかります。20年の積立で途中から課税口座に切り替わると、最終的な手取り資産が減少します。


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

手数料を別に扱う理由

投資信託やETFには年率で信託報酬がかかります。例えば年率0.3%の場合(f = 0.003)、このコストは毎年まとめて引かれるのではなく、日次または月次で差し引かれます。

月率への変換(簡易版):

f_m = f / 12
例:0.003 / 12 = 0.00025(月0.025%)

分配なしモデルでの適用

月内処理の順:

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

式:

B_(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.004074 = 1,004,074円
② 手数料控除:1,004,074 × (1 - 0.00025) = 1,004,074 × 0.99975 = 1,003,823円
1ヶ月分のコスト:1,004,074 - 1,003,823 = 251円

「利回り − 手数料」と複利の違い

よく「実質利回り = 5% − 0.3% = 4.7%」と計算しますが、厳密には正確ではありません。

正確な月次実質成長率:

(1 + r_m) × (1 - f_m) = 1.004074 × 0.99975 = 1.003823
月次実質成長率 = 0.003823
年率換算 = (1.003823)^12 - 1 ≈ 0.04685(約4.69%)

「5% − 0.3% = 4.7%」という単純計算より、正確な実質年率は約4.69%とわずかに低くなります。差は小さいですが、長期複利では積み上がります。

長期(20年)での手数料の影響

条件(毎月6万円を20年間積立)最終資産(概算)
年率5%・手数料0%約2,435万円
年率5%・手数料0.3%(実質約4.7%)約2,352万円
差額約83万円

同じ年率5%でも、信託報酬0.3%の差が20年間(毎月6万円の積立)で約83万円の差になります。積立額が大きいほど、また期間が長いほど、この差はさらに広がります。


8. 売却時課税

課税口座の最終残高に含まれる利益部分に約20.315%の税がかかります。

計算式:

税額 = 利益 × t = (最終残高 - 元本) × 0.20315
税引後残高 = 最終残高 - 税額

数値例:

最終残高:10,000,000円
元本(拠出総額):8,000,000円
利益:2,000,000円
税額:2,000,000 × 0.20315 = 406,300円
税引後残高:10,000,000 - 406,300 = 9,593,700円

NISA口座の場合は税引後の処理が不要です(非課税)。


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

シミュレーション結果は名目値(将来時点の金額)で表示されます。インフレが進むと同じ金額でも購買力は下がります。

現在価値の計算式:

B_real = B_final / (1 + i)^Y

数値例(インフレ率2%・20年):

インフレ係数 = (1.02)^20 ≈ 1.4859
名目2,000万円の現在価値 = 20,000,000 ÷ 1.4859 ≈ 13,460,000円(約1,346万円)

年2%のインフレが20年続くと、将来の2,000万円は今日の購買力で約1,346万円相当になります。老後資金計画ではこの購買力の低下も考慮する必要があります。


10. 整合性チェックポイント

計算の実装が正しいかを確認する項目です。

チェック項目期待される結果
150ヶ月目でNISA枠到達18,000,000円 ÷ 120,000円/月 = 150ヶ月
配当課税が配当部分にのみ適用値上がり部分(g)には課税しない
売却時課税がNISAに適用されない課税口座分の含み益のみ課税対象
手数料の複利的な積み上がり単純引き算より長期では差が大きい

まとめ

  1. 月率変換は (1+r)^(1/12) - 1 を使う(単純割り算より正確)
  2. 分配あり(ETF)は値上がり部分と配当部分を分離して課税を適用する
  3. NISAは150ヶ月(12年6ヶ月)でツールの上限に到達し、以降は課税口座に切り替わる
  4. 手数料は長期複利で積み上がり、毎月6万円・20年の積立では0.3%の差が約83万円の資産差になる
  5. 売却時課税は課税口座の利益部分のみに適用(NISAは非課税)
  6. インフレ調整で将来の名目額から今日の購買力を逆算できる

本記事の条件で実際に計算する

本文のパラメータを入力済みの状態で複利シミュレーターを開きます。


基礎知識(Basics)関連記事


関連記事

本記事は一般的な情報提供を目的としており、税務・投資・法律などの専門的助言ではありません。内容は公的機関などの信頼できる情報をもとに作成していますが、制度や数値は変わる場合があります。実際の判断は公式情報や専門家でご確認ください(運営者情報・免責事項)。