LPR定價合適,還是固定利率合適,python幫你算一算

LPR利率

貸款市場報價利率(LPR)由各報價行於每月20日(遇節假日順延),以0.05個百分點爲步長,向全國銀行間同業拆借中心提交報價,全國銀行間同業拆借中心按去掉最高和最低報價後算術平均,向0.05%的整數倍就近取整計算得出LPR,於當日9時30分公佈,公衆可在全國銀行間同業拆借中心和中國人民銀行網站查詢。目前,LPR包括1年期和5年期以上兩個品種。

LPR浮動利率示例

如果您目前的個人房貸利率是在5年期貸款基準利率上打9折,那麼按照目前5年期貸款基準利率計算,您的實際執行利率水平爲4.41%(=4.9%×0.9)。根據人民銀行〔2019〕30號公告,個人房貸轉換前後利率水平保持不變。
(1)如果您選擇轉爲固定利率,那麼您的個人房貸在整個合同剩餘期限內,都將執行4.41%這個利率。
(2)如果您選擇轉爲參考LPR定價,您的個人房貸利率水平將按照“5年期以上LPR+(-0.39%)”確定。其中,-0.39是固定加點點差,根據當前實際執行利率(4.41%)與2019年12月公佈的5年期以上LPR(4.8%)之間的差確定。轉換後到第一個重定價日前,您的房貸利率還是4.41%,但計算方式變成了“LPR4.8%+(-0.39%)”;從第一個重定價日起,您的房貸利率就會變成“當時最新的5年期LPR+(-0.39%)”;以後每個重定價日都以此類推。

貸款利息計算公式

1、等額本息法:計算公式月還款額=本金*月利率*[(1+月利率)^n/[(1+月利率)^n-1];式中n表示貸款月數,^n表示n次方,如^240,表示240次方(貸款20年、240個月),月利率=年利率/12;總利息=月還款額*貸款月數-本金

2、等額本金法:計算公式:月還款額=本金/n+剩餘本金*月利率;總利息=本金*月利率*(貸款月數/2+0.5)。

python實現

前提條件:貸款100w,貸款週期:30年,基準利率4.9%,LPR基準使用2019年12月公佈的4.8%

計算不同折扣利率(上浮下浮利率情況),未來LPR利率情況下對貸款利率和月供影響

結果如下:

分析:截圖是貸款100w,30年,打85折對比情況,如果貸款調整成LPR浮動利率,每年1月1日爲更新日,2020年5月20日更新的5年期LPR利率是4.65%若該利率不變(即到12月也是該數值),則明年施行此利率,調整LPR浮動利率每月少繳月供87元,若LPR一直保持不變(當然不可能的)30年少繳3w左右。

中短期來看利率是下行的,如果這個下行時間持續比較長,那麼會緩解貸款壓力,但是利率是均值回覆的,若有幾年利率上漲會帶來月供壓力的風險,因爲利率變更選擇只有一次。所以如果是保守者就選擇固定利率。

代碼:

import numpy as np
import pandas as pd


def repayment_fun(loan_amount, current_benchmark_interest_rate, N=20):
    """
    等額本息計算每月償還金額,和總金額
    :param loan_amount:貸款總金額
    :param current_benchmark_interest_rate:當前基準利率
    :param N:貸款週期
    :return:
    """
    month_rate = current_benchmark_interest_rate / 12
    repayment = loan_amount * month_rate * (1 + month_rate) ** (N * 12) / (
            (1 + month_rate) ** (N * 12) - 1)
    return repayment, repayment * N * 12


def style_apply(series, colors, back_ground=''):
    """
    :param series: 傳過來的數據是DataFramt中的一列   類型爲pd.Series
    :param colors: 內容是字典  其中key 爲標題名   value 爲顏色
    :param back_ground: 北京顏色
    :return:
    """
    series_name = series.name[0]
    a = list()
    # 爲了給每一個單元格上色
    for col in series:
        # 其中 col 爲pd.DataFrame 中的 一個小單元格   大家可以根據不同需求爲單元格設置不同的顏色
        # 獲取什麼一級標題獲取什麼顏色
        if series_name in colors:
            for title_name in colors:
                if title_name == series_name:
                    back_ground = 'background-color: ' + colors[title_name]
                    # '; border-left-color: #080808'
        a.append(back_ground)
    return a


# 基準利率
benchmark_interest_rate = 4.9 * 0.01
# 折扣
discount = np.arange(0.7, 1.25, 0.05)
# LPR未來利率利率
lpr = np.arange(4, 6, 0.05) * 0.01
# 2019年12月LPR利率
base_lpr = 4.8 * 0.01
# 加點
diff = base_lpr - benchmark_interest_rate * discount
# 貸款
loan = 100 * 10000
#  期限
term = 30
data = []
for discount_item in discount:
    diff = base_lpr - benchmark_interest_rate * discount_item
    discount_rate = discount_item * benchmark_interest_rate
    print(loan, discount_rate, term)
    discount_repayment, discount_total_amount = repayment_fun(loan, discount_rate, term)
    for lpr_item in lpr:
        lpr_rate = lpr_item - diff
        lpr_repayment, lpr_total_amount = repayment_fun(loan, lpr_rate, term)
        data.append(
            {"LPR利率": lpr_item, "折扣利率": discount_item, "浮動利率月供": round(lpr_repayment,2), "固定利率月供": round(discount_repayment, 2),
             "月供差": round((lpr_repayment - discount_repayment), 2),
             "累計少繳金額": round(lpr_total_amount - discount_total_amount, 2)})
output_data = pd.DataFrame(data)
output_data = output_data.style.background_gradient(cmap='gray_r')
output_data.to_excel('lpr.xlsx', index=None)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章