房屋抵押贷款还款计算器,贷款还款计算器

几年前通过按揭贷款买了一套商品房。当时办理的是商业贷,由于自己的无知,加之自己想当然觉得公积金贷款手续比较麻烦,就主动放弃公积金贷款而全部采用了银行贷款。经过楼宇营销人员的耐心鼓动,那股工作热情深深地打动了我,就按照引导,一步一步办理了一系列手续。接下来的事情就是每月按时还房贷。最近我家老板问我了几个问题,把我引入了思考的浅滩:(1)等额本息还款与等额本金还款相比,哪个更划算?

几年前通过按揭贷款买了一套商品房。当时办理的是商业贷,由于自己的无知,加之自己想当然觉得公积金贷款手续比较麻烦,就主动放弃公积金贷款而全部采用了银行贷款。经过楼宇营销人员的耐心鼓动,那股工作热情深深地打动了我,就按照引导,一步一步办理了一系列手续。接下来的事情就是每月按时还房贷。

最近我家老板问我了几个问题,把我引入了思考的浅滩:

(1)等额本息还款与等额本金还款相比,哪个更划算?

(2)按揭月供对不对?

(3)目前还了多少本?还了多少息?

(4)目前还剩多少本钱没还?还剩多少息没还?

(5)提前还款哪个时间点最划算?

带着这几个问题,我再一次打开尘封已久的思维,尝试着学以致用。

首先说明,这几个问题我将分几篇来把它讲清楚。

本文仅讨论其中的一个方面的问题:等额本息还款。

1. 等额还款月供计算

顾名思义,就是从开始还款到最后还完, 每次所还款项金额都相同。通常,先取得贷款,随后按自然天数满月开始还款。我们不妨想象成为月初取得贷款,月末开始还贷。显然,这是一个已知“现值”求“年金”的问题。也可以理解为已知“终值”求“年金”的问题。如果对货币时间价值、现值、终值、年金的基本概念不清楚,建议您查阅《财务成本管理》等相关书籍或者baidu。我们不妨把等额还款过程用下面的图形来表示。

房屋抵押贷款还款计算器,贷款还款计算器

其中:

p:现值,即取得的银行贷款额。

F:终值,是p按照复利计算得到的值。

A:年金,是每期末给银行的还贷金额,即我们常说的月供。

n:还款期数。

同时,我们约定i为计息期利率。

根据货币时间价值的有关复利的计算方法,它们之间的关系为:

房屋抵押贷款还款计算器,贷款还款计算器

根据上面的关系,解出A:

房屋抵押贷款还款计算器,贷款还款计算器

房屋抵押贷款还款计算器,贷款还款计算器

显然,在上式中p,i,n均为已知。所以,很容易就能计算出月供额A。下面,我把它翻译成大家一看就能看懂的表述。

房屋抵押贷款还款计算器,贷款还款计算器

实际上,关于求解A的两个表达式中很清楚的给出了两种不同的计算途径。其一是根据已知的贷款现值p、计息期利率i、还款期数(计息期数)n就能求出A;另一种是根据贷款的终值F、计息期利率i、还款期数(计息期数)n求出A。

在财务管理中,我们把它们记为:

房屋抵押贷款还款计算器,贷款还款计算器

房屋抵押贷款还款计算器,贷款还款计算器

上式中:

房屋抵押贷款还款计算器,贷款还款计算器

,即投资回收系数;

房屋抵押贷款还款计算器,贷款还款计算器

,即偿债基金系数。

通过查“投资回收系数表”或者“偿债基金系数表”就很容易计算出月供A。

2.计算机程序实现

有了上面的计算过程分析,下面我直接给出实现“等额本息”还款的程序。

