先息后本计算器2024最新版,贷款利息先息后本计算器

法律普法百科 编辑:孔雯

先息后本计算器2024最新版,贷款利息先息后本计算器

大家好,由投稿人孔雯来为大家解答先息后本计算器2024最新版,贷款利息先息后本计算器这个热门资讯。先息后本计算器2024最新版,贷款利息先息后本计算器很多人还不知道,现在让我们一起来看看吧!

先息后本计算器在线计算

本文分享自华为云社区《房贷计算器-从原理、计算到提前还款和可视化-云社区-华为云》,作者: 蜉蝣与海 。

摘要:最近各地楼市震荡不断,不少银行纷纷降息,随后更是引发了一波提前还款的大潮。通过楼市小程序上贷款计算器等工具人们可以很容易的了解每期还款本金、不同还款方式的利息差异、提前还款节省利息等问题。了解这些工具的计算原理,可以做到心中有数,临危不慌。本文已发布至华为云生态社区AI Gallery,文中涉及所有代码可以直接通过页面进入云上Code Lab运行,欢迎开发者前往体验。

前言

最近各地楼市震荡不断,2022年12月份以来不少银行纷纷降息,随后更是引发了一波提前还款的大潮。不少地区楼市相关的微信小程序也自带了贷款计算器、提前还款计算器等工具,通过这些工具人们可以很容易的了解每期还款本金、等额本金/本息的利息差异、提前还款节省利息的问题。

了解这些计算工具的相关原理,可以做到心中有数,临危不慌。

本文对应代码和脚本发布至华为云生态社区AI Gallery:贷款计算器-从原理、公式到提前还款和可视化→AI Gallery_Notebook详情_开发者_华为云,欢迎开发者前往体验,文中涉及所有代码可以直接通过页面进入Model Arts Code Lab运行。使用该脚本稍加修改后即可尝试开发一个适合自身地区政策的贷款计算&提前还款小程序。本文只是研究贷款生成、提前还贷方面的相关计算原理,不构成任何投资理财方面的建议。先来看个使用工具计算提前还款的效果

先来看个使用工具计算提前还款的效果,再来探讨相关原理。

贷款87.5万,利率4.9%还20年,使用等额本息的方式,在第13个月提前还10万,使用月供不变年限缩短方式,在CodeLab中运行下述程序后可以计算提前还款节省利息,和微信上提前还款小程序计算结果一致:

a, b, c, d, e = extraPaidWithFixedPaid(12 * 20, 875000, 0.049, False, [(13, 100000)])drawDiagramExtraPaid(12 * 20, a, b, d, e)drawTableExtraPaid(12 * 20, a, b, c, d, e)[10:20]




如图,缩短了40个月(3年4个月)账期,次月还款额以及节省利息等都与小程序计算一致。

如何计算利息背景:等额本金和等额本息的共同点

了解过贷款的小伙伴都知道,贷款有等额本金和等额本息这两种方式,前者每月还款的本金相同,利息逐月递减;后者每月还款额相同,刚开始还款时利息还的多,后面本金还的逐渐增多。参考网上讨论利息计算的诸多文章,两个模型理论上,都有下列共同特点:

利息按月利率计算,一月一期按期还款情况下当月应还利息只由未还完的本金决定每月还款额除了未还本金产生的全部利息外,剩下的金额应该全部用于偿还本金

像最近部分银行提出的先息后本(先还利息若干年,最后一次性偿还本金)则不符合这个条件。

还款额的计算

知乎文章为什么买房贷款,最好选择等额本金?中提到了一个例子:

前阵子,院长有位朋友在惠州买了套120平米的房,总价125万左右,大约贷了87.5万。
办房贷的时候,他听从销售的建议,选了【等额本息】的还款方式。每个月固定还5726.39元。这个还款额度在他的承受范围之内,因此就选了。
那假如选择等额本金呢?第一个月要还的金额为7218.75元,此后每个月少还14.89元,直至20年后还完。

通过描述可知,贷款87.5万,贷20年,等额本息每月还款5726.39元,等额本金首月还款7218.75元。假设文中的贷款未使用公积金,计算时利率为固定利率,根据网上的贷款计算器可知此时的贷款年利率为4.9%。

以这个例子为例,简单说明等额本金和等额本息的计算方法:

首先贷20年,按月分期,贷款为

20∗12=240期。

年利率4.9%,月利率为

0.049÷12=0.004983 即0.4083%。

等额本金 情况下:

每月应还本金=总本金÷期数

每月应还利息=剩余本金×月利率

每月还款额=每月应还本金+每月应还利息

在这个例子中:

每月应还本金为
875000÷240=3645.83元首月应还利息为
875000×0.4083元首月应还:
3645.83+3572.92=7218.75元。第2月剩余本金为
875000−3645.83=871354.17元。第2月应还利息为
871354.17×0.4083元。第2月应还:
3645.83+3558.03=7203.86元。

