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);
}
}

java 实现Excel irr计算(改进版)相关推荐

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

    import java.util.ArrayList; import java.util.List; public class IrrUtil { /**迭代次数*/ public static in ...

  2. Java 仿 Excel 公式计算

    这是我自己写的一个 Java 仿 Excel 公式计算 工具,支持自定义公式 github:https://github.com/38680050/excel-formula-calculation ...

  3. java导出excel设置行高列宽_使用POI生成Excel文件,可以自动调整excel列宽

    //autoSizeColumn()方法自动调整excel列宽 importjava.io.FileOutputStream; importorg.apache.poi.hssf.usermodel. ...

  4. java实现EXcel的RC地址变成常规地址

    java实现EXcel的RC地址变成常规地址 package p1;import java.util.*; import java.util.regex.Matcher; import java.ut ...

  5. Java将excel文件转成json文件(有错误)

    解释一下json文件(W3school) JSON 语法是 JavaScript 语法的子集. JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 ...

  6. 日期计算excel_在Excel中计算日期范围内的项目

    日期计算excel If you have a list on your Excel worksheet, and a date in each row, you can use a formula ...

  7. excel表格计算年龄_在Excel中计算年龄

    excel表格计算年龄 Can you remember how old you are? Or are you like me, and have to ask, "What year i ...

  8. JAVA导出EXCEL实现

    ##JAVA导出EXCEL实现的多种方式 java导出Excel的方法有多种,最为常用的方式就是使用第三方jar包,目前POI和JXL是最常用的二方包了,也推荐使用这两种. ###POI实现 POI这 ...

  9. Java读取Excel,03版本和07版本

    文章目录 java读取Excel 读取Excel的计算公式 java读取Excel 采用poi,这里有个知识点,03版本和07版本的Excel是有区别的,03的最多只有65536行,07的无限制 读取 ...

最新文章

  1. 哈工大等实现人工肌肉重大突破登上 Science!多国科学家联合实现全新驱动机理...
  2. windows 常用工具
  3. tl-wn821n无线网卡驱动 linux,tl-wn821n win10驱动
  4. Amazon S3数据存储
  5. Oracle查看正在执行的存储过程的sid
  6. python split函数 空格_python上手--10行代码读懂红楼梦
  7. Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
  8. CCF认证-2014-12-2 Z字形扫描
  9. G.726实时RTP音频流保存到AVI文件中
  10. 如何保障项目组写出高质量的代码
  11. armv7l安卓刷linux,技术讲解-安卓APK快速生成后门(实现手机入侵)
  12. Java原子类Atomic详解
  13. 概率论考点之指数分布,泊松分布及积分(一维随机变量内容)
  14. ios安卓模拟器_IOS全球首款手游模拟器,牛逼哄哄但没有卵用!
  15. 前端调取.net core webapi 报错:“...CORS policy: Response to preflight request ...“的问题成因和解决办法。
  16. python用matplotlib画折线图
  17. MIC29302WU-TR高电流、高精度、低压差的稳压器
  18. aiem模型matlab,基于MIMICS模型的麦田地表土壤含水量反演研究
  19. 如何将「插件化」接入到项目之中?
  20. 谷歌浏览器英文页面翻译成中文<配置方式>

热门文章

  1. Unity插件 - MeshEditor(十) 模型风力拉扯特效
  2. 小猫爪:i.MX RT1050学习笔记23-FreeRTOS移植之宇宙最详细
  3. JS工具库之Lodash用法005 _.difference(),_.differenceBy()_.differenceWith()
  4. batik1.8在文字渲染上的bug
  5. 教育论文中的论证方式
  6. 【Python】正则表达式快速入门(re模块的使用)【转载】
  7. 魔兽争霸3冰封皇座 不死族Undead英雄使用经验和建筑顺序
  8. MySQL基础知识测试,文末领取面试资料
  9. 老左博客-前端资源-表格样式
  10. 牛客竞赛每日俩题 - 动态规划3