转载自:https://www.zuojl.com/finance-formula-on-java-and-excel/

叙述

主要涉及: 月利息,月本金,月本息三个的计算

等额本金

说的简单点就是 等额本金法中,人们每月归还的本金额始终不变,利息随剩余本金的减少而减少,因而其每月还款额逐渐减少

计算公式:

每月本金 = 总本金/还款月数每月利息 = (本金-累计已还本金)×月利率每月本息 = (本金/还款月数)+(本金-累计已还本金)×月利率

由于公式过于简单我们就不进行演示了。

等额本息

简单的总结就是 等额本息还款法即借款人每月按相等的金额偿还贷款本息,其中每月贷款利息按月初剩余贷款本金计算并逐月结清

主要计算公式:

每月还款额 = [贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1]

使用 Excel 进行计算

Excel提供了非常丰富的各种函数,其中财务函数中的pmt、ipmt、ppmt在按揭还款计算中简单实用。

PMT 计算得到需要偿还的本金和利息,但不包括税款、保留支付或某些与贷款有关的费用。PPMT 计算得到需要偿还的 本金IPMT 计算得到需要偿还的 利息

除了上述三个公式外,Excel 还给我们提供了很多很实用的函数,更多更详细的资料请参考 WPS Excel 或者是 Microsoft Excel 的文档。 这里给出我参考的 WPS Excel 文档地址。

下面我们来详细讲解下这几个函数。

PMT 函数

Pmt (payment) 函数用来计算等额还款条件下每期应偿还的金额,这部分金额由本金及利息组成。它的基本格式:

Pmt (rate,nper,pv,fv,type) Rate——贷款利率Nper——总还款期限(number of period)Pv——贷款的本金(present value)fv——贷款的本利和(future value)type——类型,等额还款的实质是各期还款额组合在一起构成年金,当type为0时为普通年金(还款在每期期末);当type为1时为即付年金(还款在每期期初),EXCEL中默认的type值为0。

PPMT 函数

ppmt (principle of payment) 函数用来计算等额还款条件下每期应偿还的本金部分,它的基本格式:

Ppmt (rate,per,nper,pv,fv,type)

per——表示目前处在第几个还款期,比如第1个月,第二个月

IPMT 函数

Ipmt (interest of payment) 函数用来计算等额还款条件下每期应偿还的利息部分,它的基本格式:

Ipmt (rate, per,nper,pv,fv,type)

使用 Java 进行计算

如果你从事金融相关的开发工作,这些公式的 Java 版本也是有相应的公式提供的。最好用的莫过于 apache 组织封装的 Excel 操作公共包中的 Java 公式的实现。

Maven 引入如下包:

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.0</version></dependency>

Excel 中的三个公式 pmt ppmt ipmt 都可以在 org.apache.poi.ss.formula.functions.Finance 中找到。在源码中也给出了一个在线计算的页面:

https://arachnoid.com/finance/index.html