额外付款的未来价值计算

时间:2016-03-25 11:35:47

标签: javascript math amortization

我正在尝试创建一个“储蓄目标”计算器,但我仍然坚持如何(如果可能)我可以实现以下目标: -

  1. 计算给定利率达到目标所需的每月付款金额。 (可以使用底部的公式 - 在javascript中执行此操作,但无论如何都应该有意义)

  2. 根据未来某个时间点的一次或多次一次性付款调整每月付款金额。 (不能解决这个问题)

  3. 例如,我可以计算出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;
    
    }
    

1 个答案:

答案 0 :(得分:1)

是的,您对重复计算的预感是正确的,您可以将第5年的金额也写为

x + (10000 - x)

其中第一项由几何和公式涵盖。第二个术语需要减少x,但x未知会导致一个圆圈因为问题是线性的而可以被打破。

但是,为了避免过多的代码混乱并保持一定的灵活性,可以建议您按照第一次猜测的方式进行操作,并在精确的主计算公式上使用割线公式(用于验证的公式为302,000英镑)从x = 201)来细化结果。使用第一个猜测xx+1初始化割线方法。