贷款市场报价利率(LPR)由各报价行于每月20日(遇节假日顺延),以0.05个百分点为步长,向全国银行间同业拆借中心提交报价,全国银行间同业拆借中心按去掉最高和最低报价后算术平均,向0.05%的整数倍就近取整计算得出LPR,于当日9时30分公布,公众可在全国银行间同业拆借中心和中国人民银行网站查询。目前,LPR包括1年期和5年期以上两个品种。
如果您目前的个人房贷利率是在5年期贷款基准利率上打9折,那么按照目前5年期贷款基准利率计算,您的实际执行利率水平为4.41%(=4.9%×0.9)。根据人民银行〔2019〕30号公告,个人房贷转换前后利率水平保持不变。
(1)如果您选择转为固定利率,那么您的个人房贷在整个合同剩余期限内,都将执行4.41%这个利率。
(2)如果您选择转为参考LPR定价,您的个人房贷利率水平将按照“5年期以上LPR+(-0.39%)”确定。其中,-0.39是固定加点点差,根据当前实际执行利率(4.41%)与2019年12月公布的5年期以上LPR(4.8%)之间的差确定。转换后到第一个重定价日前,您的房贷利率还是4.41%,但计算方式变成了“LPR4.8%+(-0.39%)”;从第一个重定价日起,您的房贷利率就会变成“当时最新的5年期LPR+(-0.39%)”;以后每个重定价日都以此类推。
1、等额本息法:计算公式月还款额=本金*月利率*[(1+月利率)^n/[(1+月利率)^n-1];式中n表示贷款月数,^n表示n次方,如^240,表示240次方(贷款20年、240个月),月利率=年利率/12;总利息=月还款额*贷款月数-本金
2、等额本金法:计算公式:月还款额=本金/n+剩余本金*月利率;总利息=本金*月利率*(贷款月数/2+0.5)。
前提条件:贷款100w,贷款周期:30年,基准利率4.9%,LPR基准使用2019年12月公布的4.8%
计算不同折扣利率(上浮下浮利率情况),未来LPR利率情况下对贷款利率和月供影响
结果如下:
分析:截图是贷款100w,30年,打85折对比情况,如果贷款调整成LPR浮动利率,每年1月1日为更新日,2020年5月20日更新的5年期LPR利率是4.65%若该利率不变(即到12月也是该数值),则明年施行此利率,调整LPR浮动利率每月少缴月供87元,若LPR一直保持不变(当然不可能的)30年少缴3w左右。
中短期来看利率是下行的,如果这个下行时间持续比较长,那么会缓解贷款压力,但是利率是均值回复的,若有几年利率上涨会带来月供压力的风险,因为利率变更选择只有一次。所以如果是保守者就选择固定利率。
代码:
import numpy as np
import pandas as pd
def repayment_fun(loan_amount, current_benchmark_interest_rate, N=20):
"""
等额本息计算每月偿还金额,和总金额
:param loan_amount:贷款总金额
:param current_benchmark_interest_rate:当前基准利率
:param N:贷款周期
:return:
"""
month_rate = current_benchmark_interest_rate / 12
repayment = loan_amount * month_rate * (1 + month_rate) ** (N * 12) / (
(1 + month_rate) ** (N * 12) - 1)
return repayment, repayment * N * 12
def style_apply(series, colors, back_ground=''):
"""
:param series: 传过来的数据是DataFramt中的一列 类型为pd.Series
:param colors: 内容是字典 其中key 为标题名 value 为颜色
:param back_ground: 北京颜色
:return:
"""
series_name = series.name[0]
a = list()
# 为了给每一个单元格上色
for col in series:
# 其中 col 为pd.DataFrame 中的 一个小单元格 大家可以根据不同需求为单元格设置不同的颜色
# 获取什么一级标题获取什么颜色
if series_name in colors:
for title_name in colors:
if title_name == series_name:
back_ground = 'background-color: ' + colors[title_name]
# '; border-left-color: #080808'
a.append(back_ground)
return a
# 基准利率
benchmark_interest_rate = 4.9 * 0.01
# 折扣
discount = np.arange(0.7, 1.25, 0.05)
# LPR未来利率利率
lpr = np.arange(4, 6, 0.05) * 0.01
# 2019年12月LPR利率
base_lpr = 4.8 * 0.01
# 加点
diff = base_lpr - benchmark_interest_rate * discount
# 贷款
loan = 100 * 10000
# 期限
term = 30
data = []
for discount_item in discount:
diff = base_lpr - benchmark_interest_rate * discount_item
discount_rate = discount_item * benchmark_interest_rate
print(loan, discount_rate, term)
discount_repayment, discount_total_amount = repayment_fun(loan, discount_rate, term)
for lpr_item in lpr:
lpr_rate = lpr_item - diff
lpr_repayment, lpr_total_amount = repayment_fun(loan, lpr_rate, term)
data.append(
{"LPR利率": lpr_item, "折扣利率": discount_item, "浮动利率月供": round(lpr_repayment,2), "固定利率月供": round(discount_repayment, 2),
"月供差": round((lpr_repayment - discount_repayment), 2),
"累计少缴金额": round(lpr_total_amount - discount_total_amount, 2)})
output_data = pd.DataFrame(data)
output_data = output_data.style.background_gradient(cmap='gray_r')
output_data.to_excel('lpr.xlsx', index=None)