等额本金和等额本息的计算

等额本金是:每次偿还的本金是相同的,但是由于利息逐渐递减,所以每次偿还的全部金额是依次递减的。

等额本息是:每次偿还的全部金额(本金+利息)是相同的,初期大部分偿还的利息。

我从网上找了一个计算器:

为了说明计算方式,假设贷款10w,年利率是6%, 还款时间30年。因为是每个月还款,所以折合到月利率是 0.5%,总计360个月。

等额本金的计算比较容易:

  1. 因为每个月本金还款一致,所以每个月偿还本金 10w/360 = 277.78
  2. 第一个月没有偿还本金,所以利息是 10w * 0.5% = 500
  3. 所以第一个月总共偿还 777.78元
  4. 第二个月因为上个月偿还了本金277.78, 所以利息是 (10w - 277.78) * 0.5 % = 498.61
  5. 所以第二个月总共偿还 498.61 + 277.78 = 776.39

paying-mortgage-0.jpg


等额本息的计算就稍微复杂一点,需要做一番公式推导如下:

设贷款总额为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]

In [22]: def f(P, r, n):
    ...:     a = (1 + r) ** n
    ...:     b = a - 1
    ...:     return P * r * a / b

In [23]: f(100000, 0.005, 360)
Out[23]: 599.5505251527569

如果带入其中的话 X = 599.55. 也就是每个月需要偿还599.55. 另外这599.55是如何分布的呢?

  1. 第一个月利息是500, 所以本金是99.55
  2. 第二个月利息是 (10w - 99.55) * 0.005 = 499.5, 所以本金是100.05

以此类推。可以看到还款初期都是在偿还利息而非本金。

paying-mortgage-1.jpg