等额本息贷款月付款额的推导公式
因为最近准备买房,就对贷款还款方式进行了了解。等额本金还款比较容易计算,用总贷款额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));