分期購車計算器貸款計算器_車貸計算器2023在線計算
本文分享自華為云社區《》,作者: 蜉蝣與海 。
摘要:最近各地樓市震蕩不斷,不少銀行紛紛降息,隨后更是引發了一波提前還款的大潮。通過樓市小程序上貸款計算器等工具人們可以很容易的了解每期還款本金、不同還款方式的利息差異、提前還款節省利息等問題。了解這些工具的計算原理,可以做到心中有數,臨危不慌。本文已發布至華為云生態社區AI Gallery,文中涉及所有代碼可以直接通過頁面進入云上Code Lab運行,歡迎開發者前往體驗。
最近各地樓市震蕩不斷,2022年12月份以來不少銀行紛紛降息,隨后更是引發了一波提前還款的大潮。不少地區樓市相關的微信小程序也自帶了貸款計算器、提前還款計算器等工具,通過這些工具人們可以很容易的了解每期還款本金、等額本金/本息的利息差異、提前還款節省利息的問題。
了解這些計算工具的相關原理,可以做到心中有數,臨危不慌。
注:
- 本文對應代碼和腳本發布至華為云生態社區AI Gallery:貸款計算器-從原理、公式到提前還款和可視化→,歡迎開發者前往體驗,文中涉及所有代碼可以直接通過頁面進入Model Arts Code Lab運行。使用該腳本稍加修改后即可嘗試開發一個適合自身地區政策的貸款計算&提前還款小程序。
- 本文只是研究貸款生成、提前還貸方面的相關計算原理,不構成任何投資理財方面的建議。
先來看個使用工具計算提前還款的效果,再來探討相關原理。
貸款87.5萬,利率4.9%還20年,使用等額本息的方式,在第13個月提前還10萬,使用月供不變年限縮短方式,在CodeLab中運行下述程序后可以計算提前還款節省利息,和微信上提前還款小程序計算結果一致:
如圖,縮短了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元。
將這段邏輯抽象為代碼有:
為了便于查看再封裝一個打印成表格的函數:
我們運行一下知乎上的例子,看看頭幾年還款的本金、利息等:
可以看到和文中描述一致,使用微信房小團小程序,也可以打印出一致的結果。等額本息 的計算方法有些復雜,參考用Python深度解讀房貸利率文中的解法,設A為本金,第i個月月末所欠銀行本金為Ai,每月所還貸款總額為X,月利率為β, 則有:
由于最后一期時剩余本金為0,可反解得:
這里m為總期數(在剛剛的例子中,m=240)。而后就可以使用與等額本金計算中類似的邏輯,從第一期所還利息開始,反推每期的利息與本金。具體代碼如下:
我們運行一下知乎上的例子,看看等額本息模式下第8年附近,到底還了多少利息和本金:
可以看到第96期(第8年年終)時,本金還了25萬,但利息已經還了近30萬了,和之前文中例子的數據是可以對得上的。
剛剛我們已經將還款的各項數據以表格的形式打印。此外我們還可以借助python的能力,打印還款的柱狀圖。
再跑一下知乎的例子,繪制等額本金和等額本息的還款柱狀圖:
如圖,藍色是所還利息,紅色是所還本金。可以看出本金每月不變,利息逐月遞減的特征。
等額本息情況下:
也能看出所繪圖形和等額本息的含義基本一致。
另外部分城市可以公積金貸款,以杭州為例,目前杭州公積金充足情況下可貸50w-60w,這里考慮一下公積金的情況:
這里算了下商貸70w(利率4.1%),公積金貸30w(利率3.1%)下組合貸款的情況,和微信小程序房小團的計算是一致的。
再來討論下提前還款。如果知乎文中買房的那位,在貸款1年后提前還款10w會怎樣呢?了解一點背景知識的朋友,都知曉提前還款分兩種情況:
- 年限不變,月供減少
- 年限縮短,月供不變
現在分情況討論,并給出計算函數。
注:notebook中所有計算結果均在微信房小團小程序上得到互相驗證。
這種情況下,相當于在提前還款月之后重新做了一次貸款。我們首先對剛剛的計算函數進行一定的簡化,抽象一下公共的部分。
可以看到抽象出公共結構后,前后的計算結果并沒有發生變化。
考慮年限不變提前還款的情況,這里將每次提前還款的時間和金額組成python的元組,若干個(賬期,還款金額)元組組成一個list輸入函數。函數首先計算正常情況下的還款信息,而后根據提前還款信息,修改提前還款日的剩余本金,并從各個提前還款日重新計算剩余還款。
再定義幾個函數對提前還款節省的利息進行可視化。
通過參數showOriginTotal的取值,可以分別繪制每月少還的錢與當月節省利息的情況。下面分別繪制了等額本金和等額本息情況下,87.5萬貸20年,在第一年還10萬后還款和利息的變化情況。
可以很方便地看出節省利息在每個月還款額中的比重。
這種情況下提前還款導致后續每個月產生的利息少了,但是月供沒變,相當于后續每個月額外多還了本金。但是在各類提前還款計算器的計算中,月供并不是和之前相同的,經過反復的計算后和網上的貸款計算器結果最終一致,發現各類提前還款計算器隱含了下列約束:
- 提前還款相當于用剩余本金新做一個貸款。
- “月供”不是真的不變。而是通過縮短年限方式,使得新貸款首月月供盡可能和當前月供相當。
- 如果是等額本金模式,新貸款首月月供中,償還本金并未增多,需要略低于上月償還本金,等額本息模式則無此約束。
想想這個邏輯也有道理,如果真的“月供不變”,那么等額本金模式下提前還款后,后續每個月償還的本金都會比新做貸款的償還的本金多,相當于后續每個月都在提前還款,后續每個月月供本金就不能稱為“等額”了。我們下面先寫個求解首月月供的函數,以及通過縮短年限逼近上月月供總額和月供本金的函數。而后計算“月供不變,年限縮短”模式下節省的具體利息。
可以看出,雖然縮短年限的本質也是重新做一次貸款,但確實可以節省很多利息。
本文初稿寫于華為云AI-Gallery貸款計算器-從原理、公式到提前還款和可視化,通過頁面進入CodeLab可以直接在界面上調整參數進行房貸利息、提前還款等相關計算,計算過程原理直觀,配合可視化方便理解,歡迎開發者前往體驗。
整篇文章帶大家了解了不同房貸貸款方式的差異,以及對房貸利息計算、提前還款的原理做了較為細致的剖析和數據可視化。后續在面對貸款利息計算的問題時,可以直面原理、心中有數、臨危不慌。
[1]用Python深度解讀房貸利率(https://mp.weixin.qq.com/s/hdRb4b7ufYd-hujV1TKHZg)
[2]為什么買房貸款,最好選擇等額本金?
[3]杭州房小團微信小程序-貸款計算
[4]杭州房小團微信小程序-提前還款
點擊下方,第一時間了解華為云新鮮技術~