等额本息与等额本金

等额本息

假定贷款额度为M,月利率为a,还款周期为n个月。那么按照等额本息还款方式,每个月应该还多少钱呢?

设每月还款x元,那么第一次还款后,贷款(本金加利息)还剩:\(M(1 + a) - x\)元。

第二次还款后,贷款(本金加利息)还剩:\((M(1 + a) - x)(1 + a) - x = M(1 + a)^{2} - x(1 + a) - x\)元。

第三次还款后,贷款(本金加利息)还剩:\(((M(1 + a) - x)(1 + a) - x)(1 + a) - x = M(1 + a)^{3} - x(1 + a)^{2} - x(1 + a) - x\)元。

第n次还款后,贷款(本金加利息)还剩:\(M(1 + a)^{n} - x(1 + a)^{n - 1} - x(1 + a)^{n - 2} -······ - x(1 + a)^{2} - x(1 + a) - x\)元。

显然\(M(1 + a)^{n}\)后面的项是一个等比数列,经过整理之后得到:\(M(1 + a)^{n} - \frac {(1 + a)^{n} - 1} ax\)元。

等差数列求和公式:\(na_{1} + \frac {n(n - 1)}2d\) ,其中\(a_{1}\)为首项、n为数列中元素个数、d为公差。

等比数列求和公式:\(\frac {a_{1} - a_{n}·q}{1 - q}\) ,其中\(a_{1}\)为首项、q为公比。

由于第n次还款之后,剩余额度为0:\(M(1 + a)^{n} - \frac {(1 + a)^{n} - 1} ax = 0\),因此每月还款额度为:\(x = \frac {M(1 + a)^{n}a}{(1 + a)^{n} - 1}\)

总利息显然是:\(nx - M = \frac {Mn(1 + a)^{n}a}{(1 + a)^{n} - 1} - M\) ,因为每月还x元,还了n次。

如果贷款总额度为50万元,30年还清,年利率为5.9%,那么每个月要还多少钱呢?

# 30年还清,那么总共是n = 30 * 12 = 360个月
# 年利率为5.9%, 那么月利率为a = 0.059 / 12
# 直接代入公式计算
x = (
    ( 50e4 * (1 + 0.059 / 12) ** 360 * (0.059 / 12) )
    /
     ( (1 + 0.059 / 12) ** 360 - 1 )
    )
print(x)  # 2965.6825319460368
print(360 * x - 50e4)  # 567645.7115005732

可以看到每个月要还2965.7元,总利息是567645.7万元。

如果你熟悉numpy的话,里面直接给你封装了一个现成的方法。

import numpy as np

"""
rate:0.059 / 12
nper:30 * 12
pv:这里是贷了500000,所以钱是到自己兜里了,所以是正的
"""
print(np.pmt(0.059 / 12, 30 * 12, 50e4))  # -2965.6825319460368
# 说明每个月要支出,也就是给银行2965.6825319460368元

等额本金

第一次还款额:\(\frac Mn + Ma\)

第二次还款额:\(\frac Mn + (M - \frac Mn)a = \frac Mn + M(1 - \frac 1n)a\) ,因为是等额,所以每个月必须至少还\(\frac Mn\),利息则是总金额减去还款的金额(不包括利息)再乘以利率,所以等额本金是利息越还越少。

第三次还款额:\(\frac Mn + M(1 - \frac 2n)a\)

第n次还款额:\(\frac Mn + M(1 - \frac{n-1}n)a = \frac{Ma(n+1)}2 + M\)

还以上面的例子,那么总还款应该要还多少钱呢?

r = 50e4 * 0.059 / 12 * (360 + 1) / 2
print(r)  # 443729.1666666667
# 443729.1666666667是利息,再加上贷款总金额就是总共要还的钱了

所以等额本金的还款方式,还款总额是少于等额本息的,只是开始的压力会大一些;等额本息的还款方式,还款总额是多于等额本金的,只是开始的压力会小一些。

posted @ 2020-10-10 00:49  古明地盆  阅读(378)  评论(0编辑  收藏  举报