我正在尝试创建一个“储蓄目标”计算器,但我仍然坚持如何(如果可能)我可以实现以下目标: -
计算给定利率达到目标所需的每月付款金额。 (可以使用底部的公式 - 在javascript中执行此操作,但无论如何都应该有意义)
根据未来某个时间点的一次或多次一次性付款调整每月付款金额。 (不能解决这个问题)
例如,我可以计算出30年内以7%的利率获得30万英镑的余额是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 - 期数(年) 光伏 - 现值 ^ =权力因为我不知道该怎么做:-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;
}
答案 0 :(得分:1)
是的,您对重复计算的预感是正确的,您可以将第5年的金额也写为
x + (10000 - x)
其中第一项由几何和公式涵盖。第二个术语需要减少x
,但x
未知会导致一个圆圈因为问题是线性的而可以被打破。
但是,为了避免过多的代码混乱并保持一定的灵活性,可以建议您按照第一次猜测的方式进行操作,并在精确的主计算公式上使用割线公式(用于验证的公式为302,000英镑)从x = 201)来细化结果。使用第一个猜测x
和x+1
初始化割线方法。