複利計算機

複利と定期積立による投資の成長を視覚的に確認できます。年次明細表付き。

パラメータ設定

初期投資額
$
年間収益率
%
S&P 500の歴史的平均 ≈ 10%、インフレ調整後 ≈ 7%
投資期間
複利頻度
定期追加投資
$/ 月

最終金額

$292.5K

20

元本合計

$130.0K

総利益

$162.5K

+125.0%

成長曲線

年別明細
元本利益合計
1$16.0K$890.00$16.9K
2$22.0K$2,263.00$24.3K
3$28.0K$4,151.00$32.2K
4$34.0K$6,592.00$40.6K
5$40.0K$9,623.00$49.6K
6$46.0K$13.3K$59.3K
7$52.0K$17.6K$69.6K
8$58.0K$22.7K$80.7K
9$64.0K$28.5K$92.5K
10$70.0K$35.2K$105.2K
11$76.0K$42.8K$118.8K
12$82.0K$51.3K$133.3K
13$88.0K$60.8K$148.8K
14$94.0K$71.4K$165.4K
15$100.0K$83.1K$183.1K
16$106.0K$96.2K$202.2K
17$112.0K$110.5K$222.5K
18$118.0K$126.3K$244.3K
19$124.0K$143.5K$267.5K
20$130.0K$162.5K$292.5K

このツールは役に立ちましたか?

コード例

JavaScript

// Compound interest with monthly contributions
function compoundGrowth(P, r, n, t, pmt) {
  // P = principal, r = annual rate (decimal)
  // n = compounds/year, t = years, pmt = monthly contrib
  const monthlyRate =
    Math.pow(1 + r / n, n / 12) - 1;
  let balance = P;
  for (let y = 1; y <= t; y++) {
    for (let m = 0; m < 12; m++) {
      balance *= (1 + monthlyRate);
      balance += pmt;
    }
  }
  return balance;
}

// Example: $10k at 7%, 20 years, $500/mo
console.log(compoundGrowth(10000, 0.07, 1, 20, 500));
// → ~$284,428

Python

def compound_growth(P, r, n, t, pmt=0):
    """
    P   = initial principal
    r   = annual rate (decimal, e.g. 0.07)
    n   = compounding frequency per year
    t   = years
    pmt = monthly contribution
    """
    monthly_rate = (1 + r / n) ** (n / 12) - 1
    balance = P
    for _ in range(t * 12):
        balance *= (1 + monthly_rate)
        balance += pmt
    return balance

# $10,000 at 7% for 20 years + $500/mo
print(f"USD {compound_growth(10000, 0.07, 1, 20, 500):,.2f}")
# → USD 284,428.09

Excel / Google Sheets

// Future Value formula (no contributions)
=FV(rate/n, n*t, 0, -PV)

// With monthly contributions (monthly compounding)
// pmt = monthly payment, rate = annual rate
=FV(rate/12, years*12, -pmt, -PV)

// Example: $10k principal, 7% rate, 20 years
// with $500/month contribution:
=FV(7%/12, 20*12, -500, -10000)
// → $284,428.09

// Rule of 72 — years to double:
=72 / (rate * 100)

Go

package main

import (
    "fmt"
    "math"
)

func compoundGrowth(P, r float64, n, t int, pmt float64) float64 {
    monthlyRate := math.Pow(1+r/float64(n), float64(n)/12) - 1
    balance := P
    for i := 0; i < t*12; i++ {
        balance *= (1 + monthlyRate)
        balance += pmt
    }
    return balance
}

func main() {
    result := compoundGrowth(10000, 0.07, 1, 20, 500)
    fmt.Printf("$%.2f\n", result) // $284,428.09
}

よくある質問

複利とは何ですか?

複利とは、元本だけでなく、すでに蓄積された利息にも利息がつく仕組みです。時間の経過とともに指数関数的な成長を生み出し、アインシュタインは「世界第八の不思議」と呼んだとされています。

複利の頻度は成長にどう影響しますか?

利息が複利計算される頻度が高いほど(年次より日次の方が)、実効年利回り(APY)はわずかに高くなります。ただし、その差はごくわずかで、利率の向上や投資期間の延長の方がはるかに重要です。

年利率はどのくらいに設定すべきですか?

S&P 500の歴史的平均は名目で年約10%、インフレ調整後で約7%です。保守的な見積もりなら5〜6%、債券や預金なら2〜4%が現実的です。

毎月の積立はどのように計算されますか?

毎月の積立金は、利息計算後の各月末に追加されます(年金終価の計算式を使用)。本計算機は月次シミュレーションで高精度に計算します。

なぜ最初の数年は成長が遅いのですか?

複利は指数関数的な成長です。初期は残高の大部分が元本ですが、後半になると利息が積立額を上回ることもあります。早く始めることが重要な理由はここにあります。

72の法則とは何ですか?

72を年利率で割ると、資産が倍になるまでのおおよその年数がわかります。年利7%なら72÷7≈10.3年、年利10%なら約7.2年で倍になります。