+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(1)

2019-08(109)

2019-09(120)

2019-10(17)

2019-11(1)

LPR定价合适,还是固定利率合适,python帮你算一算

发布于2020-06-13 09:35     阅读(152)     评论(0)     点赞(14)     收藏(4)


0

1

2

3

4

5

6

7

8

9

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左右。

中短期来看利率是下行的,如果这个下行时间持续比较长,那么会缓解贷款压力,但是利率是均值回复的,若有几年利率上涨会带来月供压力的风险,因为利率变更选择只有一次。所以如果是保守者就选择固定利率。

代码:

  1. import numpy as np
  2. import pandas as pd
  3. def repayment_fun(loan_amount, current_benchmark_interest_rate, N=20):
  4. """
  5. 等额本息计算每月偿还金额,和总金额
  6. :param loan_amount:贷款总金额
  7. :param current_benchmark_interest_rate:当前基准利率
  8. :param N:贷款周期
  9. :return:
  10. """
  11. month_rate = current_benchmark_interest_rate / 12
  12. repayment = loan_amount * month_rate * (1 + month_rate) ** (N * 12) / (
  13. (1 + month_rate) ** (N * 12) - 1)
  14. return repayment, repayment * N * 12
  15. def style_apply(series, colors, back_ground=''):
  16. """
  17. :param series: 传过来的数据是DataFramt中的一列 类型为pd.Series
  18. :param colors: 内容是字典 其中key 为标题名 value 为颜色
  19. :param back_ground: 北京颜色
  20. :return:
  21. """
  22. series_name = series.name[0]
  23. a = list()
  24. # 为了给每一个单元格上色
  25. for col in series:
  26. # 其中 col 为pd.DataFrame 中的 一个小单元格 大家可以根据不同需求为单元格设置不同的颜色
  27. # 获取什么一级标题获取什么颜色
  28. if series_name in colors:
  29. for title_name in colors:
  30. if title_name == series_name:
  31. back_ground = 'background-color: ' + colors[title_name]
  32. # '; border-left-color: #080808'
  33. a.append(back_ground)
  34. return a
  35. # 基准利率
  36. benchmark_interest_rate = 4.9 * 0.01
  37. # 折扣
  38. discount = np.arange(0.7, 1.25, 0.05)
  39. # LPR未来利率利率
  40. lpr = np.arange(4, 6, 0.05) * 0.01
  41. # 2019年12月LPR利率
  42. base_lpr = 4.8 * 0.01
  43. # 加点
  44. diff = base_lpr - benchmark_interest_rate * discount
  45. # 贷款
  46. loan = 100 * 10000
  47. # 期限
  48. term = 30
  49. data = []
  50. for discount_item in discount:
  51. diff = base_lpr - benchmark_interest_rate * discount_item
  52. discount_rate = discount_item * benchmark_interest_rate
  53. print(loan, discount_rate, term)
  54. discount_repayment, discount_total_amount = repayment_fun(loan, discount_rate, term)
  55. for lpr_item in lpr:
  56. lpr_rate = lpr_item - diff
  57. lpr_repayment, lpr_total_amount = repayment_fun(loan, lpr_rate, term)
  58. data.append(
  59. {"LPR利率": lpr_item, "折扣利率": discount_item, "浮动利率月供": round(lpr_repayment,2), "固定利率月供": round(discount_repayment, 2),
  60. "月供差": round((lpr_repayment - discount_repayment), 2),
  61. "累计少缴金额": round(lpr_total_amount - discount_total_amount, 2)})
  62. output_data = pd.DataFrame(data)
  63. output_data = output_data.style.background_gradient(cmap='gray_r')
  64. output_data.to_excel('lpr.xlsx', index=None)

 

0

1

2

3

4

5



所属网站分类: 技术文章 > 博客

作者:你太美丽

链接: https://www.pythonheidong.com/blog/article/414297/107e9aed3ff0daba5518/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)