# -*- coding: utf-8 -*-
"""
Created on Mon May 23 16:26:56 2022
@author: zgr
p:108万
i:5.7%(年利率)
n:20年
"""
import numpy as np
import pandas as pd
# 等额本息每月还款额=贷款本金×[月利率×(1+月利率) ^ 还款月数÷{[(1+月利率) ^ 还款月数]-1}]
# 等额本金每月还款额=(贷款本金÷还款月数)+(贷款本金-以归还本金累计金额)×月利率
#               =(贷款本金÷还款月数)+贷款本金*[1-(还款月数-1)÷ 还款月数]×月利率
#月初贷,每月末还贷
p = float(input("请输入贷款金额(元):"))
n_year = int(input("请选择贷款期限(年): "))
n = int(n_year*12)
i_year = float(input("请输入贷款利率(年利率,小数):"))
i = i_year/12
p0 = p
month_temp = 0
month_list = []
month_accumulate = []
month_interest = []
p_remain = []
month_p_pay = []
# 等额本息月供
month_pay = p*(i*((1+i)**n ))/(((1+i)**n)-1)
# 每月还了多少本金?每月支付了多少利息?
for month in range(0,n):
    month_list.append(month_pay)    
    month_temp = month_temp+month_list[month]
    month_accumulate.append(month_temp)    
    month_interest.append(np.dot(p,i))    
    month_p_pay.append(month_pay - month_interest[month])     
    p = p - month_p_pay[month]    
    p_remain.append(p)
    #累计还本,累计付息
    np.cumsum(month_p_pay)
    np.cumsum(month_interest)
month_pay_accumu = list(zip(month_list,month_p_pay,month_interest,p_remain,np.cumsum(month_p_pay),np.cumsum(month_interest),month_accumulate))
equality_corpus_interest = pd.DataFrame(data=month_pay_accumu,columns=('month_pay','month_p_pay','month_interes_pay','p_remain','cumsum_p_pay','cumsum_interest','accumulate_pay')) 
format="{0:.02f}".format
equality_corpus_interest = equality_corpus_interest.applymap(format)
print("\n等额本息还款概要:=======================")
print("贷款总额(元):{:.2f}".format(p0))
print("贷款期限(年):{}".format(n_year))
print("贷款利率(年利率):{:.2%}".format(i_year))
print("每月月供(元):{:.2f}".format(month_pay))
print("累计偿还本金(元):{:.2f}".format(np.cumsum(month_p_pay)[-1]))
print("累计支付利息(元):{:.2f}".format(np.cumsum(month_interest)[-1]))
print("累计还款总额(元):{:.2f}".format(month_accumulate[-1]))
print("=========================================\n")
schedule = '等额本息还款计划.csv'
print("等额本息还款计划表已保存:{}\n".format(schedule))
equality_corpus_interest.to_csv(schedule)

3.计算结果

房屋抵押贷款还款计算器,贷款还款计算器

房屋抵押贷款还款计算器,贷款还款计算器

房屋抵押贷款还款计算器,贷款还款计算器

4.结果可视化呈现

(1)每月还本与每月付息关系图

import matplotlib.pyplot as plt
import numpy as np
# make data
x = range(n)
y1 = month_p_pay
y2 = month_interest
# plot
fig, ax = plt.subplots()
ax.plot(x, y1, linewidth=2.0,label='month_p_pay')
ax.plot(x, y2, linewidth=2.0,label='month_interest')
legend = ax.legend(loc='best', shadow=True, fontsize='x-large')
plt.show()
房屋抵押贷款还款计算器,贷款还款计算器

(2)累计还本与累计付息关系图

# make data
x = range(n)
y1 = np.cumsum(month_p_pay)
y2 = np.cumsum(month_interest)
# plot
fig, ax = plt.subplots()
ax.plot(x, y1, linewidth=2.0,label='cumsum_month_p_pay')
ax.plot(x, y2, linewidth=2.0,label='cumsum_month_interest')
legend = ax.legend(loc='best', shadow=True, fontsize='x-large')
plt.show()
房屋抵押贷款还款计算器,贷款还款计算器

5.结论

通过上面的结果和图形可知等,等额本息还款时:

(1)每月月供金额相等;所付利息逐期减少,所还本金逐期增加;

(2)在某一个时点之前,月供是“多付息少还本”;在这个时点之后,月供是“少付息多还本”。

(3)累计月供、累计付息持续单调递增,图形凹凸方向(二阶导数)呈现累计付息在到达某一个时点之后增速变缓。

(4)提前还款,越提早对个人越划算。即应该尽早还清。不存在“最划算”的点。

下一篇,尝试分享“等额本金”偿还按揭房贷。

房屋抵押贷款还款计算器,贷款还款计算器

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 anshangmeitousu@homevips.uu.me 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.anshangmei.com/7327.html