import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class IrrUtil { private double MINDIF = 0.001; private int LOOPNUM = 2000; private static int period = 0; @SuppressWarnings("rawtypes") private List netCash = new ArrayList(); public static void main(String[] args) { List list = new ArrayList(); list.add(-76694086.73); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(9184579.93 ); list.add(184579.93 ); IrrUtil aa = new IrrUtil(list,12); System.out.println(aa.calculator()); } @SuppressWarnings("rawtypes") public IrrUtil(List netCashArr, int interval) { super(); netCash = netCashArr; period = 12/interval; } private double NPV(double r) { double npv = 0; if (netCash.size() != 0) { for (int count = 0; count < netCash.size(); count++) { npv += Double.valueOf(netCash.get(count).toString()) / Math.pow(1 + r, count); } return npv; } return Double.NaN; } public double calculator() { double irr = 0; double r1 = new BigDecimal("0.1").doubleValue(); double r2 = new BigDecimal("0.09").doubleValue(); double npv1 = NPV(r1); double npv2 = NPV(r2); //System.out.println(netCash+"--"); int count = 0; while (Math.abs(npv2) > MINDIF & count < LOOPNUM) { irr = r2 - npv2 * (r2 - r1) / (npv2 - npv1); r1 = r2; r2 = irr; npv1 = npv2; npv2 = NPV(r2); count++; // System.out.println(count+"--"); } // System.out.println(irr*period+"--"); if (Math.abs(npv2) < MINDIF & count <= LOOPNUM) //return irr * period ; return irr; else return Double.NaN; } }
相关推荐
这个工具类很可能包含了计算XIRR所需的关键算法和方法。下面,我们将深入探讨XIRR的计算原理和如何利用编程实现。 1. **XIRR计算原理**: XIRR的计算目标是找到一个利率,使得投资的净现值(NPV)等于零。它考虑了...
在C语言中计算IRR并非直接内置的功能,通常需要自定义算法或者使用库函数实现。`testirr.cpp`可能是一个C语言编写的程序,用于计算分期贷款的IRR。程序可能会涉及以下关键点: 1. **现金流计算**:首先,需要确定每...
在这个Java工程中,`XIRR`是实现这个功能的核心算法。 在Eclipse开发环境中,Java程序员可以创建一个项目来实现财务收益率计算。Eclipse是一个流行的集成开发环境(IDE),支持多种编程语言,包括Java,它提供了...
"EXCEL财务函数(IRR、XIRR、MIRR)" IRR(Internal Rate of Return)函数是EXCEL中的一种财务函数,用于计算投资项目的内部报酬率。它的应用非常广泛,是学习财务管理不可或缺的工具。IRR 函数的参数定义如下:=IRR...
在Excel中,内部收益率(Internal Rate of Return, IRR)函数是一种非常重要的财务分析工具,尤其在评估投资项目或现金流情况时。它可以帮助我们确定投资项目的回报率,即当投资现金流的净现值(NPV)等于零时的折现...
综上所述,IRR滤波在C++中的实现是一个结合了信号处理理论和程序设计的过程,涉及到滤波器设计、参数设置、算法实现和性能优化等多个方面。通过理解IRR滤波的工作原理和C++编程技巧,我们可以创建出能够平滑处理数据...
租金、IRR、总资金占用收益率测算表及公式
Excel 函数 IRR 函数详解 IRR 函数是 Excel 中一个重要的财务函数,用于计算投资项目的内部报酬率。内部报酬率是指投资项目的回报率,即投资项目的收益除以成本的百分比。在财务分析和投资决策中,IRR 函数是一个...
《Office Excel函数及算法大全》是一份详尽的参考资料,旨在帮助用户全面掌握Excel中的各类函数和算法。这份文档不仅涵盖了基本的统计、数学、逻辑、文本等常见函数,还包括了高级的查找、日期时间、工程、财务等...
文件列表中的"iir滤波器的设计.docx"很可能是详细介绍了IRR滤波器设计步骤、算法实现以及可能遇到的问题和解决策略的文档。这份文档可能涵盖了从理论到实践的整个过程,包括模拟滤波器设计、离散化转换、系数计算、...
此时,Excel的IRR函数可能无法确定唯一解,需要借助其他方法来确定合适的IRR。 另外,Excel还提供了另一个类似的函数——XIRR,它可以处理非定期的现金流。XIRR函数需要额外提供一个日期参数,以便更准确地计算现金...
### 如何利用Excel计算NPV和IRR #### 核心知识点概述 本文旨在详细介绍如何使用Microsoft Excel这款强大的电子表格软件来高效地计算净现值(NPV)和内部收益率(IRR),这两个指标对于评估投资项目的价值至关重要...
财税实务:巧用Excel计算NPV和IRR NPV(净现值)和IRR(内部收益率)是财务人员在进行投资决策时两个非常重要的投资指标。NPV是按照一定的折现率将未来现金流量折算成现在的价值,以判断投资项目的可行性。IRR则是...
Excel函数:IRR函数【会计实务操作教程】 IRR函数是Excel中的一个重要函数,它用于计算投资项目的内部收益率,帮助用户评估投资项目的盈利能力。IRR函数的使用可以帮助用户快速计算投资项目的内部收益率,从而辅助...
压缩包内的文件"软工经济-NPV,IRR.cpp"是一个源代码文件,很可能包含了计算NPV和IRR的具体算法。C++是C语言的一个扩展,它增加了面向对象编程的功能,但仍然保持了C语言的效率。源码文件通常包含函数定义、变量声明...
用JAVA编写的IIR过滤器库。 高通,低通,带通和带阻分别为Butterworth,Bessel和Chebyshev I / II型。 它基于IIR1库[ ],而该库又基于Vinnie Falco的DSPFilters [ ]。 用法 import uk.me.berndporr.iirj.*; 建设...
此numpy.irr包含从头构建的numpy.irr的自定义实现。 它用于计算,也称为APR,在许多财务情况下都非常有用。 numpy.irr什么问题? 它非常慢,通常返回nan 。 正在安装 最简单的安装方法可能是运行以下命令: pip ...
"利用Excel软件计算NPV净现值和IRR内部收益率及投资回收期折现率财务净现值的解释" 本文主要讲解如何使用 Excel 软件来计算 NPV 净现值、IRR 内部收益率、投资回收期折现率和财务净现值,并通过实例演示如何使用 ...