在JavaScript中是否有IRR和PMT函数的精确实现

Is there any accurate implementation of IRR and PMT function in JavaScript?

本文关键字:函数 实现 PMT JavaScript 是否 IRR      更新时间:2023-09-26

我正在为我们公司开发一个新的基于web的财务应用程序,该应用程序提供内部收益率和PMT的在线实时非事后计算。因此,我正在寻找在JavaScript中提供IRR和PMT功能的实现/库。请提出建议。

感谢

William

IRR:我刚刚浏览了一下,找到了org.apache.poi.ss.formula.functions.IRR类,这里有它的列表。

只要确保你能遵守许可证。

该库似乎没有直接实现PMT

关于PMT,您可以简单地自己实现。PMT的详细信息(速率、nper、pv):费率为月费率,指年费率/12。nper是贷款条款,如12,24,36。pv是指贷款金额。

fv=pv * pow((1 + rate), nper);
PMT=(fv * rate) / (pow((1 + rate), nper) - 1);

Ruby中有一个名为Exonio的宝石:https://github.com/Noverde/exonio.

这个gem实现了一些Excel财务公式。

您可以查看这个gem并将计算转换为Javascript。

签出:https://formulajs.info/

我能够使用这个库来执行内置的Microsoft excel函数(如IRR)所需的

以下是一个函数,用于计算贷款的定期付款,给定贷款金额、利率、付款次数和贷款未来价值:

def pmt(rate, nper, pv, fv=0)
  pmt = rate * (fv + pv * (1 + rate)**nper) / ((1 + rate)**nper - 1)
  return -pmt
end

rate参数表示每个期间的利率,nper参数表示付款期间的总数,pv参数表示贷款的现值,fv参数表示付款期结束时贷款的未来价值。

例如,如果你想计算3年(36个月)内利率为5%、未来价值为5000美元的10000美元贷款的月供,你可以调用这样的函数:

pmt(0.05/12, 36, 10000, 5000)

这将返回您需要每月支付的贷款价值,以偿还贷款的现值和未来价值。