`

java 实现Excel irr计算(改进版)

    博客分类:
  • java
 
阅读更多
import java.util.ArrayList;
import java.util.List;

public class IrrUtil {
    /**迭代次数*/
    public static int LOOPNUM=1000;
    /**最小差异*/
    public static final double MINDIF=0.00000001;
    
    
    /**
     * @desc 使用方法参考main方法
     * @param cashFlow  资金流
     * @return 收益率
     */
    public static double getIrr(List<Double> cashFlow){
        double flowOut=cashFlow.get(0);
        double minValue=0d;
        double maxValue=1d;
        double testValue=0d;
        while(LOOPNUM>0){
            testValue=(minValue+maxValue)/2;
            double npv=NPV(cashFlow,testValue);
            if(Math.abs(flowOut+npv)<MINDIF){
                break;
            }else if(Math.abs(flowOut)>npv){
                maxValue=testValue;
            }else{
                minValue=testValue;
            }
            LOOPNUM--;
        }
        return testValue;
    }
    
    public static double NPV(List<Double> flowInArr,double rate){
        double npv=0;
        for(int i=1;i<flowInArr.size();i++){
            npv+=flowInArr.get(i)/Math.pow(1+rate, i);
        }
        return npv;
    }
    
    public static void main(String[] args) {
        double flowOut=-237000d;
        List<Double> flowInArr=new ArrayList<Double>();
        flowInArr.add(flowOut);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        flowInArr.add(22643.999991d);
        
        
        System.out.println(IrrUtil.getIrr(flowInArr)*12);
    }
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    通过封装的工具类,来计算XIRR内部收益率

    下面,我们将深入探讨XIRR的计算原理和如何利用编程实现。 1. **XIRR计算原理**: XIRR的计算目标是找到一个利率,使得投资的净现值(NPV)等于零。它考虑了现金流的大小、发生时间和初始投资额。对于一个给定的...

    贷款内部收益率IRR计算表格、程序和代码

    用户可以在其中输入贷款金额、期限、每期还款额等信息,然后利用Excel内置的IRR函数来计算IRR。Excel中的IRR函数可以直接求解,无需手动迭代,方便快捷。 `testirr.zip`文件可能包含了`testirr.cpp`源代码的压缩包...

    财务收益率计算java工程XIRR

    在Eclipse开发环境中,Java程序员可以创建一个项目来实现财务收益率计算。Eclipse是一个流行的集成开发环境(IDE),支持多种编程语言,包括Java,它提供了代码编辑、调试和构建工具,使得软件开发更加高效。 XIRR...

    (完整word)EXCEL财务函数(IRR、XIRR、MIRR).doc

    IRR(Internal Rate of Return)函数是EXCEL中的一种财务函数,用于计算投资项目的内部报酬率。它的应用非常广泛,是学习财务管理不可或缺的工具。IRR 函数的参数定义如下:=IRR(Values,guess),其中Values 是一...

    用EXCEL计算财务内部收益率

    在Excel中,计算内部收益率通常使用IRR函数。IRR函数的基本语法是:IRR(values, guess),其中“values”参数是一系列现金流(可以是正负值,表示现金流入和流出),而“guess”参数是估计的内部收益率,可选,通常为...

    财税实务:巧用Excel计算NPV和IRR.pdf

    财税实务:巧用Excel计算NPV和IRR NPV(净现值)和IRR(内部收益率)是财务人员在进行投资决策时两个非常重要的投资指标。NPV是按照一定的折现率将未来现金流量折算成现在的价值,以判断投资项目的可行性。IRR则是...

    如何利用Excel计算NPV和IRR.pdf

    ### 如何利用Excel计算NPV和IRR #### 核心知识点概述 本文旨在详细介绍如何使用Microsoft Excel这款强大的电子表格软件来高效地计算净现值(NPV)和内部收益率(IRR),这两个指标对于评估投资项目的价值至关重要...

    相同间隔时间序列的现金流量内部收益率_Excel IRR函数的应用.rar

    2. **IRR计算**:在Excel中选择一个空白单元格,输入IRR函数,并引用现金流量的单元格范围。例如,如果现金流量在B2到B10之间,公式可能写作:`=IRR(B2:B10)`。 3. **结果解读**:IRR函数计算得出的收益率即为项目...

    财税实务:Excel函数:IRR函数.pdf

    Excel 使用迭代法计算函数 IRR,从 guess 开始,函数 IRR 进行循环计算,直至结果的精度达到 0.00001%。 在使用 IRR 函数时,需要注意以下几点: 首先,values 必须包含至少一个正值和一个负值,以计算返回的内部...

    运用Excel软件计算NPV净现值和IRR内部收益率及投资回收期折现率财务净现值的解释.doc

    "利用Excel软件计算NPV净现值和IRR内部收益率及投资回收期折现率财务净现值的解释" 本文主要讲解如何使用 Excel 软件来计算 NPV 净现值、IRR 内部收益率、投资回收期折现率和财务净现值,并通过实例演示如何使用 ...

    Excel函数:IRR函数【会计实务操作教程】.pptx

    IRR函数是Excel中的一个重要函数,它用于计算投资项目的内部收益率,帮助用户评估投资项目的盈利能力。IRR函数的使用可以帮助用户快速计算投资项目的内部收益率,从而辅助投资决策。 IRR函数的语法为:IRR(values, ...

    irr测算excel

    租金、IRR、总资金占用收益率测算表及公式

    excel金融计算专业教程

    《Excel金融计算专业教程》是一本深度探讨如何利用Microsoft Excel进行高效金融计算的教材。Excel在金融领域中扮演着至关重要的角色,它以其强大的数据处理和分析能力,成为了金融分析师、投资银行家、财务顾问等...

    Excel 强大的计算功能

    总之,Excel的计算能力结合VBA的编程能力,使得用户能够构建出高度自定义的解决方案,实现数据处理、分析和自动化任务,大大提高了工作效率。对于熟悉VBA的用户来说,这是一种极其强大和灵活的工具。

    内部收益率(IRR)计算

    在Excel中,IRR函数常被用来计算一个现金流序列的内部收益率,即使得该现金流现值为零的折现率。当投资产生一系列未来现金流入和流出时,IRR可以帮助决策者判断投资是否具有吸引力。 在C/C++编程环境中,实现IRR...

    iir滤波器的设计.zip_IRR滤波器的设计_irr滤波器_模拟低通滤波_滤波器

    这份文档可能涵盖了从理论到实践的整个过程,包括模拟滤波器设计、离散化转换、系数计算、滤波器结构(如直接型、级联积分梳状结构等)以及MATLAB或C语言的实现代码示例。 总的来说,IRR滤波器设计涉及到信号处理、...

    .Net(C#)年化利率计算方法

    为维护贷款市场竞争秩序,保护⾦融消费者合法权益,根据中国人民银行《中国人民银行公告〔2021〕第3号》、银保监会《关于进一步促进信用卡业务规范健康发展的通知(征求意见稿)》...使用Excel公式IRR公式验证,通过。

    在SQL Server数据库中如何计算金融数值

    在SQL Server数据库中进行金融数值计算,特别是在SQL Server 2000和2005这两个版本中,虽然没有内置的专门金融函数,但可以通过创建用户自定义函数(UDF)来实现。本文主要介绍了两个重要的金融计算概念:净现值...

Global site tag (gtag.js) - Google Analytics