NPV、IRR的计算

净现值(NPV, Net Present Value)
定义:将投资的未来现金流量,全部折现成投资始日的价值,称为该投资的净现金流量,或称为净现值。
假设投资的净现值为正数,代表该投资的结果可以增加企业的价值; 反之,如果投资评估的净现值为负数,代表此投资会减少企业的价值,不应该接受。
当然净现值为正数仍不代表该接受此投资建议,或许存在其他净现值更高的投资机会。在多项投资案并陈时,应选择净现值最高的投资案。

内部回报率(IRR, Inner rate of return)

定义:又称内部收益率,是指项目投资实际可望达到的收益率。实质上,它是能使项目的净现值等于零时的折现率。说得通俗点,内部收益率越高,说明你投入的成本相对地少,但获得的收益却相对地多。比如A、 B两项投资,成本都是10万,经营期都是5年,A每年可获净现金流量3万,B可获4万,通过计算,可以得出A的内部收益率约等于15%,B的约等于28%

例1:某项目投资期为6年,各年末净现金流量分别为-500、200、200、200、200、100,该项目基准收益率为10%,试通过NPV法分析该项目是否可行?
通过Excel计算NPV和IRR:
1、在Excel的A列从A1至A6中分别输入-500、200、200、200、200、100;

2、计算NPV:

在C2输入公式“=NPV(0.1,A1:A6)”按回车后,右键设置单元格格式,小数位数选择2,显示NPV为178.24,

3、计算IRR:

在在E2输入公式“=IRR(A1:A6)”按回车后,右键设置单元格格式,小数位数选择2,显示IRR为25.53% > 10%,即该项目的内部收益率大于项目的基准收益率,因此该投资项目可行。


例2:假设购买某债券10000元,到期还有5年,年利息5.41%,每年付息一次,到期还本。
那么在A1里面输入-10000,A2、A3、A4、A5也分别都输入541,A6输入10541,然后在要计算IRR的格子里输入:=irr(a1:a6),显示为5.41%。
在要计算到NPV的格子里输入:=NPV(0.0541,A1:A6),显示为0。

C#计算IRR
http://bytes.com/topic/c-sharp/answers/228668-what-would-syntax-namespace-call-irr

Reference the Microsoft.VisualBasic.dll.

The IRR function is in the Microsoft.VisualBasic.Financial class. Remember
that Modules in VB.NET are simply classes to C# with only static members.

Something like:

double[] valueArray = { -70000, 22000, 25000, 28000, 31000 };
double irr, guess = 0.1;

irr = Microsoft.VisualBasic.Financial.IRR(ref valueArray, guess);

Debug.WriteLine(irr.ToString("P"), "irr");

你可能感兴趣的:(C#)