複利シミュレーターの計算式(理論・実装整合版)
複利シミュレーターが内部で使う計算式を解説。月次複利・分配ありETF・NISA配分・売却時課税・インフレ調整まで、具体例と途中計算を含めて体系的に整理します。
執筆:しぐ ・ 更新日: 2026-05-29
本ページでは、当サイトの複利シミュレーターの計算構造を、具体的な数値例と途中計算を含めて整理します。抽象式だけでなく、実際に代入・計算しながら確認します。
1. 記号定義
| 記号 | 意味 | 単位 |
|---|---|---|
| P0 | 初期元本 | 円 |
| c | 毎月積立額 | 円/月 |
| r | 年率期待リターン | 実数(例: 0.05) |
| Y | 運用年数 | 年 |
| N=12Y | 運用月数 | 月 |
| f | 年率手数料 | 実数 |
| t | 税率 | 実数 |
| d | 年配当利回り | 実数 |
| g=r-d | 年値上がり率 | 実数 |
| i | インフレ率 | 実数 |
2. 検算用パラメータ
本ページでは以下の値を固定して計算を検証します。
| パラメータ | 値 |
|---|---|
| 初期元本 P0 | 0円 |
| 毎月積立額 c | 120,000円 |
| 年率 r | 0.05(5%) |
| 運用期間 Y | 20年 |
| 手数料 f | 0 |
| 税率 t | 0.20315(20.315%) |
| 配当利回り d | 0.02(2%) |
| 値上がり率 g | 0.03(3%) |
| インフレ率 i | 0 |
総拠出額: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ヶ月の処理の流れは次の通りです。
- 前月残高に成長率をかける(複利成長)
- 手数料を差し引く(手数料ゼロの場合はスキップ)
- 積立を加える(期末積立の場合)
手数料ゼロ・期末積立の漸化式:
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ヶ月目の一覧:
| 月 | 成長後(円) | 積立後(円) |
|---|---|---|
| 4 | 362,941.25 | 482,941.25 |
| 5 | 484,908.75 | 604,908.75 |
| 6 | 607,373.15 | 727,373.15 |
| 7 | 730,336.47 | 850,336.47 |
| 8 | 853,800.74 | 973,800.74 |
| 9 | 977,768.00 | 1,097,768.00 |
| 10 | 1,102,240.31 | 1,222,240.31 |
| 11 | 1,227,219.72 | 1,347,219.72 |
| 12 | 1,352,708.29 | 1,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%)
分配なしモデルでの適用
月内処理の順:
- 成長率を掛ける
- 手数料を差し引く
- 積立を加える(期末の場合)
式:
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+r)^(1/12) - 1を使う(単純割り算より正確) - 分配あり(ETF)は値上がり部分と配当部分を分離して課税を適用する
- NISAは150ヶ月(12年6ヶ月)でツールの上限に到達し、以降は課税口座に切り替わる
- 手数料は長期複利で積み上がり、毎月6万円・20年の積立では0.3%の差が約83万円の資産差になる
- 売却時課税は課税口座の利益部分のみに適用(NISAは非課税)
- インフレ調整で将来の名目額から今日の購買力を逆算できる
本記事の条件で実際に計算する
本文のパラメータを入力済みの状態で複利シミュレーターを開きます。
基礎知識(Basics)関連記事
関連記事
本記事は一般的な情報提供を目的としており、税務・投資・法律などの専門的助言ではありません。内容は公的機関などの信頼できる情報をもとに作成していますが、制度や数値は変わる場合があります。実際の判断は公式情報や専門家でご確認ください(運営者情報・免責事項)。