支付宝借呗等额本息计算还款计算方法详解。

等额本息贷款计算方式如下:
x=ab (1+b)^m / [ (1+b)^m-1]。
所以,在贷款中,只要知道了贷款总额、月利率、分期数,就可以将数字带入公式计算出每月还款额多少了,而贷款总利息=每月还款额*分期数-贷款总额,所以等额本息方式下的总利息也就可以计算出来了。
参考以下连接:
https://zhuanlan.zhihu.com/p/390581715

以上是按照月利率计算的每月还款金额,实际生活中每月的天数有时候是不一样的,还有的第一期的实际占用天数(例如40天的)>31 那么用以上公式计算出来就会有误差。那么如何计算更准确呢?
假设 总金额为a日利率为b,每月第c天还款,总期数为m。
有贷款日期和还款日期所以可以计算出
第一期占用天数day1
第二期占用天数day2
第三期占用天数day3
第m期占用天数daym

由于等额本息每月还款相同所以设每月还款为X,所以根据以上的信息计算出X的值即可。
第一期还完后剩余本金=a-(x-day1 x b)
第二期还完后剩余本金=[a-(x-day1 x b)] -(x-day2 x b)
第三期还完后剩余本金=[[a-(x-day1 x b)] -(x-day2 x b)]-(x-day3 x b)
第m期还完后剩余本金应该为零所有
0=[[[a-(x-day1 x b)] -(x-day2 x b)]-(x-day3 x b) …(x-daym-1 x b)]- (x-daym x b)
以上公式就是关于x的一元一次方式
对以上公式求解即得出每月x的值。使用pythonj完成以上内用代码如下

from datetime import datetime, time
from sympy import *
def get(day_num,num,ri,be):
    """
    此函数计算的是第一期为实际天数>31天的情况
    day_num还款日期,还款日期必须为28号之前
    num还款期数
    ri=日利率
    be=本金
    """
    now = datetime.now()
    now_str = now.strftime("%Y-%m-%d") 
    c=datetime.strptime(now_str, "%Y-%m-%d")
    year=now.year
    month = now.month
    day = now.day
    a_list=[]
    sum=0
    x=symbols('x')
    while num+1:   
        if month-12==0:
            month=1
            year=year+1
        else:
            month=month+1
        num=num-1
        a=str(year)+'-'+str(month)+'-'+str(day_num)
        b=datetime.strptime(a, "%Y-%m-%d") 
        days1=0
        if sum>0:
            if sum==1:
                days1=(b-c).days
            if sum>1:
                
                days1=(b-c).days
            # print(days1)
            be=be-x+days1*ri*be
            # print(be)
            c=b
        sum+=1
    print(solve(be,x))
   
get(2,12,0.00035,20000)   

比如我是2024.11.26点击借呗借20000元 日利率为0.00035,共12期,首月还款日为2025.01.02号则还款账单为下图。
在这里插入图片描述
用上述python函数测试每月还款金额为下图。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值