作者 | xiaoyu 来源 | Python数据科学

很多朋友留言说不知道房贷利率的不同归还方式是不是有套路,内心深表疑虑。我的第一反应是因为房贷很高,大家看到消费分期的套路自然而然就想到了房贷,很正常的事。毕竟消费分期只是小部分支付,而房贷是一个持久的,甚至一辈子的支出,多一点都可能就要一个家庭沉重的负担。因此本篇给大家解读一下房贷利率的故事,希望能够帮助正在或者即将买房的朋友们。

可能很多买过房、贷过款的朋友大概都知道怎么回事,但是我相信大部分人也没细研究过,而绝大部分人买房时更是任由房屋中介摆布,因为给了中介费相信他们可以算的明明白白,自己也就不过多深究了。但我觉得买房不是小事,真的有必要花些时间弄明白,尤其是贷款利率。

要说算利率,很简单。网上有很多现成的计算工具可以直接用,不过就像学机器学习一样,我不甘心只做个调包侠,所以对于利率的底层算法我还是想和大家分享一下,最后通过手撸Python完成计算,让大家彻底明白房贷到底是怎么回事。

房贷利率

我们买房贷款时银行通常会提供两种还款方式:等额本息,等额本金。我们就以在商业贷款的背景下,分别介绍这两种还款方式,然后再进行对比和验证。

等额本金

等额本金指每个月还的本金都是一样的,但是利息是动态变化的,随着我们每期归还本金而不断递减。

比如我要在北京买一套房,商业贷款200万不过分吧!假设贷款年利率为6%,期限30年,那么等额本金情况下每个月需还款200万/360月,即约0.55万/月。刚才说了,利息是动态变化的,也就是说银行每月会在剩余应还本金的基础上去计算利率,是一个动态的过程。公式如下:

有的朋友说了觉得这样说也不是很直观,那我直接来撸一段代码以表我的respect。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use(“fivethirtyeight”)
sns.set_style({‘font.sans-serif’:[‘simhei’,‘Arial’]})
%matplotlib inline

loan = 2000000 # 贷款金额
annualRate = 0.06 # 贷款年利率
monthRate = annualRate/12 # 贷款月利率
period = 30 # 贷款期限30年

每月应还本金

monthPrincipalPayment = [loan/(period*12)]period12

每月应还利息

monthInterestPayment = [(loan - loann/(period12))monthRate+loan/(period12) for n in range(1,period*12+1)]

还款期数

month = [n for n in range(1,period*12+1)]

f,ax=plt.subplots(figsize=(20,8))
l1 = plt.bar(month,monthInterestPayment,color=‘b’,width=0.4)
l2 = plt.bar(month,monthPrincipalPayment,color=‘r’,width=0.4)
plt.xlabel(u’还款期数(月)’, size=20)

设置y轴标签

plt.ylabel(‘还款金额(元)’, size=20)

设置标题

plt.title(u’等额本金’, size=20)
#刻度字体大小20
plt.tick_params(labelsize=20)

设置注解狂

plt.legend(handles = [l1, l2,], labels = [‘利息’, ‘本金’], loc = ‘best’,fontsize=20)
plt.show()
等额本金方式下的利息总和为 1795000元。以下是运行出来的结果,蓝色代表利息,红色代表本金。每月应还本金不变,应还利息逐渐较少。

等额本息

等额本息是指还款总额(本金+利息)均等地分摊到每个月,即每个月的本息还款额都是一样的。

那么分摊的每月还款额是怎么计算的呢?计算稍微有点复杂,但也不难,就是把均摊还款额作为一个未知参数,然后通过公式推导法推导出它的表达式,如下:

这种方式下,每个月的剩余还款额都是在上个月剩余应还本息和的基础上计算当月产生的本息和,再减掉每月应还等额款X而完成的。用Python计算结果如下:

首月应还利息

firstMonthInterest = loan*monthRate

每月应还本息

monthPayment = (loanmonthRate(1+monthRate)**360)/((1+monthRate)**360-1)

print(“等额本息每月应还{}”.format(round(monthPayment,2)))
根据上面公式可以计算出等额本息下每月应还本息金额(X):11991.01元。

这11991.01元当中包括了本金和利息,那么我想知道利息到底是怎么收的,每月都是多少?该怎么算?

很简单,迭代肯定是有一个初始值的,因此我们就以第一个月的应付利率为基准计算并往后迭代就可以了,这样之后每月的本金和利息都可以迎刃而解。