将这段逻辑抽象为代码有:

import matplotlib.pyplot as pltimport numpy as npdef averageCapital(months, principal, rate): month_rate = rate / 12 monthly_capital = principal / months interests = [0] * months capitals = [0] * months left_principal = [0] * months left_principal[0] = principal total_payment = [0] * months for i in range(0, months): interests[i] = left_principal[i] * month_rate capitals[i] = monthly_capital total_payment[i] = monthly_capital + interests[i] if i + 1 < months: left_principal[i + 1] = left_principal[i] - monthly_capital return capitals, interests, total_payment

为了便于查看再封装一个打印成表格的函数:

import pandas as pddef drawTable(months, fn, *args, **kwargs): capitals, interests, total_payment = fn(months, *args, **kwargs) paid_capital = [0] * months paid_interests = [0] * months paid_capital[0] = capitals[0] paid_interests[0] = interests[0] for x in range(1, months): paid_capital[x] = paid_capital[x - 1] + capitals[x] paid_interests[x] = paid_interests[x - 1] + interests[x] origin = pd.DataFrame([total_payment, capitals, interests, paid_capital, paid_interests]) return pd.DataFrame(origin.values.T, columns=['还款额','还款本金','还款利息','已还本金','已还利息'], index=np.arange(1, months + 1))

我们运行一下知乎上的例子,看看头几年还款的本金、利息等:

pd.options.display.float_format = '{:.2f}'.formatdrawTable(12 * 20, averageCapital, 875000, 0.049)[0:10]


可以看到和文中描述一致,使用微信房小团小程序,也可以打印出一致的结果。
等额本息 的计算方法有些复杂,参考用Python深度解读房贷利率文中的解法,设A为本金,第i个月月末所欠银行本金为Ai,每月所还贷款总额为X,月利率为β, 则有:

由于最后一期时剩余本金为0,可反解得:

这里m为总期数(在刚刚的例子中,m=240)。而后就可以使用与等额本金计算中类似的逻辑,从第一期所还利息开始,反推每期的利息与本金。具体代码如下:

def averageCapitalPlusInterest(months, principal, rate): month_rate = rate / 12 monthly_payment = principal * month_rate * (1 + month_rate) ** months / ((1 + month_rate) ** months - 1) interests = [0] * months capitals = [0] * months left_principal = [0] * months left_principal[0] = principal total_payment = [0] * months for i in range(0, months): total_payment[i] = monthly_payment interests[i] = left_principal[i] * month_rate capitals[i] = total_payment[i] - interests[i] if i + 1 < months: left_principal[i + 1] = left_principal[i] - capitals[i] return capitals, interests, total_payment

我们运行一下知乎上的例子,看看等额本息模式下第8年附近,到底还了多少利息和本金:

drawTable(12 * 20, averageCapitalPlusInterest, 875000, 0.049)[90:100]


可以看到第96期(第8年年终)时,本金还了25万,但利息已经还了近30万了,和之前文中例子的数据是可以对得上的。

还款可视化

刚刚我们已经将还款的各项数据以表格的形式打印。此外我们还可以借助python的能力,打印还款的柱状图。

import numpy as npdef printStatistics(capitals, interests, total_payment, months): print("总本金:" + str(np.sum(capitals))) print("总利息:" + str(np.sum(interests))) print("总利息/总本金" + str(np.sum(interests)/np.sum(capitals))) print("首月还款 %.2f 末月还款: %.2f" % (total_payment[0], total_payment[months - 1]))def drawDiagram(months, fn, *args, **kwargs): capitals, interests, total_payment = fn(months, *args, **kwargs) printStatistics(capitals, interests, total_payment, months) month_array = np.arange(1, months + 1, 1) height = interests plt.bar(month_array, capitals, width=0.2, align='center', color='red') plt.bar(month_array, interests, width=0.2, align='center', color='blue', bottom=capitals) plt.show()

再跑一下知乎的例子,绘制等额本金和等额本息的还款柱状图:

drawDiagram(12 * 20, averageCapital, 875000, 0.049)

如图,蓝色是所还利息,红色是所还本金。可以看出本金每月不变,利息逐月递减的特征。

等额本息情况下:

drawDiagram(12 * 20, averageCapitalPlusInterest, 875000, 0.049)

也能看出所绘图形和等额本息的含义基本一致。

另外部分城市可以公积金贷款,以杭州为例,目前杭州公积金充足情况下可贷50w-60w,这里考虑一下公积金的情况:

def averageCapitalWithPublicFund(months, principal1, rate1, principal2, rate2): a, b, c = averageCapital(months, principal1, rate1) a1, b1, c1 = averageCapital(months, principal2, rate2) return np.sum([a,a1],axis=0).tolist(), np.sum([b,b1],axis=0).tolist(), np.sum([c,c1],axis=0).tolist()

