sunzhenchao

因为最近准备买房,就对贷款还款方式进行了了解。等额本金还款比较容易计算,用总贷款额A除以总期数m(单位为月)就可以算出每一个月应该还的本金,再加上当月应还利息就可以算出当月总还款额。但是对等额本息的还款的计算方式有些稀里糊涂,不知道银行是怎么算出来的,就在网上找到了如下的推导公式:

等额本息还款公式推导 设贷款总额为A,银行月利率为β,总期数为m(个月),月还款额设为X,
        则各个月所欠银行贷款为:
        第一个月A(1+β)-X
        第二个月[A(1+β)-X](1+β)-X = A(1+β)^2-X[1+(1+β)]
        第三个月{[A(1+β)-X](1+β)-X}(1+β)-X = A(1+β)^3-X[1+(1+β)+(1+β)^2]
        …
        由此可得第n个月后所欠银行贷款为:
        A(1+β)^n-X[1+(1+β)+(1+β)^2+…+(1+β)^(n-1)] = A(1+β)^n-X[(1+β)^n-1]/β
        由于还款总期数为m,也即第m月刚好还完银行所有贷款,因此有:
        A(1+β)^m-X[(1+β)^m-1]/β = 0
        由此求得:
        X = Aβ(1+β)^m/[(1+β)^m-1]
        注明:此公式出现的等比数列中,(1+β)可以看作是比差q,m是(1+β)的乘方数,但是如果引用等比数列求和公式Sn=a1(1-q^n)/(1-q)      

        等比数列求和公式推导:设该等比数列的首数为a,比差为q,等比数列的和为S。则有

          s= a +aq +aq^2 + ...+ aq^n   (式1)

        在式1的两端都乘上q,则有

          sq= aq +aq^2 + ...+ aq^(n+1) (式2)

        用式2减去式1,有

          sq –1 = aq^(n+1) – a (式3)

        继续推导有下式

           s = (aq^(n+1) – a)/(q-1)

 

java代码:

  int year = 20;//贷款年限
  int month = year*12;//贷款月数
  int A = 800000;//总贷款额
  double rateDouble = 4.5/(100*12);//月利率
  System.out.println(A*rateDouble*Math.pow(1+rateDouble, month)/(Math.pow(1+rateDouble, month)-1));

分类:

技术点:

相关文章:

  • 2021-12-20
  • 2021-12-20
  • 2021-12-20
  • 2021-12-12
  • 2021-12-10
  • 2021-12-10
  • 2022-01-10
  • 2021-12-20
猜你喜欢
  • 2021-06-26
  • 2021-11-17
  • 2021-12-02
  • 2022-12-23
  • 2021-12-20
相关资源
相似解决方案