第一个月应还利息为:2000000 x 0.06 / 12 = 10000元,因此第一个月应还本金为11991.01-10000 = 1991.01元。

第二个月应还利息为:(2000000-11991.01)x0.06/12=9940.04元,因此第二个月应还本金为11991.01-9940.04=2050.97元。后面循环迭代即可。

找到了这个规律,我们同样用Python计算,代码如下:

loanPI = [loan*(1+monthRate)-monthPayment]

每期应还利息

loanInterest = [loanmonthRate]
for n in range(1, period
12):
loanPI.append((loanPI[n-1]*(1+monthRate)-monthPayment))
loanInterest.append(round(loanPI[n-1]*monthRate,2))

每期应还本金

loanPrincipal = [monthPayment-loanInterest[n] for n in range(0,len(loanInterest))]

f,ax=plt.subplots(figsize=(20,8))
l1 = plt.bar(month,monthPaymentList,color=‘b’,width=0.4)
l2 = plt.bar(month,loanPrincipal,color=‘r’,width=0.4)
plt.xlabel(u’还款期数(月)’, size=20)

设置y轴标签

plt.ylabel(‘还款金额(元)’, size=20)

设置标题

plt.title(u’等额本息’, size=20)
#刻度字体大小20
plt.tick_params(labelsize=20)

设置注解狂

plt.legend(handles = [l1, l2,], labels = [‘利息’, ‘本金’], loc = ‘best’,fontsize=20)
plt.show()
等额本息方式下的利息总和为 2316763.73元。以下是运行出来的结果,蓝色代表利息,红色代表本金。每月应还本息和是不变的,应还利息逐渐较少,应还本金逐渐增多。

两种还款方式对比和验证

以下是两种计算方式的还款金额对比,可以看到在我们选择的参数条件下等额本金比等额本息少了52万。

为啥差这么多?

因为等额本金就好比急着给银行还款,前期还的较多,利息就相对少了很多。下面是通过计算器得出的结果,和我们用Python计算的一致。

哪种贷款方式更优呢?

看到上面的结果,大家肯定想我肯定选择等额本金,少了52万!52万!52万!

然而现实情况是大多数人还是选择等额本息,为什么呢?我们对比看一下每月还款的趋势图,蓝色为等额本金,红色为等额本息。

看完以后知道了吧,等额本金总还款虽少,但开始每月还款很多,大概要到第130个月,也就是10年后的时候两种方式才会达到相等。

为什么很多人明知道等额本金利息少还要选择等额本息呢?

因为等额本金需要忍受前10年的高额月供啊!当然不缺钱的除外,不过不缺钱也就用不着贷款了,说明资金还是不够的。我仔细想了想,假如一个月税后工资15000,算上公积金3000的话,一个月什么都不干,工资净流出12000,就只剩3000了。加上另一半的工资一共还能有多少,在一线城市真的很难受,所以大家宁愿想过得舒服点,哪怕多还点钱也忍了。

有人说了自己会挣得越来越多,不是我悲观,前段时间的cy大家都知道的,未来的风险我们还是有必须要考虑一下的,拖家带口的不能孤注一掷。可别小看了高出的这几千元,那可是净流出啊,压死骆驼的最后一根稻草,当你工资不足以支撑的时候,估计500元你都得想半天。

哪种更优还是要结合自己的实际情况来看的,也不能一概而论,不过一般资金不是很充裕的情况下还是建议选择等额本息。

房贷利率有没有套路?

通过上面分析就显而易见了,房贷利率没有什么套路,无论是等额本息还是等额本金都是一样的,它们会每月动态计算利息,而不像分期一样每月所还利息按照初期本金计算不随本金较少而变化。下面是两种方式的每月应还利息变化。

两种方式每月利息都是随着本金变化而动态减少,所以说房贷的年化利率是多少就是多少,没什么套路一说,只不过是贷款时间长,利息高,给人一种不安全的感觉罢了。

房贷利率有无套路?Python解读“等额本金与等额本息”的差异所在相关推荐

  1. 房贷等额本金和等额本息有什么区别,为何很多人傻傻分不清?

    等额本金和等额本息是房贷最常见的两种还款方式,但两者却有很多差别,而且很多人对如何区分等额本息和等额本金云里雾里,傻傻分不清. 其实要区分等额本金和等额本息也很简单. 首先我们来说下等额本金. 所谓等 ...

  2. 等额本金VS等额本息

    升息尚无定论 个人房贷市场已现不小波澜 ? http://www.soufun.com 房地产门户-搜房 2004-08-17 11:13:00.0? ? 地产资讯播报:http://news.sh. ...

  3. 等额本金、等额本息,两者到底怎么区分?

    等额本金和等额本息是房贷最常见的两种还款方式,但两者却有很多差别,而且很多人对如何区分等额本息和等额本金云里雾里,傻傻分不清. 其实要区分等额本金和等额本息也很简单. 首先我们来说下等额本金. 所谓等 ...

  4. 等额本金,等额本息,随借随还,利随本清,按月付息到期还本,5种还款方式java计算方法

    等额本金,等额本息,随借随还,利随本清,按月付息到期还本,5种还款方式java计算方法 等额本息定义:本金逐月递增,利息逐月递减,月还款数不变. 等额本金定义:本金保持相同,利息逐月递减,月还款数递减 ...

  5. 贷款还款方式(等额本金,等额本息,等本等息,先息后本)

    等额本金 月还款总额逐月降低 月还款本金固定,为贷款总金额÷期数 月还款利息逐渐降低,为每月剩余贷款余额×单期利息 图例: 本金10000 月息1% 贷款12期 月还款本金=10000÷12=833. ...

  6. 等额本金和等额本息的区别

    等额本金和等额本息都是贷款常见的还款方式,但两者指间的区别是很大的.以下就是等额本金和等额本息的五大区别: 一.等额本息与等额本金的定义: 等额本金通俗点讲就是每月偿还的本金是相同的,每月偿还的本金数 ...

  7. 等额本金和等额本息两种贷款方式的比较

    等额本金和等额本息两种贷款方式的对比 本文介绍两种还款方式:等额本金.等额本息.通过分析认为等额本金的偿还方式更加划算. 等额本金:每个月偿还相同本金分额,并且支付上个月剩余本金产生的利息. 等额本息 ...

  8. 等额本金和等额本息是怎么算出来的

    今天的问题与大家的日常生活紧密相关.如果你购买房子,通常会有银行贷款.银行计算贷款利息的主要方式有两种:等额本金和等额本息. 等额本金,是指每个月你还固定数量的本金,利息则根据贷款余额和月利率另算.比 ...

  9. [转]详细说明等额本金和等额本息的计算方式与利弊

    关于利率表请查看以下的帖子,这里只给举出例子,相信大家看后都可以自己计算了. 注: 1.贷款年限5年以上的年利率一律为5.4%. 2.月利率等额本金与等额本息的都一样为0.0042. 3.以贷款20万 ...

最新文章

  1. 调用settings中的常数
  2. zookeeper分布式锁代码实例
  3. Linux(一) 概述 、 系统安装与分区
  4. java定义基础变量语句_java语言基础-变量
  5. React开发(211):react中refs转发到dom组件
  6. C# 依据KeyEventArgs与组合键字符串相互转换
  7. VituralBox从零搭建基于CentOS 7(64位)的Kubernetes+docker集群
  8. Oracle11g 配置 ST_GEOMETRY
  9. Java 内存管理、JVM 工作原理与 Java 运行时系统
  10. HTML5 新属性的讲解
  11. iOS开发中的火星坐标系及各种坐标系转换算法
  12. 受保护的Word文档如何编辑?
  13. editplus java显示竖线_EditPlus对齐竖线怎么调出来?
  14. day21-学习总结
  15. 用python解答计算小明成绩提升的百分点
  16. 假如ACMer有技能,你会选择哪个职业..
  17. reverse方向入门过程
  18. iphone 刷机遇到的一些名词解释
  19. 工厂废品小爱同学mini的重生(3)——— Uboot和硬改SD卡
  20. 【插值与拟合】黄河小浪底调水调沙问题

热门文章

  1. 差分隐私(DP)中隐私预算ε的理解
  2. 我的App-帝都地铁
  3. #500-7 [编程作业]3_4 念整数
  4. iPhone访问Ubuntu网络共享文件夹
  5. 一个菜鸟管理的学习和思考(二)
  6. 阿里巴巴巨震,堪比地震
  7. 2014 BUPT 新生排位赛07
  8. 在HTML中插入SVG的几种方式
  9. BufferedInputStream。。。。。。。BufferedReader和BufferedWriter
  10. MAC中文版 FCPX V10.6.5 专属视频剪辑后期工具及其插件安装使用教程