内部收益率

题目描述
在金融中,我们有时会用内部收益率IRR来评价项目的投资财务效益,它等于使得投资净现值NPV等于0的贴现率。换句话说,给定项目的期数T、初始现金流CF0和项目各期的现金流CF1, CF2, ...,CFT,IRR是下面方程的解:
                                                
为了简单起见,本题假定:除了项目启动时有一笔投入(即初始现金流CF0 < 0)之外,其余各期均能赚钱(即对于所有i=1,2,...,T,CFi > 0)。根据定义,IRR可以是负数,但不能大于-1。

输入
 输入文件最多包含25组测试数据,每个数据占两行,第一行包含一个正整数T(1<=T<=10),表示项目的期数。第二行包含T+1个整数:CF0, CF1, CF2, ..., CFT,其中CF0 < 0, 0 < CFi < 10000 (i=1,2,...,T)。T=0表示输入结束,你的程序不应当处理这一行。

输出
 对于每组数据,输出仅一行,即项目的IRR,四舍五入保留小数点后两位。如果IRR不存在,输出"No",如果有多个不同IRR满足条件,输出"Too many"(均不含引号)

样例输入
1
-1 2
2
-8 6 9
0
样例输出
1.00
0.50

分析:简单点就是求方程的解,四舍五入保留最后两位,所以要计算到最后三位,

1.枚举IRR的范围(-00,-1】V(0,++00);

注意事项:该题中函数npv(IRR)在IRR∈(-1,+∞)上是递减的,故最多有一个根;

大佬很嚣张的解答:

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(void)
{
   int a[100],i,j,k,n,x;
   while(scanf("%d",&n) && n)
   {
       for(i=0;i<=n;i++)  scanf("%d",a+i);
       double x=-1.0+1e-5,y=1e6,irr,npv;
       for(j=0;j<100;j++)
       {
           irr=(x+y)/2;
           npv=0;
           for(k=0;k<=n;k++) npv+=1.0*a[k]/pow(1+irr,k);
           if(fabs(npv) < 1e-6)  break;
           if(npv < 0) y=irr;
           if(npv > 0) x=irr;
       }
       printf("%.2lf\n",irr);
   }
    return 0;
}
View Code

 

转载于:https://www.cnblogs.com/helloworld2019/p/10449259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 内部收益率(Internal Rate of Return,IRR)是衡量投资项目的经济效益的重要指标之一。资金内部收益率的计算方法是:首先确定投资项目的现金流(即投入的资金以及随后的现金回收),然后通过计算得出一个利率,使得投资项目的现金流的现值与投资额相等。因此,内部收益率实际上是一种利率,表示投资项目能够提供的回报率。 具体来说,计算内部收益率的步骤如下: 1. 确定投资项目的现金流,包括投入的资金以及随后的现金回收。 2. 确定一组候选的内部收益率,并计算出这些内部收益率对应的现值。 3. 通过比较投资额与现值的大小关系,找到一个内部收益率,使得投资项目的现金流的现值与投资额相等。 计算内部收益率可以使用计算机软件,也可以手动计算。手动计算内部收益率需要使用数学公式和迭代法,因此相对较为复杂。 ### 回答2: 资金内部收益率(Internal Rate of Return,简称IRR)是衡量资金投资项目收益率的指标,表示资金在投资项目中获得的收益。 计算IRR的方法是利用现金流量的时间价值公式,使得项目的净现值等于零。具体步骤如下: 1. 列出项目的现金流量表:根据每期的投入和回收现金流量,列出项目的现金流量表。 2. 假设一个IRR的初始值:通常假设一个IRR的初始值作为计算的初始点,例如5%或10%。 3. 计算净现值:利用假设的IRR,根据现金流量表计算项目的净现值。净现值是指将每期现金流量按照折现率计算后的现值之和。 4. 调整IRR的值:如果净现值大于零,则IRR需要调整为更高的值;如果净现值小于零,则IRR需要调整为更低的值。 5. 以逐步调整的方式重复步骤3和4,直到净现值接近零为止。最终确定的IRR即为资金内部收益率。 IRR的计算需要通过试算的方式来确定具体的值,通常利用电子表格软件(如Excel)提供的IRR函数可以更方便地进行计算。同时,IRR还需要注意现金流量表的合理性和IRR的可比性,以确保计算结果的准确性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值