drawTable(12 * 20, averageCapitalWithPublicFund, 700000, 0.041, 300000, 0.031)[0:10]


这里算了下商贷70w(利率4.1%),公积金贷30w(利率3.1%)下组合贷款的情况,和微信小程序房小团的计算是一致的。

提前还款相关原理

再来讨论下提前还款。如果知乎文中买房的那位,在贷款1年后提前还款10w会怎样呢?了解一点背景知识的朋友,都知晓提前还款分两种情况:

年限不变,月供减少年限缩短,月供不变

现在分情况讨论,并给出计算函数。

注:notebook中所有计算结果均在微信房小团小程序上得到互相验证。

年限不变,月供减少

这种情况下,相当于在提前还款月之后重新做了一次贷款。我们首先对刚刚的计算函数进行一定的简化,抽象一下公共的部分。

def normalPaid(months, principal, rate, capitalAveraged): month_rate = rate / 12 monthly_capital = principal / months monthly_payment = principal * month_rate * (1 + month_rate) ** months / ((1 + month_rate) ** months - 1) interests = [0] * months capitals = [0] * months left_principal = [0] * months left_principal[0] = principal total_payment = [0] * months for i in range(0, months): interests[i] = left_principal[i] * month_rate if capitalAveraged: capitals[i] = monthly_capital total_payment[i] = monthly_capital + interests[i] else: total_payment[i] = monthly_payment capitals[i] = total_payment[i] - interests[i] if i + 1 < months: left_principal[i + 1] = left_principal[i] - capitals[i] return capitals, interests, total_payment

drawTable(12 * 20, normalPaid, 875000, 0.049, False)[10:14]

drawTable(12 * 20, normalPaid, 875000, 0.049, True)[10:14]

可以看到抽象出公共结构后,前后的计算结果并没有发生变化。

考虑年限不变提前还款的情况,这里将每次提前还款的时间和金额组成python的元组,若干个(账期,还款金额)元组组成一个list输入函数。函数首先计算正常情况下的还款信息,而后根据提前还款信息,修改提前还款日的剩余本金,并从各个提前还款日重新计算剩余还款。

def extraPaidWithFixedPeriod(months, principal, rate, capitalAveraged, extraPaidList :list): capitals, interests, total_payment = normalPaid(months, principal, rate, capitalAveraged) extraPaidList.sort(key=lambda x:x[0]) originCapital, originInterests, originTotal = capitals.copy(), interests.copy(), total_payment.copy() left_principal = [0] * months left_principal[0] = principal for x in range(0,months): if x < months - 1: left_principal[x + 1] = left_principal[x] - capitals[x] def normalPaidOffset(left_months, principal, rate, capitalAveraged, offset): month_rate = rate / 12 monthly_capital = left_principal[offset] / left_months monthly_payment = left_principal[offset] * month_rate * (1 + month_rate) ** left_months / ((1 + month_rate) ** left_months - 1) for i in range(0, left_months): interests[offset + i] = left_principal[offset + i] * month_rate if capitalAveraged: capitals[offset + i] = monthly_capital total_payment[offset + i] = monthly_capital + interests[offset + i] else: total_payment[offset + i] = monthly_payment capitals[offset + i] = total_payment[offset + i] - interests[offset + i] if i == 0: print("次月还款 %.2f" % total_payment[offset + i]) if offset + i + 1 < months: left_principal[offset + i + 1] = left_principal[offset + i] - capitals[offset + i] return for x,y in extraPaidList: capitals[x] = capitals[x] + y left_principal[x + 1] = left_principal[x] - capitals[x] total_payment[x] = capitals[x] + interests[x] print("当月需还 %.f 剩余本金 %.f" %(total_payment[x], left_principal[x + 1])) normalPaidOffset(months - x - 1, left_principal[x + 1], rate, capitalAveraged, x + 1) printStatistics(originCapital, originInterests, originTotal, months) print("") printStatistics(capitals, interests, total_payment, months) print("节省利息 %.2f" % (np.sum(originInterests) - np.sum(interests))) return capitals, interests, total_payment, originTotal, originInterests

再定义几个函数对提前还款节省的利息进行可视化。

