複利の魔法とローンの罠(等比数列の現実世界)
「人類最大の数学的発見」アインシュタインも驚嘆した資産形成と借金の数理
- 1
- 複利の魔法とローンの罠(等比数列の現実世界)の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
- 2
- 公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
- 3
- 実社会における工学応用(FinTech・資産運用シミュレーションエンジンの実装)のTypeScript実装コードを収録。
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
何百年も前から「お金がお金を生む雪だるま効果」として商人に活用され、アインシュタインが人類最大の数学的発見と呼んだ等比数列の現実応用。
身につく武器・思考力
リボ払いや高金利借金の搾取構造から自分の資産を完全に防衛し、月数万円の積立で数千万円の老後資産を論理的に築くファイナンシャルリテラシーが身につく。
実社会・ITでの活躍現場
- •つみたてNISA・iDeCo・株式インデックス投資の長期複利運用
- •クレジットカードのリボ払い・カードローンの金利増殖シミュレーション
- •住宅ローンの元利均等返済と繰り上げ返済の利息削減効果
- •FinTech企業やロボアドバイザーのポートフォリオ予測エンジン
Layer 1 — 直感・シミュレーター
毎月の積立額、想定年利(%)、運用年数をスライダーで調整してみよう。「単利」と「複利」の驚くべき差や、元本に対する運用益の割合が年数を経るごとに雪だるま式に膨らむ様子がグラフで確認できます。さらに「リボ払い・借金モード」に切り替えると、金利(年利15%)がどれほど恐ろしい勢いで元本を上回るかも体感できます。
20年後の資産シミュレーション結果
Layer 2 — 定義・受験・証明
定義
複利(Compound Interest)とは、一定期間ごとに発生した利息を元本に組み入れ、その合計額に対して次の利息を計算する方式である。 元本を 、年利率を 、年数を とすると、複利後の元利合計 は等比数列の一般項として表される:
また、毎月一定額 を積み立てる場合、各月の積立金はそれぞれ異なる期間運用されるため、合計受取額は等比数列の和の公式 に基づいて計算される。
公式・数理モデル
証明・導出
毎月積立の元利合計の導出: 毎月の積立額を 、月利を 、積立月数を とする。 - 最初の月に預けた 円は ヶ月間運用されるため、満期時には となる。 - 2ヶ月目に預けた 円は ヶ月間運用されるため、 となる。 - 最後の月に預けた 円は 1ヶ月間運用されるため、 となる。
全合計金額 は初項 、公比 の等比数列の和である:
等比数列の和の公式より:
年数が長くなるほど指数関数 の増大率が圧倒的になり、資産の大部分が「利息が生み出した利息」で占められるようになる。
押さえておきたいポイント
- アインシュタインが「人類最大の数学的発見」「宇宙で最強の力」と呼んだ等比数列の累乗効果
- 「72の法則」: 資産が2倍になるおおよその年数は で概算できる(例: 年利6%なら約12年)
- 味方にすれば「資産形成の最強エンジン」、敵に回せば「リボ払いや多重債務の泥沼」となる表裏一体の性質
- 高校数学で学ぶ等比数列の和が、社会人の人生設計とファイナンシャルプランニングの根幹を支えている
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
FinTech・資産運用シミュレーションエンジンの実装
銀行、証券会社、ロボアドバイザー等の積立シミュレーション画面で用いられている月次複利計算ロジックの実装コード。
1// 毎月積立複利シミュレータのコア計算関数2export interface MonthlyWealthSnapshot {3 month: number;4 year: number;5 totalInvested: number; // 累計元本投資額6 totalWealth: number; // 運用後総額7 earnedInterest: number; // 利息利益8}910export function calculateCompoundWealth(11 monthlyContribution: number, // 毎月の積立額 (円)12 annualRatePercent: number, // 想定年利 (%)13 years: number // 運用年数14): MonthlyWealthSnapshot[] {15 const monthlyRate = annualRatePercent / 100 / 12;16 const totalMonths = years * 12;17 const history: MonthlyWealthSnapshot[] = [];1819 let currentWealth = 0;20 let totalInvested = 0;2122 for (let m = 1; m <= totalMonths; m++) {23 totalInvested += monthlyContribution;24 // 当月の積立額を加え、月利を適用25 currentWealth = (currentWealth + monthlyContribution) * (1 + monthlyRate);2627 if (m % 12 === 0 || m === totalMonths) {28 history.push({29 month: m,30 year: Math.floor(m / 12),31 totalInvested: Math.round(totalInvested),32 totalWealth: Math.round(currentWealth),33 earnedInterest: Math.round(currentWealth - totalInvested),34 });35 }36 }3738 return history;39}
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元