作者 | 程序猿石頭
責編 | Carol
封圖 | CSDN 付費下載自視覺中國
話說,你肯定也經常收到各個銀行電話推銷,可以辦理小額貸款/信用卡賬單分期/萬用金,或者其他亂七八糟的名字的產品。
又或者接到電話說,“石頭先生,我們有留意到您這個月賬單爲 X 萬元,請您放心,我這次打電話過來並不是來催您還款的。基於您在我行的優質信用,我們這邊可以幫你申請延期還款,這個錢這個月不用還,下個月開始分期還,只需要每個月還款 xx 元即可……” (有印象麼?)
遂問電銷人員,你們這個最後年化利息多少?
這個時候,一般銀行客服都會直接回避這個問題,美其名曰:“我們不收利息,我們只收取一定的手續費,基於您這邊的良好信用,現在您有一筆5萬的額度是可以立即提現的,可以分12期還,每月只需要XXXX元”。
可能不太懂的同學,聽到銀行客服同學的宣傳,感覺這利率還不算貴,缺錢急用還挺划算的啊。有可能直接被套路,就接受了忽悠,辦理了這個貸款/分期產品。
案例解讀
下面我以浦發銀行實際例子來算一下,類似產品最後年化利率到底是多少。
如上圖所示,是浦發銀行的某名叫“萬用金”的產品,可以看到,提現 10000 元,分 12 期(即分12個月)還錢,等額本息的還款方式,每月需還款 929.51 元。
忽悠你,沒商量
初步計算你可能會簡單的認爲這個利率就是,一共還的錢爲929.51*12,然後借款本金爲10000元,那麼年化利率即爲:(929.51*12 - 10000)/10000*100%=11.54%,感覺還行啊,不誇張。
等等,好像哪裏不對。
但是事實上,這種算法是有問題的,因爲你借款的本金10000元,並沒有享受到1年的期限,以後每個月都還了本金呀。
實際年化利率
我們用網上常見的房貸/借款計算器[1]來算一下, 如果按照年化11.54%來計算, 每月的還款情況應該如下,即每個月只需要等額本息還款886.34,比929.51元少不少。
而如果每個月還款 929.51 元的話, 其利率遠遠不止11.54%,直接仍然用那個借款計算器大概估計一下。
貌似現有的網上的工具都只能正向算,即已知利率和貸款本金計算還款計劃表, 沒有一個工具能從每月還款額反推貸款利率, 初步多次嘗試得到如下近似結果。(注:本文最初爲2017 年寫的文章,現在網上也有類似的計算器了,你可以直接用後文中的方法進行計算。)
可以看到,年化利率達到了20.66%,比之前預想想象中多太多了。
所以電話銷售在推銷的時候,往往不會直接告訴你這個年化利率,因爲太高了,說了你可能不太會接受。
實際上,你借款本金 10000,並沒有享受到整年,而是隻享受到了1個月,因爲1個月之後,你就有歸還部分本金(和利息)了。
而這個利率到底是怎麼計算來的呢? 爲啥會有前後這麼大的差別?咱們繼續。
如何計算年化利率
小程序方法
這裏介紹一款小程序,本人 17 年左右寫的(當初市面上可很難搜索到),直接點擊下面的小程序即可使用。
如上圖所示,直接輸入借款總額,月還款額以及還款月數,即可計算年化利率。後來有用戶反饋,希望有一個已知借款利率,正向計算還款計劃的功能,因此在之前又把這個功能給加上了,正向計算功能可以分爲等額本息、等額本金以及先息後本一共三種還款方式計算。
正算還款計劃
要想看如何推導計算過程的,記得體驗小程序後,回來繼續看後文的分析哦。
Excel 如何計算
藉助 Excel, 我們也可以方便的計算出正確的年化利率。
excel 計算年化利率
直接利用 Excel 裏面的IRR函數可以直接計算,或者直接用 RATE函數計算也可以。
IRR 函數:輸入直接分期總數,以及後面每期還款數即可。
RATE 函數:輸入爲三個參數,分別表示:分期數、每月還款額、借款總額。
其實看 Excel 官方文檔得知,Excel 的IRR等函數也是用迭代法進行計算的, 具體可以參考Excel IRR 函數說明[2]
如果只想知道用現成的工具如何計算這個還款利率,到這裏就可以結束了。
如果你比較好奇,這背後到底是怎麼計算的呢,咱們就繼續。
特別是程序猿,可以動手試試哦,能不能實現以下 Excel 裏面的 RATE 函數?
推導方法
沒思路的話,跟着我的節奏,咱們一起來。我們來正向推導一下這個等額本息利率的計算過程。
假設借款總額爲 A, 月利率爲 R, 每月還款額爲 M, 抓住一點,欠款總額爲本金*(1+月利率)則有:
推導過程(放大看)
所以,能得到第 i 個月的欠款情況,上面的公式可以簡化一下,因爲被減數 M 後邊的是一個等比數列,得到第 i 個月後,欠款總額爲:
如果知道月利率 R, 要計算每個月還款額也可以直接通過上面這個公式得到,
仍然以上述浦發銀行的這個例子爲準,其中 A=10000, M=929.51,代入上面的公式就可以算出 R 的值。
但是!上面這個方程如何解呢?
咱們也可以跟着 Excel 學嘛,人家都說了是用迭代法,咱們也可以哦。
自己寫了段小代碼迭代搜索一下能算出來。貌似這裏能出一道給程序猿的面試題目了,哈哈。
各位程序猿朋友們,看看有哪些方法能夠算出來?我這邊暫時不公佈自己寫的這段代碼,看看大家有思路? (敲黑板)
通過計算得到,借款10000元, 每月還款額度爲929.51元的情況下, 月利率爲0.017即1.7%, 年化利率即爲 20.65% 基本上與文首查到的一致。
月利率出來之後, 還款計劃表也就自然而然能夠出來了。
>>> monthRate = calcMonthRate(12, 10000, 929.51)
>>> print monthRate
0.0172138214111
>>> print monthRate * 12
0.206565856934
>>> schedules = repaymentSchedules(12, 10000, monthRate)
>>> for s in schedules: print s
...
[1, '929.49', '172.14', '757.35', '9242.65']
[2, '929.49', '159.10', '770.39', '8472.26']
[3, '929.49', '145.84', '783.65', '7688.61']
[4, '929.49', '132.35', '797.14', '6891.47']
[5, '929.49', '118.63', '810.86', '6080.61']
[6, '929.49', '104.67', '824.82', '5255.79']
[7, '929.49', '90.47', '839.02', '4416.77']
[8, '929.49', '76.03', '853.46', '3563.31']
[9, '929.49', '61.34', '868.15', '2695.16']
[10, '929.49', '46.39', '883.10', '1812.06']
[11, '929.49', '31.19', '898.30', '913.76']
[12, '929.49', '15.73', '913.76', '0.00'
可以看出,上面的還款計劃表跟最開始網上通過房貸計算器得到的一致,我們再來看看,招行的有個現金分期業務。
上面的分期費率12期, 0.75%(表面的月息=(3270*12-36000)/36000/12),申請分期36000,每月還款3270。通過上面的公式,我們來看一下實際的費率情況,月息相當於 1.35%,年利率 16.2%,比表面的年息(0.75%*12=9%)高不少。
>>> calcMonthRate(12, 36000, 3270)
0.013513565063476562
>>> calcMonthRate(12, 36000, 3270)*12
0.16216278076171875
小科普
最後,來個小科普,針對貸款年化利率,有兩個數字作爲分割線,24% 和 36%。
借貸雙方約定的利率未超過年利率24%,出借人請求借款人按照約定的利率支付利息的,人民法院應予支持。
借貸雙方約定的利率超過年利率36%,超過部分的利息約定無效。借款人請求出借人返還已支付的超過年利率36%部分的利息的,人民法院應予支持。
所以,朋友們,下次銀行再給你打電話,你知道怎麼應付了吧?再也不用被所謂的手續費利率(表面現象)所迷惑了哦!
另外,請廣大的程序猿朋友們思考一下前面留出的問題哈,看看大家都有什麼方法來計算,歡迎留言討論。
推薦閱讀
真香,朕在看了!