def drawDiagramExtraPaid(months, capitals, interests, originalTotal, originalInterests, showOriginTotal=True): month_array = np.arange(1, months + 1, 1) capital_with_origin_interest = [0] * months height = interests for x in range(1, months): capital_with_origin_interest[x] = capitals[x] + originalInterests[x] l1 = plt.bar(month_array, originalTotal if showOriginTotal else capital_with_origin_interest, width=0.2, align='center', color='yellow') l2 = plt.bar(month_array, capitals, width=0.2, align='center', color='red') l3 = plt.bar(month_array, interests, width=0.2, align='center', color='blue', bottom=capitals) # plt.legend(handles = [l1, l2,l3], labels = ['每月少还' if showOriginTotal else '节省利息', '本金','利息'], loc = 'best',fontsize=20) plt.ylim(0, (capitals[0]+interests[0])*1.1) plt.show()def drawTableExtraPaid(months, capitals, interests, total_payment, originalTotal, originalInterests): paid_capital = [0] * months paid_interests = [0] * months saved_money = [0] * months paid_capital[0] = capitals[0] paid_interests[0] = interests[0] for x in range(1, months): paid_capital[x] = paid_capital[x - 1] + capitals[x] paid_interests[x] = paid_interests[x - 1] + interests[x] saved_money[x] = saved_money[x - 1] + (originalInterests[x] - interests[x] ) origin = pd.DataFrame([total_payment, capitals, interests, paid_capital, paid_interests,saved_money]) return pd.DataFrame(origin.values.T, columns=['还款额','还款本金','还款利息','已还本金','已还利息','累计节省'], index=np.arange(1, months + 1))

通过参数showOriginTotal的取值,可以分别绘制每月少还的钱与当月节省利息的情况。下面分别绘制了等额本金和等额本息情况下,87.5万贷20年,在第一年还10万后还款和利息的变化情况。

a, b, c, d, e = extraPaidWithFixedPeriod(12 * 20, 875000, 0.049, True, [(13,100000)])drawDiagramExtraPaid(12 * 20, a, b, d, e)drawDiagramExtraPaid(12 * 20, a, b, d, e, False)drawTableExtraPaid(12 * 20, a, b, c, d, e)[10:20]

a, b, c, d, e = extraPaidWithFixedPeriod(12 * 20, 875000, 0.049, False, [(13,100000)])drawDiagramExtraPaid(12 * 20, a, b, d, e)drawDiagramExtraPaid(12 * 20, a, b, d, e, False)drawTableExtraPaid(12 * 20, a, b, c, d, e)[10:20]



可以很方便地看出节省利息在每个月还款额中的比重。

月供不变,年限缩短

这种情况下提前还款导致后续每个月产生的利息少了,但是月供没变,相当于后续每个月额外多还了本金。但是在各类提前还款计算器的计算中,月供并不是和之前相同的,经过反复的计算后和网上的贷款计算器结果最终一致,发现各类提前还款计算器隐含了下列约束:

提前还款相当于用剩余本金新做一个贷款。“月供”不是真的不变。而是通过缩短年限方式,使得新贷款首月月供尽可能和当前月供相当。如果是等额本金模式,新贷款首月月供中,偿还本金并未增多,需要略低于上月偿还本金,等额本息模式则无此约束。

想想这个逻辑也有道理,如果真的“月供不变”,那么等额本金模式下提前还款后,后续每个月偿还的本金都会比新做贷款的偿还的本金多,相当于后续每个月都在提前还款,后续每个月月供本金就不能称为“等额”了。
我们下面先写个求解首月月供的函数,以及通过缩短年限逼近上月月供总额和月供本金的函数。而后计算“月供不变,年限缩短”模式下节省的具体利息。

def getFirstPaid(months, principal, rate, capitalAveraged): month_rate = rate / 12 monthly_capital = principal / months monthly_payment = principal * month_rate * (1 + month_rate) ** months / ((1 + month_rate) ** months - 1) interests1 = principal * month_rate if capitalAveraged: return monthly_capital + interests1, monthly_capital else: return monthly_payment, monthly_payment - interests1

def getLeftMonths(leftMonthsMax, capitalPaidMax, paidMax, leftPrincipal, rate, capitalAveraged): lastPaid, lastCapitalPaid, lastMonths = 0, 0, 0 for i in range(leftMonthsMax, 1, -1): paid, capitalPaid = getFirstPaid(i, leftPrincipal, rate, capitalAveraged) if paid > paidMax or (capitalAveraged and capitalPaid > capitalPaidMax): return lastMonths, lastPaid, lastCapitalPaid else: lastPaid, lastCapitalPaid, lastMonths = paid, capitalPaid, i

