我正在尝试创建一个“储蓄目标”计算器,但我不知道如何(如果可能)实现以下目标:-
计算给定利率达到目标所需的每月付款金额。(可以用底部的公式来做到这一点 - 在 javascript 中,但无论如何应该是有意义的)
根据未来某个时间点的 1 笔或多笔一次性付款调整每月付款金额。(不能解决这个问题)
例如,我可以计算出以 7% 的利率在 30 年内实现 300,000 英镑的余额为 245.91 英镑。
但我不确定如果引入第 5 年的一次性付款,我该如何调整这个金额:-
e.g.
yr 1 - x
yr 2 - 4 - x
yr 5 - 10000 lump sum
yr 6 - 30 - x
其中 x 是每月需要的金额,考虑到在第 30 年仍能达到 300,000 英镑的一次性付款。
同样适用于相同的情况,但在第 15 年再次付款。
e.g.
yr 1 - x
yr 2 - 4 - x
yr 5 - 10000 lump sum
yr 6 - 14 - x
yr 15 - 10000 lump sum
yr 16 - 30 - x
我正在考虑计算每笔一次性付款的未来价值(因此第 5 年为 10000,在 25 年内以 7% 的复合增长率),然后从所需金额中减去该金额(因此 300,000 英镑 - 54,274.33 美元 = 245725.67 英镑),然后根据 245725.67 英镑计算所需的每月付款)。
它接近(301,827.53 英镑,每平方厘米 201.42 英镑),但我敢肯定,作为计算的一部分,我错过了一些东西,因为它在更大的值上走得更远。
我猜这是因为在第 5 年我重复计算了有效的付款金额(因为下面的计算仍将考虑每月付款,即使它已被覆盖) - 我是否需要减去复利被覆盖的每月付款?
我希望以上内容是有道理的,任何帮助将不胜感激。
使用的计算:-
ir - 利率 fv - 终值(残值) np - 期数(年) pv - 现值 ^ = 功率,因为我不知道如何在这里做:-P
(ir/12)[fv - pv(1 + ir/12) ^ 12np] / [(1 + ir/12) ^ 12np - 1]
或者在 Javascript 中
function calc1(ir, fv, np, pv){
/*
ir - interest rate
fv - future value (residual value)
np - number of periods (years)
pv - present value
*/
var a, b, c, d;
a = ir / 12;
b = (1 + ir/12);
c = 12 * np;
d = (a * (fv - (pv * Math.pow(b, c)))) / (Math.pow(b, c) - 1);
return d;
}