【摘 要】 Excel在投资决策中的应用是一个十分实用而又亟待解决的重要课题。本文针对投资决策的重点和难点,采用Excel技术,研究了利用函数计算净现值、内涵报酬率、年折旧额及方案选择,利用公式计算项目资本成本、总净现值和利用跨表取数技术编制投资预算表以及利用规划求解进行资本限额情况下的投资组合决策等一系列问题,以为广大财务工作者提供借鉴。
【关键词】 Excel; 投资决策; 净现值; 内涵报酬率; 资本成本; 资本限额; 线性规划
在财务工作中,投资决策是最重要的决策。按照MM理论,企业价值取决于企业的投资决策。一个企业的兴衰存亡,往往与投资的正确与否息息相关。《北京人在纽约》中的王启明之所以破产,《大世界风云》中的黄楚九之所以失败,都是因为投资的失误。文艺作品中的情形如此,现实生活中的情况更是如此。
投资决策的正误,既取决于体制因素,取决于决策理念,也取决于预测水平,还取决于决策技术等等。如果不能快速、准确地作出决策,那么决策的方法再科学、合理,也难以得到普遍应用,而要快速、准确地作出决策,就必须利用计算机。本文仅就决策技术中的计算机应用问题——Excel在投资决策中的应用问题略陈管见。
一、利用函数计算净现值和内涵报酬率
(一)利用NPV函数计算净现值
投资决策中的折现法优于非折现法,折现法中又以净现值法和内涵报酬率法最为普遍。而净现值和内涵报酬率都可以利用Excel函数解决。
1.NPV函数
在Excel中,可以利用PV函数计算现值进而计算净现值,也可以利用NPV函数直接计算净现值。其中PV函数既可以计算一次性流量的现值,也可以计算多次性相同流量(即年金)的现值;而NPV函数可以计算多次性相同或不相同流量的现值。显然,在投资决策中计算净现值应该利用NPV函数。
假定折现率和现金流量资料如表1:
利用NPV函数计算净现值的具体做法是:在目标单元格单击菜单中“∑”右侧的下拉菜单,选择“其他函数”单击,然后在出现的“插入函数”对话框中选择“财务类别”单击,再找到“NPV”选项 ,单击“确定”后,出现一个对话框。此时可根据其中的提示在“rate”一栏中填入折现率;也可单击此栏后的红色箭头,显现出工作表,选定折现率的单元格(10%),再单击红色箭头回到对话框,单击“value”一栏后的红色箭头,显现出工作表,拖动鼠标选定工作表中的第二列(现金流量),单击红色箭头回到对话框,单击“确定”,出现结果9 928.48,如图1。
需要特别注意的是,9 928.48并不是最终结果。因为利用NPV函数计算净现值,一定要注意时点,即折现后的具体时点。
时点的确定,可分一次性投资和多次性投资分别说明。对于一次性投资来说,要看其是否是投资起始年。如果不是投资起始年,一定要折算为投资起始年。对于多次性投资来说,一般要换算为建成待投产时。
2.一次性投资净现值的计算
在一次性投资的情况下,如果所选数据包括投资额,则NPV所计算的净现值是投资时(假定为0年)前1年(即-1年)的净现值。因而还要乘一个1年期终值系数即(1+利率),从而求得投资起始年的净现值。如果所选数据不包括投资额,则可以在计算各年流入现值总额后,再减去投资额。
因而,上述结果9 928.48还要乘以(1+10%),最后在对话框点击“确定”,在目标单元格内就会出现A方案的净现值10 921。B方案可用同样的方法操作。如表2:
顺便指出,有人并未如此计算,因而导致结果不正确。例如:某项目投资期为6年,各年末净现金流量分别为-500、200、200、200、200、100,该项目基准收益率为10%,要求通过NPV法分析该项目是否可行。其做法如下:在Rate栏内输入折现率0.1,在Value栏内输入一组净现金流量,并用逗号隔开-500,200,200,200,200,
100,也可单击红色箭头处,从Excel工作簿里选取数据,然后,从该对话框里直接读取计算结果“计算结果=178.2411105”,或者点击“确定”,将NPV的计算结果放到Excel工作簿的任一单元格内。
笔者认为,这里存在两个问题:第一,根据其提供的现金流量资料,该投资的投资期不是6年,而是5年;第二,其净现值不是178.24,而是196.07。178.24乃是负1年(即投资开始前1年)的净现值,而不是投资开始时(即0年)的净现值。
为了说明该结果的准确性,也可以利用PV函数逐年计算现值,最后求和来验证,如表3。
由于计算结果的错误,很可能导致该投资项目的放弃,或者在两个备选方案中错误地弃此选彼。因此,在应用现成函数计算时,不仅要看到效率高的一面,而且要千万注意计算结果的准确性。
3.多次性投资净现值的计算
某些大型项目,往往多年建成等缇┚盘路、长江三峡工程,这就是多次性投资的情况。对于多次性投资,在计算净现值时,有三个问题值得注意:一是涉及投资期与现金流量时点问题;二是涉及折现点选择问题;三是涉及两个折现率问题。
(1)投资期与现金流量时点问题
如果说一项投资3年建成,建成后不需要铺底资金,寿命周期5年,则其现金流量图应如图2所示。
如果建成后需要铺底资金,则在0年处会存在现金流出。不论如何,都不应在第1年处产生现金流入。但是不少著作却在0年处产生了现金流入,显然是不准确的。因为不可能刚刚建成就马上有现金流入,也有的著作在0年有现金流出,而-3年却没有现金流出,这显然不是3年建设期,而是2年。0年的流出,只应理解为发生的铺底资金。
鉴于现金流出在期初,现金流入在期末的一般假定,多次性投资现金流量图的描述在原点(0年)可以有空点,也可以有流出,但不大可能有流入(即使是试生产也要在建成之后)。
(2)折现点选择问题
多次性投资项目的折现点如何选择,也是一个值得探讨的问题。总的看来,无非两个,一是建成投产时;二是开始投资时。从理论上说,二者均无不可。但由于投资决策需要计算固定资产折旧,而固定资产折旧要根据建成的固定资产价值计算提取。由于利息的资本化,故只有预计在固定资产建成时才能合理确定固定资产价值,因此,笔者认为折现点应该选择在建成投产时,即0年比较合理。
(3)两个折现率问题
一项多次性投资的项目,需要将各个阶段的现金流量换算为折现点的现值。这对于初始投资时点来说,实际是终值。由于投资的必要报酬率和建设阶段的融资成本往往不同,这就可能出现两个折现率的问题。
(4)多次性投资净现值的计算
在解决了上述几个问题之后,就可以很容易地计算多次性投资净现值。可以用投资的必要报酬率和建设阶段的融资成本分别对营业及终结阶段和建设阶段的现金流量折现,再将建设阶段现金流出的现值利用终值计算技术换算成建成时的现值。由于全部换算成折现点的现值,则流入现值与流出现值的差额就是多次性投资净现值。
在Excel中,计算现值还应用NPV函数,计算终值应用FV函数。
例,假定根据下列资料,可求得现值和净现值结果如表4。
由于净现值由负为正,故该投资项目应该接受。
(二)利用PMT函数计算年均净现值
有时为了对不同期限的项目进行比较,可以通过计算年均净现值进行。计算年均净现值,只需利用PMT函数即可。
PMT函数基本格式如图3。
在前3个对话框中,只要分别填入折现率、每项目期数、项目净现值,然后回车即可求得年均净现值。假定折现率10%、项目期数2年、项目净现值2 066,则其年均净现值=1 190.48。
注意,对话框中显示的结果是-1 190.48,这是因为PV是正数的缘故。在该函数中,二者的符号都是相反的。可以在该结果的单元格中加一个“-”号将其调整为正。
(三)利用IRR函数计算内涵报酬率
在手工操作中,内涵报酬率的计算非常复杂。首先是逐次测试,在多次测试后,再进行插值。很可能还会出现两个或多个内涵报酬率的情形。
如果利用Excel的IRR函数,就易如反掌。
具体做法是:
在菜单中选择“其他函数”——“财务函数”的“IRR”函数,就会出现以下的对话框。如图4。
在出现的对话框values中,点击右侧的红箭头,然后选定所有各期现金流量数据,对cuess可忽略(即不输入任何数据),最后点击“确定”按钮,即可十分轻松地求得内涵报酬率。
假定资料如表5。
利用上述方法确定后,就显示了IRR=25.53%。
内涵报酬率的计算如表6。
利用计算机求解内涵报酬率的好处表现在:
一是大大提高了计算速度和工作效率。二是避免了手工计算下可能出现的两个或多个内涵报酬率问题。对于那些高得出格的结果,程序就直接予以舍弃了。不论现金流量如何,内涵报酬率只有一个结果,不会出现第二个结果。三是避免插值不合理导致结果的不准确。内涵报酬率的插值求解,本来是利用以直代曲原理,应以紧紧相邻的两个利率进行插值。但在手工操作下,有人为了图方便,往往以差距颇大的两个利率为基础进行插值,这就难免导致结果的不准确。而利用计算机求解避免了这种情况。
在利用IRR计算内涵报酬率时,必须注意以下几点:
1.现金流量数字要有正有负,即既有现金流入又有现金流出;否则,就无法求出结果。实际上,任何完整的经济活动,都必然既存在现金流入也存在现金流出。当然实务上流入流出的时间和顺序可能更错综复杂。至于流出流入数量的多少,时间的迟早,只影响内涵报酬率的高低,并不会出现无法求解的情况。
如果现金流量全部为正,就会出现如下结果:#NUM!,表示错误,根本无法求出结果。
2.如果某时点没有现金流量,该单元格必须用0填充;否则结果就不准确。如下例,NPV结果应为14.25,IRR结果应为10.98%,见表7。
如果不加0,则NPV、IRR结果就不是分别为14.25和10.98%,而是65.67和16.48%,结果大相径庭。
注意,空格而不填0和两个数据连排而无空格的结果是一样的。只有在空格处填0,系统才会认定某期没有现金流量。若干空格中的数据表明间隔了若干期。
3.如果现金流量是按半年或按季发生,则利用IRR求得的结果要调整为年实际利率,即将求得的半年、季实际利率分别乘以2或4,换算为全年。
(四)利用MIRR函数计算考虑投资成本和现金再投资报酬率的分期现金流的内涵报酬率
可以利用MIRR函数计算考虑投资成本和现金再投资报酬率下的一系列分期现金流的内涵报酬率。假定投资成本和现金再投资报酬率分别为6%和12%,其他现金流量资料如表8,则可计算考虑投资成本和现金再投资报酬率下的一系列分期现金流的内涵报酬率为8%。
MIRR函数基本格式如图5。
在对话框中分别输入现金流量、投资成本和现金再投资报酬率,单击“确定”,即可求得MIRR为8%。
(五)利用DDB函数和SYD函数计算每期折旧额
在投资决策中,固定资产折旧是营业阶段现金流量的重要构成部分。不同的折旧方法导致不同的年折旧额。在手工操作下,快速折旧法的年折旧额的计算比较繁琐。但Excel也提供了有关函数。可以利用DDB函数和SYD函数分别计算双倍余额递减法和年数总和法的每期折旧额,进而计算各年现金流量,以便准确计算项目净现值和内涵报酬率。
1.利用DDB函数计算每期折旧额
如果企业采用双倍余额递减法提取折旧,应利用DDB函数。DDB函数的基本格式如图6。
只要依次输入原值、残值、期限、期次,即可求得双倍余额递减法下各期的折旧额。这里的关键是period(即期次),应根据不同期次填列。由于factor为余额递减速率,如果省略,默认为2,即为双倍余额递减法,因此可忽略不填。
在实际工作中,由于计算各期折旧额时的原值、残值、期限都是一定的,故可利用绝对地址表示,另外将期次按顺序编号,在period中直接选择期次编号的单元格,就可以立即生成各期的折旧额,大大提高了工作效率。
2.利用SYD函数计算每期折旧额
如果企业采用年数总和法提取折旧,应利用SYB函数。SYB函数的基本格式如图7。
只要依次输入原值、残值、期限、期次,即可求得年数总和法下各期的折旧额。其关键也在于period(即期次),做法与DDB相似,兹不赘述。
(六)利用IF函数自动选择方案
当求得项目的净现值或内涵报酬率之后,就可以依据决策规则对项目进行取舍或选择。为了进行方案的自动选择,可以利用IF函数进行。IF函数属于逻辑函数,其基本格式如图8。
如果只涉及一个方案的取舍,则在对话框的第一行输入逻辑函数“B11>0”(即净现值大于0,假定净现值在B11单元格),在第二行输入“接受”,第三行输入“放弃”,即:IF(B11>0,“接受”,“放弃”),然后“确定”,就可自动生成结果。如果涉及两个方案的选择,可以按照A>B,选A;否则选B的格式进行方案的自动选择。见图9。
由于净现值=196.07,大于0,故结果是“接受”。点击确定,显示如表9:
二、利用公式计算项目资本成本和总净现值
(一)利用公式计算项目资本成本
在投资决策中,必然涉及到融资问题,涉及资本成本问题。如何计算资本成本?历来是财务学中的一个难点问题。这里的资本成本,一般不应该等同于企业的资本成本,而应是项目本身的资本成本。它与投资项目的风险有关,也与融资方式和融资结构有关。由于具体项目的风险往往不同于整个企业的风险,因此资本成本不同也就势所必然。
要计算项目资本成本,要求对项目来源成本进行加权。在实际工作中,可能涉及发行股票和多种负债。首先可以对各种负债成本进行加权,然后将其换算为税后成本。只要有了负债成本的数据,掌握了加权方法和计算公式,这种计算就是相当简单的。另外也可以分别计算各种负债的税后成本,最后与其它证券一起加权。
问题在于,某些负债成本需要计算,如公司债券,就要计算内含利率。其计算方法、观点不一。笔者认为,采用内涵报酬率的方法比较合理。内涵报酬率的计算机求解问题如上述。
问题还在于,权益资本成本的确定,这是关键所在。
计算权益资本成本,一般离不开资本资产定价模型,当然还应该辅之以其他方法,但也都涉及计算公式。而资本资产定价模型又离不开贝塔值(β)的计算。贝塔值(β)的计算非常复杂。在发达国家,往往也是由有关机构提供。在我国,目前尚无这样的权威机构。因而,贝塔值(β)的计算还是一个实务中的难题。即使这个问题解决了,资本资产定价模型中无风险利率的选择也是一个理论和实务中迫切需要解决的问题。
如果给定无风险利率、市场收益率和贝塔值(β),就可以利用公式计算项目的权益资本成本进而计算项目的资本成本。 例:假定有两种债券,期限不同,利率不同,另有优先股和普通股,其有关基本资料及其计算结果如表10。
从表10中可见,两种债券的IRR分别是4.0%、6.75%,由于是半年付息,则内含利率分别是8.0%、13%。如果税率仍是33%,税后成本分别是5%、9%,最后利用加权公式求得加权平均资本成本是17.25%。
有了资本成本数据,就可以此资本成本为折现率再根据现金流量计算净现值。
(二)利用公式计算项目总净现值
对于两个期限不同的项目,不能直接比较净现值,而应根据两个项目年数的最小公倍或无限循环情况下的净现值总和进行比较。我们将这种净现值总和称为总净现值。总净现值要利用公式计算。假定项目可以无限循环,则其总净现值的计算公式如下:
NPV(n)为每次循环的净现值;
k为折现率;
n为每次循环的年数。
例如,有两个互斥且寿命周期不同的项目A、B,假定资本机会成本是10%,其它资料如表11:
通过NPV函数计算,两个项目的净现值分别为2 066.12,
2 223.89,看来是B优于A,但如果两个项目可以在各自原有基础上重复,利用前述计算公式,可知A将优于B。
如果将上述公式置于工作表中的某一个单元格中,就可以自动计算出总净现值。现在B10单元格输入公式:=B9×[(1+B8)^B3]
/[(1+B8)^B3-1],回车后就可显示结果为11904.76。在C10
单元格输入相同的公式,只是要将B改成C,结果为8943。见表12。
利用总净现值决策,与上述利用年均净现值决策结论是一致的。
即使两个项目的期限不是2和3,仍可通过插入行的方法补充现金流量数计算出一个循环的净现值,同时要将第3行的年数更改过来。只要求得了一个循环的净现值,就可以计算出任何年数的无限循环的总净现值。这样就可以一劳永逸,大大免除计算之劳。
三、利用跨表取数技术编制投资预算表
一项投资现金流量的计算十分复杂,往往要涉及许多工作表。在初始阶段,可能涉及多种设备的购入以及厂房的建设,也可能涉及多种无形资产的投资,还可能涉及各种铺底流动资金的投资,甚至还可能发生某些递延资产支出。对于汰旧换新的决策来说,还涉及旧设备的估价及其所得税调整问题。在营业阶段,要以税后息前利润与折旧之和作为现金流量,该现金流量的计算更非一张表所能胜任。在终结阶段,要较准确地计算固定资产残值,回收铺底流动资金,还可能涉及无形资产的残值。其中,各种现金流出、现金流入不仅涉及实物(设备、材料、人工、产品等)数量的预测,也涉及价格的估计。失之毫厘,谬以千里。在实际工作中,往往要编制多种计算表,要耗费大量的人工,一张表的预计错误或计算错误,往往要推倒重来,简直是不胜其烦。
为了克服这一弊病,必须抛弃手工操作方法,利用计算机完成。在Excel中,可以利用跨表取数技术,形成表与表的链接,甚至簿与簿的链接,从而可以形成一个立体网路链接。对于原始资料,可以专设一个基础资料表。如果基础资料发生变化,结果就会随之而变化。
至于一项投资是利用一个工作簿还是多个工作簿,应视资料的复杂性而定。
如果资料复杂,就可以设置基础资料工作簿,收入工作簿、成本工作簿、现金流量工作簿等,其中基础资料工作簿可以包括固定资产投资工作表、流动资产投资工作表、无形资产投资工作表、原材料工作表、产品工作表等;收入工作簿可以包括按品种分类的各种产品收入工作表,也可以包括按年区分的各种产品收入工作表;成本工作簿与收入工作簿相类似,但可能由于成本项目的繁多而更加复杂。
如果资料简单,则可将工作簿缩为工作表,将上述一个工作簿中的多个工作表合并为一个工作表。
跨表取数技术非常简单,但在编制资本预算时却非常重要。其方法就是利用等号(“=”)链接。要链接时,首先输入“=”,然后就可根据需要随心所欲地到本工作簿中的其它工作表、其它工作簿的任意工作表中取数。当然也可以在本工作表中取数。不仅数字可取,文字也可取。一旦用“=”链接,引用的单元格就与被引用的单元格内容相同。不难看出,基础资料应该跨表取数,某些复杂的计算结果也应该跨表取数,如快速折旧法的年折旧额的计算、资本成本的计算都比较复杂,则可以在其它工作表求出结果后,通过跨表取数链接到净流量和净现值计算表中。
经过这样的链接,任何复杂的项目预算就变成了一个完整的整体,牵一发而动全身。这对于原始资料的变化、投资方案的修改,都是极其方便的。
四、利用规划求解进行资本限额情况下的投资组合决策
对于存在资本限额情况下的投资组合决策问题,传统上往往根据现值指数大小排序,然后计算加权平均现值指数。加权平均现值指数高的投资组合方案,乃是投资组合净现值总和最大的最佳方案。因而这与投资决策的净现值最大原则是一致的。但问题在于,如果备选方案很多,需要反复组合,要找出最佳方案是颇有困难的。因而有人提出线性规划方法。其实对于投资决策来说,应是零一规划问题,即线性规划中的零一规划问题。
既然是线性规划,就要有目标函数和约束条件。
设X为自变量,表示方案的选择或放弃。目标函数应是投资组合净现值总和最大,这可以通过各个项目净现值与自变量的乘积之和表示。约束条件是:X的取值只能是0或1。等于1,表示采用;等于0,表示放弃;另外,X应为整数,投资组合的初始投资额要小于等于资本限额。
如何利用计算机解决线性规划问题,可以利用“工具”菜单中的“规划求解”解决。
假定现有14个方案,需要资金4 400 000元,而企业资本限额是3 000 000元,资本成本都是5%,都是1年期,利用规划求解则可容易地计算出各项目净现值。根据有关基本资料可建立工作表如表13。
在线性规划中,目标函数要用数组计算。具体办法是:在选定目标函数单元格E3后,依次点击求和函数SUM,在括号内先后输入净现值列单元格(如D3:D16)、*、自变量X列(如E3:E16),然后同时按Ctrl 、shift和enter,则目标单元格已经完成公式输入。其公式如表14。
在初始流出合计栏依次输入投资额列、*、自变量列,然后同时按^shift和enter,则如表15。
接着,在工具菜单中选择“规划求解”,如图10。
则会出现下列对话框。将目标单元格E3置于“设置目标单元格”对话框中,并令其等于最大值,即在选择框中选最大值。如图11。
选定可变单元格,即自变量,在可变单元格处选定E6:E19,则如图12。
接着在图12点击“添加”,即添加约束条件,X要用≤1(而不能用=1)表示,为了方便,可将各变量一次选中,令自变量≤1,则如图13。
在上图再点击“添加”,添加约束条件,X要≥0(而不能用=0)表示,各变量一次选中,令自变量≥0,则如图14。
在上图再点击“添加”,添加约束条件,使数值为整数,则如图15。
在上图再点击“添加”,添加约束条件,使投资额低于资本限额,则如图16。
在完成各种约束条件输入后,点击上图“确定”按钮,则目标单元格、可变单元格、各种约束皆一览如图17:
在图17上点击“求解”,经过数秒的运行,则生成表16。表中自动填充了自变量列各单元格,自动得出目标函数值469.84,初始流出生成的结果3000也不高于资本限额3000。同时生成一个规划求解结果对话框由计算者选择处理。
在“保存规划求解结果”情况下点击“确定”,则最后生成上表结果;否则,将恢复为原值。
在投资决策中,Excel除了以上多方面应用外,还可以利用方案管理器进行投资方案的比较,利用单变量求解进行投资影响因素敏感分析等等。
另外需要特别强调的是,按照现代投资观点,投资项目的净现值,应该包括期权的价值。也就是说,为了全面计算净现值,还应该考虑期权因素,而期权的计算更为复杂。但利用Excel也可以顺利解决。限于篇幅,本文不作探讨。
【参考文献】
[1] 费雷德,韦斯顿,等著.杨君昌,等译.管理财务学[J].中国财政经济出版社,1992年.
[2] 〔美〕Thmas ChesterRichardHAlden,著.王应超,等译.Excel97从入门到精通.电子工业出版社,1998.7.
[3] 金光华,主编.Excel在财会管理系统中的应用.电子工业出版社,2000.1.
[4] 苏万贵. 利用Excel进行财务分析.财会通讯,1999.7.
[5] 苏万贵. Excel在投融资实际利率法中的应用.会计师,2007.7.
[6] 苏万贵. Excel在成本预测中的应用.中国管理信息化,2007.3.
[7] 吴少平. 现代成本管理.经济管理出版社,2007.2.