包含额外付款的未来价值计算

Future Value Calculation with extra payments

本文关键字:计算 未来 付款 包含额      更新时间:2023-09-26

我正试图创建一个"储蓄目标"计算器,但我一直在思考如何(如果可能的话)实现以下目标:-

  1. 在给定利率的情况下,计算达到目标所需的月供金额。(可以用javascript中底部的公式来实现这一点,但无论如何都应该有意义)

  2. 在未来某个时间点,根据一次或多次一次性付款调整每月付款金额。(无法解决)

例如,我可以计算出,以7%的利率在30年内实现30万英镑的余额是245.91英镑。

但我不确定如果在第5年实行一次性付款,我该如何调整这笔金额:-

e.g. 
yr 1 - x
yr 2 - 4 - x
yr 5 - 10000 lump sum
yr 6 - 30 - x

其中,x是每月所需的金额,考虑到在第30年仍能达到300000英镑的总额的一次性付款。

同样的情况,但在第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%复利),然后从所需金额中减去该金额(因此为300000英镑-54274.33美元=245725.67英镑),然后根据245725.66英镑计算所需的每月付款)。

它很接近(301827.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;
}

是的,你关于重复计算的预感是正确的,你可以把第5年的金额也写为

x + (10000 - x)

其中第一项由几何和公式覆盖。第二项需要减少x,但x是未知的,这导致了一个可能被打破的圆,因为问题是线性的。

然而,为了避免太多的代码混乱并保持一定的灵活性,可以建议像第一次猜测一样,在确切的主计算公式上使用割线公式(用于验证的公式从x=201中获得30.2万英镑)来细化结果。使用第一个猜测xx+1来初始化割线方法。