def extraPaidWithFixedPaid(months, principal, rate, capitalAveraged, extraPaidList: list): capitals, interests, total_payment = normalPaid( months, principal, rate, capitalAveraged) extraPaidList.sort(key=lambda x: x[0]) originCapital, originInterests, originTotal = capitals.copy(), interests.copy(), total_payment.copy() left_principal = [0] * months left_principal[0] = principal for x in range(0, months): if x < months - 1: left_principal[x + 1] = left_principal[x] - capitals[x] def normalPaidOffset(left_months, principal, rate, capitalAveraged, offset, left_months2): month_rate = rate / 12 monthly_capital = left_principal[offset] / left_months monthly_payment = left_principal[offset] * month_rate * (1 + month_rate) ** left_months / ((1 + month_rate) ** left_months - 1) for i in range(0, left_months): interests[offset + i] = left_principal[offset + i] * month_rate if capitalAveraged: capitals[offset + i] = monthly_capital total_payment[offset + i] = monthly_capital + interests[offset + i] else: total_payment[offset + i] = monthly_payment capitals[offset + i] = total_payment[offset + i] - interests[offset + i] if i == 0: print("次月还款 %.2f" % total_payment[offset + i]) if offset + i + 1 < months: left_principal[offset + i + 1] = left_principal[offset + i] - capitals[offset + i] for i in range(left_months, left_months2): interests[offset + i] = 0 capitals[offset + i] = 0 total_payment[offset + i] = 0 return realMonth = months for x, y in extraPaidList: capitalParam = capitals[x] capitals[x] = capitals[x] + y left_principal[x + 1] = left_principal[x] - capitals[x] total_payment[x] = capitals[x] + interests[x] maxMonth, maxPaid, maxPaidCapital = getLeftMonths(months - x - 1, capitalParam, total_payment[x - 1], left_principal[x + 1], rate, capitalAveraged) normalPaidOffset(maxMonth, left_principal[x + 1], rate, capitalAveraged, x + 1, months - x - 1) realMonth = x + 1 + maxMonth print("当月需还 %.2f 剩余本金 %.2f 下月需还:%.2f 原本剩余账期:%d,当前剩余账期:%d, 账期缩短:%d" %(total_payment[x], left_principal[x + 1],total_payment[x + 1], months - x - 1,maxMonth, months - x - 1 - maxMonth)) printStatistics(originCapital, originInterests, originTotal, months) print("") printStatistics(capitals, interests, total_payment, realMonth) print("节省利息 %.2f" % (np.sum(originInterests) - np.sum(interests))) return capitals, interests, total_payment, originTotal, originInterests

a, b, c, d, e = extraPaidWithFixedPaid(12 * 20, 875000, 0.049, True, [(13, 100000)])drawDiagramExtraPaid(12 * 20, a, b, d, e)drawTableExtraPaid(12 * 20, a, b, c, d, e)[10:20]

a, b, c, d, e = extraPaidWithFixedPaid(12 * 20, 875000, 0.049, False, [(13, 100000)])drawDiagramExtraPaid(12 * 20, a, b, d, e)drawTableExtraPaid(12 * 20, a, b, c, d, e)[10:20]

可以看出,虽然缩短年限的本质也是重新做一次贷款,但确实可以节省很多利息。

小结

本文初稿写于华为云AI-Gallery贷款计算器-从原理、公式到提前还款和可视化,通过页面进入CodeLab可以直接在界面上调整参数进行房贷利息、提前还款等相关计算,计算过程原理直观,配合可视化方便理解,欢迎开发者前往体验。

整篇文章带大家了解了不同房贷贷款方式的差异,以及对房贷利息计算、提前还款的原理做了较为细致的剖析和数据可视化。后续在面对贷款利息计算的问题时,可以直面原理、心中有数、临危不慌。

参考资料

