企业在做一项投资的时候,经常需要财务做投资回报率的分析,那么今天我们就来介绍下,如何通过SPSS蒙特卡罗模拟法(Monte Carlo method)实现投资回报率的预测。
蒙特卡罗模拟法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法,是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特卡罗模拟法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
该方法基于迭代评估,利用随机数集作为输入,当模型复杂且非线性时(换句话说,在线性方式下参数不共变),或者当模型涉及多于两三个不确定参数时,使用该方法。模拟能够包含超过 10,000 个模型的评估,一项曾经只能借助超级计算机的帮助才能完成的任务。
模拟是按照采样方法分类的,因为输入是根据代表真实数据总体的概率分布而随机生成的。它使用随机数生成器通过重复地根据不确定变量的概率分布采样来生成模型的多重情境。
蒙特卡罗模拟法经常应用于企业投资回报率(ROI)的预测,注意这里是用“预测”,而不是“计算”, 如果是计算,那么一般是根据某一公式,来计算最终的ROI,但很多时候,影响ROI的因素是不确定的,因此通过蒙特卡罗模拟法允许您考虑ROI预测模型影响因素的不确定性,并且在存在不确定性的情况下评估各种模型结果的可能性。
IBM SPSS Modeler和IBM SPSS Statistics 都有蒙特卡罗模拟法算法,我们通过以下业务场景来看,IBM SPSS Statistics是如何实现的(在IBM SPSS Modeler实现方式类似)。
分析场景描述:
公司要扩展新业务,第一年投资成本需要1000000,每年计划投资成本大约是220000(100000上下波动),第一年计划收入600000 (100000上下波动),领导要求投入资金必须在3年内收回,并开始盈利,结合企业年收入增长率8%和贴现率7%,财务部门需要分析该项投资风险。如果每年的投资成本增加到300000(100000上下波动),该项投资是否可行?
财务部计算净利润(Net Present Value)公式如下:
Rn:每年收入
Cn:每年投资成本
r:折扣率
Co:第一年投资成本
分析目标
生成模拟数据,估算出该项投资风险。
实现步骤
1.业务理解
根据盈利目标,影响盈利的因素包括:
第一次投资成本
每年计划投资成本
第一年计划收入
年收入增长率
贴现率
为了实现3年内实现盈利,那么必须NPV>0
2.生成模拟数据,并设置每个变量的数据分布类型
PS:如果有历史数据,可以通过拟合自动检测到数据的分布类型。
第一次投资成本(startcost):1000000
每年计划投资成本(opcost): 220000(10000上下波动)
第一年计划收入(revenue):600000 (100000上下波动)
输入最大最小值及中位值
年收入增长率(growth):8%
贴现率(rate):7%
所有模拟数据的设置在同一个模拟面板中完成,如下图:
这里可以模拟的输入值可以有多种类型,包括正态分布,泊松分布,二项式,分类,指数等等。
3.设置要模拟的个案数(即根据输入因素的条件生成的记录数):
4.生成结果
通过数据模拟,我们可以得到NPV在不同范围值的概率,这时候可以评估出这项投资所带来的利润金额范围的概率,比如下图得到NPV>0 (即保证三年内盈利)的概率在83.35%
也可以通过拉动左右滑块设置不同NPV区间查看其概率,比如NPV>100000的概率是56.53%。
5.修改模拟面板条件做what if 分析
修改模拟面板中,growth的数据条件:比如将年收入增长率设置为8%、10%和12%,看对NPV的概率影响
将growth的值设置为8%,10%和12%
重新生成结果:
同样可以通过图形中的左右滑块修改NPV范围,在不同年收入增长率的条件下,实现NPV>0的机会如下图所示:
同理,我们也可以通过修改模拟面板中的其它数值,来查看对NPV的影响。 比如,将成本修改为300000(上下波动10000)
得到的NPV>0的概率是23.38%。
那么很方便看到如果投入成本增加到300000,那么想在3年内盈利的概率只有23.38%。在这里,你可以做任何的因素调整,之后可以看到实现的概率到底是多少,那么我们对未来要达到的利润能否实现就非常有把握了。