使用方法
- 先把三个基本量填上。「初始金额 PV」填 5000、「每期投入 PMT」填 300、「年利率 r」填 7(百分号不用输)——这就是页面打开时的默认组合。
- 再选「年限 t」和「复利频率 m」。年限填 20;频率默认「每月复利一次(m=12)」。这一步决定两个量:单期利率 i = r ÷ m = 7% ÷ 12 = 0.583333%,总期数 N = m × t = 12 × 20 = 240。「每期投入」的钱与频率同频,选 m=12 就是每月投 300。
- 点「计算未来价值」,或在任意输入框里按 Enter。结果区给出终值、单期利率、总期数、复利因子、本金与投入的拆分、累计收益、有效年利率,以及两条反算出来的年化率。
- 下方「逐年明细」把参数按年滚存一遍,默认只渲染 12 行,点「加载更多」每次追加 12 行;「导出 CSV」下载带 BOM 的表格,「复制对照表」把整张表以制表符分隔的文本送进剪贴板。
- 点「载入示例」随时回到 5000 / 300 / 7% / 20 年 / 月复利的默认组合。
年限只填到 20 年,但明细表推到了第 30 年。多出来的年份是按同一组参数外推的参考值,用来观察复利后期「利滚利」加速的效果,不代表你输入期限之外的真实结果。
这个未来价值主张计算器能解决什么问题
一是把「每月存一点」的结果量化。每月 300 元不起眼,20 年后是 176,471.69 元,其中只有 77,000 元是你自己的钱(本金 5000 + 定投 72,000),剩下 99,471.69 元由这 7% 年利率滚出来,占总终值的 56.37%。
二是看清名义利率与实际利率的差距。银行报的 7% 是名义年利率,按月复利的有效年利率是 7.2290%,高 0.229 个百分点;按日复利是 7.2501%,连续复利极限 7.2508%。做长期规划要用有效年利率才不会被低估。
三是比较「一次性投入」和「定投」。同样的总投入,越早到账的钱参与复利的时间越长。把 PMT 改成 0、PV 改成 77,000,20 年后终值是 310,982.89 元,比定投的 176,471.69 元多 134,511.20 元,这就是时间价值的直接体现。
四是反推需要多高的收益率。已知初始金额和期限想知道「多久能到 100 万」,只能反过来调 r 或 t 试算。本页同时给出「隐含 CAGR」与「对总投入反算的年化」,就是为了让你判断自己的假设是否现实。
本页不做这些事:不扣税费、手续费和通胀,所以结果是名义值;不模拟不定期、不等额的追加(例如某几年多投一笔),那种情形要用 XIRR 按实际现金流解方程;也不给收益率做概率分布。想把终值换成购买力,用「通货膨胀计算器」;想把年化率单独拎出来核对,用「年复合增长率计算器」。
计算原理:复利终值、年金终值与它跟 CAGR 的关系
公式分两段,代码里就是一次 Math.pow:
FV = PV × (1 + r/m)^(mt) + PMT × ((1 + r/m)^(mt) − 1) ÷ (r/m)
前半段是复利终值:初始金额按单期利率 i = r/m 复利 N = m·t 期。后半段是年金终值:每期期末投入 PMT,把每笔投入各自滚到期末再求和,得到的等比数列和就是 PMT × ((1+i)N − 1) ÷ i。两段用的都是同一个 i 和 N,所以能直接相加。
为什么把年利率拆成 r/m。报价习惯按年给数(7%),计息却按期进行。按月复利每期只赚 7% ÷ 12 = 0.583333%,滚 240 期;按年复利每期赚 7%,只滚 20 期。拆出 i 就是把报价口径与计息口径分开,避免把 7% 当成 240 次的单期利率用。
有效年利率 EAR 的定义。EAR = (1 + r/m)^m − 1,把一年的分期复利折算成等效年利率。默认参数下 EAR = (1 + 0.07/12)12 − 1 = 7.2290%。这个口径把不同频率的产品拉到同一把尺子上:年复利 7%、月复利 7.2290%、日复利 7.2501%,m 趋于无穷时收敛到 e0.07 − 1 = 7.2508%。
它跟 CAGR 的关系,一句话说清:只放一次性本金时,两者完全相等。这时的终值 FV = PV × (1+r/m)mt,反解出年化就是 (FV ÷ PV)(1/t) − 1 = (1+r/m)m − 1 = EAR。默认参数里把 PMT 设成 0,FV 是 20,193.69 元,反算的年化正好是 7.229008%,与 EAR 分毫不差。也就是说这个未来价值主张计算器里的 r(名义年利率)和「年复合增长率计算器」里的 CAGR 是同一件事的两种写法:前者是报价口径,后者是已折算到年的口径。
一旦加进定投,等式就断了。默认示例里对总投入 77,000 反算的年化只有 4.2340%,而 EAR 是 7.2290%。差在哪?因为 77,000 里有 72,000 是分 240 期陆续到账的,最后一笔 300 元只参与了 1 个月。对初始本金 5000 反算的年化则是 19.5048%,远高于 7.2290%——早期的钱被后面的投入「摊薄」了权重。同一个账户能反算出两个截然不同的年化率,这正说明:凡是存在多次现金流,就不能用 CAGR,必须用 IRR(内部收益率),它把每笔现金流的时点都算进去。
从输入到输出的转换链条。r 与 m → i = r ÷ m → N = m × t → A = (1+i)N → 复利部分 PV × A 与年金部分 PMT × (A − 1) ÷ i 相加得到 FV → 总投入 = PV + PMT × N → 累计收益 = FV − 总投入 → EAR 由 (1+i)m − 1 得到 → 隐含年化用 Math.pow(FV ÷ 基准, 1 ÷ t) − 1。当 r = 0 时 i 为 0,除式失效,公式退化成 FV = PV + PMT × N,页面里对这种情况单独做了判断。
完整示例(数值仅作演示)
示例一,默认定投组合。PV = 5000,PMT = 300,r = 7%,m = 12,t = 20。
- 单期利率 i = 0.07 ÷ 12 = 0.583333%,总期数 N = 12 × 20 = 240;
- 复利因子 A = 1.00583333240 = 4.038739;
- 复利部分 5000 × 4.038739 = 20,193.69 元;
- 年金因子 (A − 1) ÷ i = 3.038739 ÷ 0.00583333 = 520.926660;
- 年金部分 300 × 520.926660 = 156,278.00 元;
- FV = 20,193.69 + 156,278.00 = 176,471.69 元,与结果区完全一致;
- 总投入 = 5000 + 300 × 240 = 77,000.00 元,收益 99,471.69 元,占终值的 56.37%。
示例二,只看一次性本金。把 PMT 改成 0,其余不变。
- FV = 5000 × 4.038739 = 20,193.69 元;
- 隐含 CAGR = (20193.69 ÷ 5000)(1 ÷ 20) − 1 = 7.229008%;
- 有效年利率 EAR = 7.2290%,两者完全相同,验证了「一次性本金时 CAGR ≡ EAR」;
- 按这个实际年化算翻倍年数 = ln2 ÷ ln(1.072290) = 9.93 年。
示例三,频率的影响。PV = 10000 元一次性,r = 7%,t = 20 年,只改 m:按年复利 38,696.84 元,按半年 39,592.60 元,按季 40,063.92 元,按月 40,387.39 元,按日 40,546.56 元。日复利比年复利多 1,849.72 元,占年复利终值的 4.78%。
把默认组合逐年推下去(就是明细表里的锚点):第 10 年末 61,973.75 元、累计投入 41,000 元;第 20 年末 176,471.69 元、累计投入 77,000 元;第 30 年末 406,573.79 元、累计投入 113,000 元,终值是总投入的 3.598 倍。第 20 到第 30 年这十年终值增加了 230,102.09 元,比前 20 年的全部投入还多——这就是复利后期加速的直接证据。
复利频率与年限对照表
第一张表固定「10000 元一次性、7%、20 年」,只换复利频率。可以看到频率越高终值越大,但增量是递减的,日复利已经非常接近连续复利的上限:
| 复利频率 m | 单期利率 i = r ÷ m | 总期数 N = m × t | 终值 FV | 有效年利率 EAR |
|---|---|---|---|---|
| 每年 1 次 | 7.000000% | 20 | 38,696.84 | 7.0000% |
| 每半年 1 次 | 3.500000% | 40 | 39,592.60 | 7.1225% |
| 每季 1 次 | 1.750000% | 80 | 40,063.92 | 7.1859% |
| 每月 1 次(默认) | 0.583333% | 240 | 40,387.39 | 7.2290% |
| 每日 1 次 | 0.019178% | 7,300 | 40,546.56 | 7.2501% |
| 连续复利(极限) | — | — | 40,552.00 | 7.2508% |
第二张表固定默认组合(PV = 5000、PMT = 300、r = 7%、m = 12),只看年限拉长后的变化。「收益倍率」是终值除以总投入,数字越大说明收益占比越高:
| 年限 t | 总期数 N | 总投入 | 终值 FV | 累计收益 | 收益倍率 |
|---|---|---|---|---|---|
| 1 年 | 12 | 8,600.00 | 9,079.23 | 479.23 | 1.056 |
| 5 年 | 60 | 23,000.00 | 28,566.00 | 5,566.00 | 1.242 |
| 10 年 | 120 | 41,000.00 | 61,973.75 | 20,973.75 | 1.512 |
| 15 年 | 180 | 59,000.00 | 109,333.42 | 50,333.42 | 1.853 |
| 20 年(默认) | 240 | 77,000.00 | 176,471.69 | 99,471.69 | 2.292 |
| 25 年 | 300 | 95,000.00 | 271,648.60 | 176,648.60 | 2.859 |
| 30 年 | 360 | 113,000.00 | 406,573.79 | 293,573.79 | 3.598 |
| 40 年 | 480 | 149,000.00 | 869,001.08 | 720,001.08 | 5.832 |
第三张表把「终值 → 年化率」的两条反算路径并排,这是本页最容易看错的地方:只有 PMT 为 0 时,隐含年化才等于有效年利率:
| 情形 | 终值 FV | 反算基准 | 年化结果 |
|---|---|---|---|
| 一次性 5000 元,PMT=0 | 20,193.69 | 初始本金 5,000 | 7.2290%(= EAR) |
| 默认含定投 | 176,471.69 | 总投入 77,000 | 4.2340% |
| 默认含定投 | 176,471.69 | 初始本金 5,000 | 19.5048% |
输入范围、边界与精度说明
- 初始金额和每期投入都不能为负,且不能同时为 0。两者都为 0 时终值恒等于 0,没有任何可算的东西,页面会直接拦住。想表达「从零开始只靠定投」,把 PV 填 0 即可,此时终值 156,278.00 元。
- 年利率范围是 −100% 到 1000%。下限卡在 −100% 是因为单期利率 i = r ÷ m 必须让 1 + i 为正,否则幂运算没有实数解;上限 1000% 是因为再高 (1+i)N 会直接超过双精度上限
Number.MAX_VALUE≈ 1.7976931348623157 × 10308 变成Infinity。r 允许为负,用来模拟贬值或含费后的净利率,−5% 时默认组合的终值是 47,403.52 元。 - 年限 0.5~100 年,步长 0.5。下限 0.5 年是让「按季复利」至少有两期可算;上限 100 年是防止把月数当成年数填(填 240 想表达 240 个月时,正确写法是 20)。年限支持小数,t = 0.5、m = 12 时总期数 N = 6,公式照样成立。
- r = 0 是一条特殊分支。此时 i = 0,年金公式里的 (A − 1) ÷ i 是 0 ÷ 0,页面走退化公式 FV = PV + PMT × N。默认参数下就是 5000 + 300 × 240 = 77,000.00 元,即「存多少就是多少,一分利息都没有」。
- 金额显示保留两位小数,内部按全精度计算。页面上的 176,471.69 是四舍五入后的展示值,参与后续年份计算的一直是
176471.6921925662。用两位小数手工复算明细表,末几位可能差几分到几角,属于正常的显示误差。 - 超过 253 = 9007199254740992 的整数无法精确表示。金额本身在千万亿以内都安全,风险主要来自
Math.pow:N 很大且 i 为正时 (1+i)N 会迅速膨胀,页面在终值变成Infinity时会报错并提示年份上限,而不是显示一个「Infinity」了事。 - 结果是名义值,不含税费与通胀。未来价值主张计算器给的是「账面终值」:没扣利息税、赎回费和管理费,也没把购买力变化算进去。同样是 20 年后的 176,471.69 元,若年均通胀 3%,按购买力折算只相当于今天的约 97,708 元。要把这个差距算出来,用「通货膨胀计算器」。
常见问题
名义年利率和有效年利率,我该用哪个做规划?
做长期金额测算用有效年利率 EAR。名义利率只是报价口径,按月复利 7% 的真实年化是 7.2290%,按日复利是 7.2501%。20 年下来用 7.2290% 与 7% 算出的终值相差约 4.37%,金额越大差得越多。本页把 EAR 直接显示在结果区,就是为了不用你手工换算。
为什么不把 7% 直接乘 240 期?
因为 7% 是一年的利率,不是一期的。按月复利时每期利率是 7% ÷ 12 = 0.583333%,滚 240 期;若错把 7% 当单期利率,等于按 7% 月复利,20 年后倍数是 1.07240 ≈ 1.13 × 107,毫无意义。单期利率一定是「年利率 ÷ 每年复利次数」。
每期投入是先投还是后投,差多少?
本页按「每期期末投入」计算,月末投的钱当月不生息。若改成月初投入,每笔钱都多赚一期利息,结果乘以 (1 + i),默认参数下约高 0.5833%。这个差额会随时长和利率放大,做精确测算时要确认产品的实际扣款时点。
为什么反算出现两个不同的年化率?
因为分母不同。对总投入 77,000 反算得到 4.2340%,对初始本金 5000 反算得到 19.5048%,两者都「正确」,只是回答的问题不同:前者接近内部收益率 IRR,衡量这场 20 年定投计划的整体效率;后者衡量最早那笔钱本身涨得多快。对外汇报定投收益应用 IRR 口径,用 19.5048% 会严重高估。
复利频率选得越高越好吗?
不是。频率越高终值越大,但增量递减极快:10000 元 20 年,从年复利到月复利多 1,690.54 元,从月复利到日复利只多 159.17 元;连续复利是理论上限 40,552.00 元,比日复利只多 5.44 元。频率应看产品的实际计息规则,不是越高越好。
年利率填负数是什么意思?
表示这笔钱在缩水。−5% 时默认组合的终值是 47,403.52 元,比 77,000 元的总投入还少,说明连本金都补不回来。负利率可以用来模拟「含管理费后的净收益」「通胀高于投资收益」这类情形。注意下限是 −100%,再低的话单期利率会让底数变成负数或零,幂运算就没有实数解了。
年限填了小数,明细表还准吗?
准。年限参与计算的方式是 N = m × t,t = 0.5、m = 12 时 N = 6,公式照常用。明细表按整年渲染,所以 t = 0.5 的结果对应在第 0 行与第 1 行之间,需要中间值时把 t 填成对应整年更快。
这个计算器能替代理财产品的收益演示吗?
不能。它算的是「固定利率、固定频率、固定投入」的理想情形,真实产品有申购赎回费、浮动利率、分红方式差异和到账延迟。用它做数量级估算和方案对比是合适的,当成收益承诺就不对了——所有投资都有本金损失的可能,演示收益不代表未来。
相关工具
- 年复合增长率计算器:把终值反算成年化增速,正好是本页公式的逆向使用,一次性本金时两者结果一致。
- 年金计算器:专门处理等额多次收付,本页里的「每期投入」部分就是年金终值的一个特例。
- 储蓄利息计算器:按存期与利率算单利或定存利息,适合看一笔定期存款到期能拿多少。
- 简易利息计算器:最基础的本金×利率×时间,不用考虑复利与频率,用来看量级最快。
- 通货膨胀计算器:把本页算出的名义终值折算成购买力,看 20 年后的钱还值多少。
- 投资回报率计算器:算总回报率而不折算到每年,适合看一笔投资整体的赚赔比例。
- 房贷计算器:同样是复利公式的反向应用,把终值变成每月要还多少钱。
- 贷款计算器:按等额本息或等额本金算月供与总利息,与本页的存钱方向正好相反。
- 计算器:查看全部计算器工具。