等额本息等额本金

news2024/11/16 3:35:41

1、贷款计算器

2024年最新版房贷利率计算器_LPR利率计算器 (K JSON)

贷款计算器

2、等额本息

接下来,我们可以用Python编写一个函数来计算每月还款额:

import pandas as pd


def amortization_schedule(principal, annual_interest_rate, years):
    """
    生成贷款的摊还表。

    参数:
    principal (float): 贷款本金。
    annual_interest_rate (float): 年利率。
    years (int): 贷款年限。

    返回:
    tuple: 包含摊还表 DataFrame, 还款总额, 和支付的总利息。
    """
    # 计算月利率
    monthly_interest_rate = annual_interest_rate / 12
    # 计算总支付期数
    total_payments = years * 12
    # 计算每期还款额
    monthly_payment = principal * (monthly_interest_rate * (1 + monthly_interest_rate) ** total_payments) / (
                (1 + monthly_interest_rate) ** total_payments - 1)

    # 初始化摊还表和剩余本金及累计还款总额和利息
    schedule = []
    remaining_principal = principal
    total_repayment = 0
    total_interest = 0

    # 生成摊还表
    for period in range(1, int(total_payments) + 1):
        # 计算本期利息
        interest = remaining_principal * monthly_interest_rate
        # 计算本期偿还本金
        principal_paid = monthly_payment - interest
        # 更新剩余本金
        remaining_principal -= principal_paid
        # 保留两位小数
        monthly_payment_formatted = round(monthly_payment, 2)
        remaining_principal_formatted = round(remaining_principal, 2)
        # 添加本期记录到摊还表
        schedule.append([period, monthly_payment_formatted, remaining_principal_formatted])

        # 累加还款总额和利息
        total_repayment += monthly_payment
        total_interest += interest

    # 返回摊还表 DataFrame, 还款总额, 和支付的总利息
    return pd.DataFrame(schedule, columns=['期次', '还款金额(元)', '剩余本金(元)']), total_repayment, total_interest


# 输入参数
principal = 1000000  # 贷款本金
annual_interest_rate = 0.0385  # 年利率
years = 20  # 贷款年限

# 创建还款计划表
schedule_df, total_repayment, total_interest = amortization_schedule(principal, annual_interest_rate, years)

# 显示结果
print("还款计划表:")
print(schedule_df.head())  # 显示前几行
print("\n总计:")
print(f"累计还款总额(元): {total_repayment:.2f}")
print(f"累计支付利息(元): {total_interest:.2f}")
还款计划表:
   期次  还款金额(元)    剩余本金(元)
0   1  5981.06  997227.28
1   2  5981.06  994445.66
2   3  5981.06  991655.12
3   4  5981.06  988855.62
4   5  5981.06  986047.14

总计:
累计还款总额(元): 1435453.40
累计支付利息(元): 435453.40

3、等额本金

import pandas as pd

def amortization_schedule_principal(principal, annual_interest_rate, years):
    monthly_interest_rate = annual_interest_rate / 12
    total_payments = years * 12
    monthly_principal = principal / total_payments
    schedule = []
    remaining_principal = principal
    total_repayment = 0
    total_interest = 0
    
    for period in range(1, int(total_payments) + 1):
        interest = remaining_principal * monthly_interest_rate
        monthly_payment = monthly_principal + interest
        remaining_principal -= monthly_principal
        
        # 保留两位小数
        monthly_payment_formatted = round(monthly_payment, 2)
        remaining_principal_formatted = round(remaining_principal, 2)
        interest_formatted = round(interest, 2)
        
        schedule.append([period, monthly_payment_formatted, remaining_principal_formatted])
        
        # 累加还款总额和利息
        total_repayment += monthly_payment
        total_interest += interest
    
    return pd.DataFrame(schedule, columns=['期次', '还款金额(元)', '剩余本金(元)']), total_repayment, total_interest

# 输入参数
principal = 1000000  # 贷款本金
annual_interest_rate = 0.0385  # 年利率
years = 20  # 贷款年限

# 创建还款计划表
schedule_df, total_repayment, total_interest = amortization_schedule_principal(principal, annual_interest_rate, years)

# 显示结果
print("等额本金还款计划表:")
print(schedule_df.head())  # 显示前几行
print("\n总计:")
print(f"累计还款总额(元): {total_repayment:.2f}")
print(f"累计支付利息(元): {total_interest:.2f}")
等额本金还款计划表:
   期次  还款金额(元)    剩余本金(元)
0   1  7375.00  995833.33
1   2  7361.63  991666.67
2   3  7348.26  987500.00
3   4  7334.90  983333.33
4   5  7321.53  979166.67

总计:
累计还款总额(元): 1386604.17
累计支付利息(元): 386604.17

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2117169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL事务执行过程

一、MySQL一个查询语句执行过程如下图🔽 MySQL客户端查询,经过查询缓存、解析器、查询优化器、查询执行引擎,通过API接口查询,经过存储引擎,获取数据返回给客户端。 二、事务执行过程如下图🔽 1、MySQL客户…

【生日视频制作】F900xr宝马摩托车提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程F900xr宝马摩托车提车交车仪式AE模板修改文字特效广告生成神器素材祝福玩法AE模板工程 AE模板套用改图文教程↓↓: 怎么如何做的【生日视频制作】F900xr宝马摩托车提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&a…

【变化检测】基于IFN建筑物(LEVIR-CD)变化检测实战及ONNX推理

主要内容如下: 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、IFN模型训练与预测 4、Onnx运行及可视化 运行环境:Python3.8,torch1.12.0cu113 likyoo变化检测源码:https://github.com/likyoo/open-cd 使用情况:代…

00Mac 安装配置Python3虚拟环境(VirtualEnv、virtualenvwrapper扩展包)