[1]用Python深度解读房贷利率(https://mp.weixin.qq.com/s/hdRb4b7ufYd-hujV1TKHZg)

[2]为什么买房贷款,最好选择等额本金?

[3]杭州房小团微信小程序-贷款计算

[4]杭州房小团微信小程序-提前还款

点击下方,第一时间了解华为云新鲜技术~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

#华为云开发者联盟#

消费贷先息后本计算器

一、贷款利率

目前1年期的贷款基准利率为3.65%,假设该银行贷款利率在LPR基础上上浮25个基点,则贷款利率=3.65%+(25*0.0001)=3.9%。

二、还款方式

贷款年限为1年时,常见的还款方式有等额本金、等额本息、先息后本。

1、等额本金还款:每月还款的本金相等,但每月还款额及每月应还利息会随着每月本金的归还而逐渐递减,也就是首月月供最多、末月月供最少。

2、等额本息还款:每月还款金额相等,但其中本金与利息的分配却不相同,本金是由少至多递增,利息是由多至少递减,两者之和使每月月供相等。

3、先息后本还款:每个月只支付贷款利息,等贷款到期,再支付最后一期的利息和归还全部的贷款本金。

三、计算公式

1、等额本金:利息=(12+1)*贷款本金*贷款月利率/2。

2、等额本息:利息=12*[贷款本金*月利率*(1+月利率)^12]÷[(1+月利率)^12-1]-贷款本金,其中符号“^”代表乘方计算,比如“2^12”就代表数字2需要重复相乘12次,可以借助计算器计算结果。

3、先息后本:利息=贷款本金*贷款年利率。

四、具体计算

还款期数=1*12=12,贷款月利率=3.9%/12=0.325%。

1、等额本金利息=(12+1)*100000*0.325%/2=2112.5元;

2、等额本息利息=12*[100000*0.325%*(1+0.325%)^12]÷[(1+0.325%)^12-1]-100000=2125.04元。

3、先息后本利息=10000*3.9%=3900元。

五、计算分析

从计算结果中我们可以看出,在贷款利率确定的情况下,正规银行贷款10万一年先息后本还款方式产生的利息最高,为3900元;等额本息和等额本金还款方式产生的利息较少,其中等额本息产生的利息为2125.04元,等额本金产生的利息为2112.5元。

所以在我们选择还款方式时,可以优先选择等额本金的还款方式,这样贷款产生的利息最少。

个人贷款先息后本计算器

“事实上,只有低于收入合理比例的房贷支出才是好的杠杆。”

——夏春

文 / 巴九灵(微信公众号:吴晓波频道)

房地产卖场里的618,比电商更精彩。

投身其中,可听取此起彼伏的吆喝声一片:

“只要一元,先给一元,就能买房。”

“买房了买房了,最低每月先给6000就行!”

“等交付,等装修,房子住进去了再还钱!”

“我们这里首付只要7.5%,帅哥美女快来看看啊!”

但和电商的境遇一样,叫卖声的对面,是一群拿着计算器、捧着草稿纸,眼神里充满质疑的购房者。


一只重现江湖的“气球”


旧闻总能再变新闻。

“在华尔街投行绞尽脑汁考虑如何走出次级房贷阴影的同时,中资银行则开始了个人房贷产品的大比拼,‘双周供’‘接力贷’‘气球贷’等等名目的房贷产品花样翻新。”

如果不是前半句“次级房贷”一词暴露了年龄,有的人或许会误以为这则新闻,描述的是当下。

5月28日,平安银行官方号发布了一款名为“气球贷”的产品,从宣传页面上看,其的还款方式是,借款人按约定的总期数(固定20年)计算每期月供,在贷款期限内分期归还贷款本息,最后一期一次性偿还剩余本金。


上下滑动,查看图片

不过,从实际操作上看,“气球贷”的贷款时间往往并不是总期数20年,只是在月供用20年这个范围来计算,但实际还款的期限,往往是5年或10年。

自此,每月只还很少的利息,甚至只还一部分本金,但到了5年或10年的期末,需要一次性还清剩余的所有本金。

由于“前小后大”的特性像极了气球,由此得名“气球贷(Balloon Loan)”。

消息一出,各路媒体纷纷拿出草稿纸做奥数题:以100万元贷款为例,贷款利率3.95%,实际贷款时间10年,那么分摊到20年的“气球贷”等额本息还款方式是:前期月供约6033元,第10年到期一次性偿还60.3万元,贷款到期共偿还本息约132万元。

往好的方向想,是只需要每个月先拿出6000元就能得到一套房子;往坏处寻思,是10年后,能不能一次性拿出60万来把房贷还清。总之,是把大家习以为常的“首付”如今变成了“尾付”。

此举从平安银行出,颇有渊源,2007年率先推出“气球贷”的,是原深圳发展银行,它在2012年同平安银行正式合并。

无独有偶,平安银行此次推出的产品还包括二阶段还款、双周供、轻松还等多种还款方式选择。

二阶段还款是前三年内按月付息、无需偿还本金,在剩余贷款期限按月等额本息还款。

双周供是指,借款人每两周还本付息一次,每期按14天计息。

轻松还是指借款人按月支付利息,每6期按贷款发放金额的1%偿还本金,最后一期一次性偿还剩余本金。

与“气球贷”相比,这几种应用的范围更广。公开信息显示,与平安银行上述产品类似的还有建设银行的“轻松供”、工商银行的“入住还”、兴业银行的“随薪供”等产品。

规则大同小异,噱头却各自精彩。

建设银行的“轻松供”,客户在按揭贷款时,前两年每月只需要还“1元本金”,再加上贷款利息,两年后按照房贷总额进行正常还贷。

工商银行推出的“入住还”,在入住前月供先还总贷款利息,等到入住新房后再按照正常还贷方式还月供。一般来说,新房建设周期为2年,相当于前两年免还本金。

兴业银行的随薪供类似,第一阶段只还利息,暂缓偿还本金,期限最长3年。

但梦幻联动的,只有五花八门的贷款产品本身。

2007年被称作楼市的“狂乱之年”,当年的媒体报道中写道:“2007年北京房地产市场,人们能记住的估计就只有价格,也只在乎价格。这一年,房价以前所未有的高速在狂飙着,不论是单价还是涨幅,都创下了历史新高。”

反观当下,人们在乎也记住的,却只有“债务”。


好杠杆,坏杠杆


一方面,各类贷款本身没有对债务进行减轻,甚至还有所加重。

还是以那个利率为3.95%的100万贷款在10年还清的“气球贷”为例,若按照正常等额本息的还款方式是:月供约10100元,到期共偿还本息121.2万元,比“气球贷”的总还款额132万省了11万。

至于头几年只付利息不给本金的产品,贷款利息是根据本金生成的,因为先偿还利息,本金没有减少,开始正常还贷后,要承担比常规还款更多的利息。

换言之,是前三年先吃甜葡萄,后面十几年全是酸葡萄。

另一方面,在人们的心理账户里,根据不同的阶段,债务的角色也会发生变化。

如果在房价上行阶段,债务更容易被视作投资,只要资产在涨,收益率飙得过借款的利率,那就是一招漂亮的借力打力,用杠杆实现财富增值。

正因如此,“气球贷”或者“先息后本”最风光的岁月,是与“炒房”的亲密合作——低门槛入手买房,在即将大出血还完剩余款项时,将房子卖了归还本金,多出来的盈余还能“投入再生产”,至于稍高一点的利息,就当是获取“低门槛”的资格费,一切都好说。

与“气球贷”们一起冒头的,还有“超低首付”。

6月3日,青岛胶州公布了5项措施促进房地产发展,在第四点真金白银补贴这段表述里面,有一句:可以缓交50%的首付款。于是媒体打一通草稿,算出了“首付只要7.5%”的结果。

新闻传播起了效果,根据58安居客找房热度数据,近几周胶州找房热度提升增幅为青岛全市第一,但能不能成交,还有待未来观察。

只是,“先息后本”也好,“超低首付”也罢,在房价下行或者不上不下乃至下行的阶段,债务就回归债务本身。

起步再轻松,还款马拉松。

人们心里对标的是工资卡,是未来的前程,薪水不涨,债务就是压力、是负担、是生产生活的万恶之源。

香港方德金控首席经济学家夏春在一篇专栏中犀利指出,降首付降利率本质上还是让家庭加杠杆,他写道:

2014年,许多经济学家认为,中国家庭储蓄率高,有很强的契约精神,热爱房地产,因此他们的杠杆代表着优质杠杆。但事实上,只有低于收入合理比例的房贷支出才是好的杠杆,过高的杠杆都是不好的。



起效快,持续短?


重现江湖的“气球贷”,很快在争议中悄然下架,存活时间不过几天。“超低首付”乃至“零首付”会不会从胶州等地方个案成为常态,我们也不得而知。

刘晓博对此很乐观,他认为,我们认知里的购房首付比例,已经在官方层面被不断颠覆,首付比例下限不断调低,而且是政府层面自上而下地打破。

但无论如何,所有房地产的话题,都会走向两个终极问题。

第一个问题是,“房地产市场的热度能不能恢复”。

相较于股市,房地产在量价之间更在乎量。从当前房地产的各项指标来看,可谓喜忧参半,结论依然模糊不清。

以几个重点城市的成交或网签情况为例,均有亮点可寻。

此外,作为政策大放招后的第一个小长假的端午假期,6月8日—6月10日期间,30个代表城市新房日均销售面积虽然较2023年假期下降约16%,但较今年五一假期日均成交增长超六成。二手房方面,重点11城中多数城市二手房成交套数较去年端午假期出现增长。

然而,消退之象也随之而来。

据58安居客云洞察数据显示,2024年近几周,全国找房热度值出现小幅下滑,最近一周,仅有9城热度上升,平均涨幅4%,38城热度下降,平均降幅6%。

图源:58安居客云洞察数据

小巴分别问了几位房地产领域的大头,他们的答案其实都在说同一个意思:“有待观察”。数据和观点的模糊最终会化作人们眼前的模糊,让犹豫更犹豫。

至于第二个问题,则是“人们的收入预期”。

正如丁建刚多次强调的那样:“最强有力的救市工具,是恢复人们对未来经济社会发展的预期和信心,而人们对未来的信心又主要来自对经济的体感,特别是就业和收入,也包括财产性收入等等方面。”

其实换个朴素的思路看,中国的房地产市场,终将迎来调整时刻。正如夏春所言,经济规律,无论起初看起来如何遥远,终将有一天与我们面面相觑。

只是当那一天到来时,人们最后所求的,或许是不要那么剧烈,可以起效慢但见效长,可以逆风跑但别刮十级大风。

这或许也是大家一致反感“气球贷”“超低首付”之流的原因,只照见饥不择食的自救,却毫无共渡难关的诚意。


大头有话说


张波

58安居客研究院院长

每一次房地产政策的放松,都会在房地产金融层面有着直接体现。金融侧会从降低首付门槛以及减轻房贷压力两个层面发力。

当前,降首付的力度已经达到史上最高程度,目前来看再度下调的意义非但不大,也伴随着更高的潜在风险。

至于减轻房贷压力,一般而言通过降低房贷利率的方式来实现,但从目前来看,首套房贷利率也已经达到历史性低点,再度下调可能性有,但下调的幅度已不大,我们并不会通过所谓“负利率”的方式来刺激楼市,这一点无容置疑。

在这样的背景下,通过“气球贷”“先息后本”等方式拉长还款周期或降低前期还款压力的方式,就开始不断浮出水面。


丁建刚

浙报传媒地产研究院院长

“气球贷”曾在2011年曾被监管叫停过。其本质就是把还款压力向后推迟,或许对于少部分人群来说这没有问题,他们只是短期资金紧张。

但作为一个金融产品,放贷给较多的人群,就存在着较大的系统性风险。特别是当“气球贷”用于购房,如果未来几年内房价下跌幅度较大,就面临着群体断供的风险,类似于美国的次级贷。应该慎之又慎。

实际上,前几年的教训也历历在目。房地产投资投机之风盛行时,很多银行推出的经营贷,实际上被用于房地产投资和投机。今年很多经营贷到期,部分房地产投资投机者不得不亏损割肉。


刘晓博

财经评论员

公众号“刘晓博说财经”

楼市出现了历史性拐点,而且是断崖式拐点对于经济稳定威胁比较大,启动楼市势在必行。这一轮楼市调整是多重因素叠加的,居民预期发生了重大转变,所以必须通过低利率、低首付、特殊还款方式、特殊去库存方式,才能让楼市回暖。

至于当下人们对于零首付或者先息后本的障碍主要是在心理层面,如担心会出现美国式的次贷危机等。但事实上,由于中国大银行都是国有的,中国化解银行风险的能力比较强。另外,我们征信可以使用的手段比西方多,所以不用太担心历史重演。

至于防范风险方面,可以建立商品房按揭遇到困难的时候,允许转换为共有产权住房的制度,也就是购房者把部分产权卖给政府,到适当的时候按照活期利率回购。

同时,加大金融对房地产的支持,建立基础货币直达房地产机制,比如推出基于商业房贷的MBS,基于公积金房贷的MBS,让央行在二级市场购买,有了这些金融手段支持,风险可以降低很多。



参考资料:

1.《房地产新政组合拳,能够“四两拨千斤”吗?》,夏春,FT中文网

2.《“气球贷”引争议,产品创新还是新的风险?》,经济观察报

3.《房贷还款“先息后本”推出,哪一种购房方式最划算?》,郭施亮

4.《如何防范次级房贷危机在中国上演?》,财新网


本篇作者 | 和风月半 | 责任编辑 | 徐涛

主编 | 何梦飞 | 图源 | VCG

先息后本计算器公式

最近有朋友问我,他准备在手机银行上贷款,有先息后本、等额本金、等额本息等还款方式,不知道利息应如何计算。

以贷款10万元,期限一年(12个月),年利率4.6%为例:

1、如果从利息的绝对额来计算,等额本金还款方式的利息最少。

(1)先息后本方式,一年的利息:100000*4.6%=4600元,每月还利息:4600/12=383.33元,一年后到期还本金10万元。

(2)等额本金方式,由于每个月都在还本金,已归还的本金不再计息,故每月归还的利息递减。每月归还本金:100000/12=8333.33元。第一个月归还利息:100000*4.6%/12=383.33元,第一个月归还的本息合计:8333.33+383.33=8716.66元。第二个月归还利息:(100000-8333.33)*4.6%/12=351.39元,第二个月归还的本息合计:8333.33+351.39=8684.72元。以此类推,一年总的利息为2491.67元。

(3)等额本息方式,即每月偿还相同数额的贷款(包括本金和利息),按年金折现方法计算,由于计算过程比较复杂,直接采用贷款计算器计算,每月归还8542.43元,一年总的利息2509.14元。


2、如果从实际年化贷款利率计算,先息后本方式的实际年化利率最低。

(1)先息后本方式:由于是一年后到期归还本金,相当于10万元的本金使用了一年,实际年化利率就是名义利率4.6%。

(2)等额本金与等额本息方式,由于每月都在归还本金,10万元的本金的实际使用时间都短于一年。以等额本金为例,每月归还本金8333.33元。相当于8333.33元使用了一个月,16666.67元使用了两个月,25000元使用了三个月,以此类推。由于实际年化利率的计算公式比较复杂,不再列示过程,计算结果的实际利率约为名义利率的两倍,4.6%*2=9.2%。

3、还款方式比较。

(1)先息后本:总利息最高(4600元),每月还款额最小,实际年化低率最低,还本压力集中在最后一期。

(2) 等额本金:总利息最低(2491.67元),每月还款金额递减,实际年化利率高。如果贷款用于经营,要测算回报率是否高于实际年化率。

(3) 等额本息:总利息居中(2509.14元),每月还款金额相等,实际年化利率高。如果贷款用于经营,要测算回报率是否高于实际年化率。

本文到此结束,希望本文先息后本计算器2024最新版,贷款利息先息后本计算器对您有所帮助,欢迎收藏本网站。

也许您对下面的内容还感兴趣: