买房是许多人生活中的一件大事。面对不断上涨的房价,可以说很少有人能全额买房。许多人需要抵押贷款来买房,这意味着他们需要贷款来买房。那么,你会计算你的房贷月供吗?
回答这一个问题之前,我们首先需要明白一个概念:货币的时间价值。货币的时间价值就是说,现在的一元钱和一年后的一元钱是不相等的。为什么不相等呢?这是因为现在的一元钱,经过一定的投资活动,会取得一定的收益,这个收益使得今天的一元钱和一年后的一元钱不再相等。
举个例子,现在你有1元钱,年利率是10%,那么一年后,你可以收到1.1元钱,那么现在的一元钱就相当于一年后的1.1元钱。当然,这件事反过来理解,也是可以的:为了得到那个一年后的0.1元钱的利息收入,那么你现在需要投入1元钱,只不过在这种情况下,你把10%理解成贴现率更为合适。现在是只有一笔现金流,那么如果有多笔现金流该如何计算呢?
方法其实也非常简单,将每笔现金流贴现,再去加总就可以了。举个例子:一年后你可以收到1.1元钱,第二年年末你可以收到1.21元钱,利率为百分之十,问这两笔现金流的的现值是多少?答案是两元钱。如何计算呢?公式如下所示:
终于来到我们的正题了。房贷月供,其实你也可以理解成多笔现金流,你还的月供的现值之和应当等于你的贷款总额。比如说,你从银行贷了100万元,还款期限为20年,那么你每月该还多少呢?我们假定你每月的还款额是一个不变的常数,也就是你每月会给银行一笔定额的现金流。这个现金流是有时间价值的,你需要用贴现的方式计算出它的现值来。然后再将这多笔现金流的现值相加,这个和就是你从银行贷的款。还是这个例子,100万元,年利率为百分之六,贷款期限为20年,那么请问,每月该还多少?
首先,我们需要计算出月利率: 百分之六除以12,得到百分之零点五。设每一个月的还款额是X,根据我上面的叙述,我们可以得到这样一个等式:
把这个X解出来就可以了。如果人工解的话,其实还是很麻烦的。不过,我们有专业的计算器,可以帮助我们解决这一问题。使用计算器,计算出来的结果是X=7164.310585。也就是你每月需要还款7164.310585元钱。
计算这个月供,我还编写了一段代码。不过,它的计算结果不是很好,和计算器计算出来的结果有一定的差异。
mortgage=input("请您输入您的房价(10万元输入100000就可以):")
prop=input("请您输入首付比例(30%输入30就可以):")
rate=input("请您输入利率(输入年利率4%输入4就可以):")
year=input("请您输入贷款总时间(20年输入20):")
def loan(payment):
loan=0
for i in range(1,(eval(year)*12+1)):
loan+=payment/pow(1+eval(rate)/1200,i)
return loan
payment=eval(mortgage)*(1-eval(prop)/100)/(eval(year)*12)
while loan(payment)<eval(mortgage)*(1-eval(prop) p="" 100):<="">
payment=payment+0.5
print("您每月的月供为{0:.6f}".format(payment))
如今,人们懂了,一月的最低还款额是怎样推算出来的。如今,我们一起来表明一下,本钱和贷款利息的转变。按揭之中,一部分用于还款贷款利息,另一部分用来偿还本金。因为本金越来越少,那么利息也会越来越少,因此你的月供中还本金的部分就会越来越多。举个例子说明一下,你贷了一笔10000元的款,年利率为百分之五,分五年还清。每年还本金和利息的情况如下表所示:
时间还款总额还本金还利息剩余本金
第一年年末2309.7479811809.7479815008190.252019
第二年年末2309.7479811900.235380409.5126016290.016639
第三年年末2309.7479811995.247149314.5008324294.769490
第四年年末2309.7479812095.009507214.7384742199.759983
第五年年末2309.7479812199.759983109.9879990