文章目录 前言一、安装二、mac需要配置环境变量三、报错:workon: command not found 前言 本文主要记录,Mac 安装配置Python3虚拟环境(VirtualEnv、virtualenvwrapper扩展包),windows直接执行命令即可,mac…

Arch - 演进中的架构

文章目录 Pre原始分布式时代1. 背景与起源2. 分布式系统的初步探索3. 分布式计算环境(DCE)4. 技术挑战与困境5. 原始分布式时代的失败与教训6. 未来展望 单体时代优势缺陷单体架构与微服务架构的关系总结 SOA时代1. SOA架构及其背景1. 烟囱式架构&#x…

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs&…

C#/.NET/.NET Core优质学习资料

前言 今天大姚给大家分享一些C#/.NET/.NET Core优质学习资料,希望可以帮助到有需要的小伙伴。 什么是 .NET? .NET 是一个免费的、跨平台的、开源开发人员平台,用于构建许多不同类型的应用程序。 使用 .NET,可以使用多种语言、编辑器和库来…

Java中Date类型上的注解

在日常开发中,涉及到日期时间类型Date和常用的注解DateTimeFormat和JsonFormat java.util.Date; org.springframework.format.annotation.DateTimeFormat; com.fasterxml.jackson.annotation.JsonFormat; 一 Date类型字段不使用注解 Data AllArgsConstructor N…

C语言程序设计——数组(一)

一、一维数组的定义和引用 数组:是一组具有相同数据类型的数据的有序集合。 1.1一维数组的定义 定义格式为: 类型说明符 数组名[常量表达式]; eg: int a[10]; 表示定义了一个整形数组,数组名为a,此数组有10个元素。 注:①数组名定名规则和变量名相同,遵循标识符…

【C++】STL学习——list模拟实现

目录 list介绍list结构介绍节点类的实现迭代器的实现构造函数运算符重载--运算符重载运算符重载!运算符重载*运算符重载->运算符重载 const迭代器的实现多参数模板迭代器list函数接口总览默认成员函数构造函数1构造函数2构造函数3 析构函数拷贝构造函数赋值重载函数 迭代器b…

八,SpringBoot Web 开发访问静态资源(附+详细源码剖析)

八,SpringBoot Web 开发访问静态资源(附详细源码剖析) 文章目录 八,SpringBoot Web 开发访问静态资源(附详细源码剖析)1. 基本介绍2. 快速入门2.1 准备工作 3. 改变静态资源访问前缀,定义为我们自己想要的4. 改变Spring Boot当中的默认的静态…

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext new ClassPathXmlApplicationContext("bean.xml"); } BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanFactory的功能相似,都是…

2024下学期学习总结加今日学习总结

Vue router Vue Router 是一个为 Vue.js 应用程序设计的官方路由管理器。它使你能够轻松地在 Vue 应用中实现页面导航,处理 URL 和视图的映射。 安装router 在运行框内输入 npm install vue-router4 //vue2专用 npm install vue-router3 //vue3专用 对router进…

uniapp数据缓存和发起网络请求

数据缓存 uni.onStorageSync同步的方式将数据存储到本地缓存 <template><button click"onStorageSync()">存储数据</button> </template><script setup>const onStorageSync () > {// 存储数据uni.setStorageSync(username, 张三)…

【验收交付体系文档】系统验收计划书,软件交付验收成套文档体系

软件系统验收计划书是确保新开发的软件系统符合预期要求并稳定运行的关键步骤。本计划书概述了验收过程的主要环节&#xff0c;包括系统功能的详细测试、性能评估、用户接受度测试以及文档完整性的核查。验收团队将依据项目需求规格说明书和合同要求&#xff0c;对系统进行全面…

axure判断

在auxre中我们也可以实现判断的功能&#xff0c;当目标等于什么内容时则执行下方的功能。 一、判断输入框中是否有值 画布添加一个输入框、一个文本标签删除其中内容&#xff0c;添加一个按钮&#xff0c;输入框命名为【文本显示】文本标签命名为【提示】 给按钮新增一个交互…

多个索引干扰导致索引失效如何解决

视频讲解&#xff1a;索引干扰导致索引失效如何解决_哔哩哔哩_bilibili 1 场景说明 表tb_order有订单状态order_status和创建时间create_time的索引。 现在业务的需求是&#xff0c;查询半年内&#xff0c;已支付订单状态的总数。SQL语句如下&#xff1a; SELECTCOUNT(1) FRO…

韦季李输入法_输入法和鼠标的深度融合

在数字化输入的新纪元&#xff0c;传统键盘输入方式正悄然进化。以往&#xff0c;面对实体键盘&#xff0c;我们常需目光游离于屏幕与键盘之间&#xff0c;以确认指尖下的精准位置。而屏幕键盘虽直观可见&#xff0c;却常因占据屏幕空间&#xff0c;迫使我们在操作与视野间做出…

Windows系统下安装JMeter

目录 一、官网下载JMeter 二、运行 JMeter 一、官网下载JMeter JMeter 官网安装地址 Apache JMeter - Apache JMeter™https://jmeter.apache.org/ 下载Windows版本 下载完成后 解压 二、运行 JMeter 打开bin目录 下面两个文件其中一个均可运行双击jmeter.bat 或者使用…

支持黑神话悟空的超长视频理解,Qwen2-VL多模态大模型分享

Qwen2-VL是由阿里巴巴达摩院开发并开源的第二代视觉与语言多模态人工智能模型。 Qwen2-VL结合了视觉理解和自然语言处理的能力&#xff0c;使得它能够处理和理解图像、视频以及文本数据。 Qwen2-VL支持多种语言&#xff0c;包括但不限于英语、中文、大多数欧洲语言、日语、韩…