3.3 模拟算法
如果情景分析和决策树是帮助我们评估离散型风险影响的工具,那么模拟算法提供的就是检测持续性风险影响的方法。在现实世界里,我们遇到的大多数风险可产生数百种可能的结果,而模拟算法能就资产或投资的这类风险给出一个更完整的描述。
3.3.1 模拟算法的步骤
不像情景分析(这里探究的是离散情景之下的价值),模拟算法在处理不确定性上有更多的灵活性。在经典的形式里,模拟算法价值分布都是基于每种估值要素(增长、市场份额、营业利润率和贝塔)进行评估的。在每次模拟计算里,我们从每个分布提取一个结果,由此产生一组独一无二的现金流和价值。通过无数的模拟计算,我们可为一项投资或资产的价值取得一个概率分布,反映在评估那些估值要素时所面临的不确定性。模拟算法相关步骤如下:
1.确定“概率”变量
任何分析都有十数个潜在的估值要素,其中有些是可以预测的,而有些却不能。不像情景分析和决策树分析(其变量的数量和潜在结果都不多),而模拟算法有多少可以变动的变量,则没有限制。至少在理论上,我们可以在估值中为每个估值要素定义概率分布。但如果我们真这样做,则会耗时耗力,且提供不了太多的回报,特别是对价值仅有边际影响的要素。所以,有意义的做法是聚焦于几个对价值有很大影响的变量。
2.为这些变量定义概率分布
这是这种分析中最关键和最困难的步骤。通常,我们有三种方式定义概率分布。
●历史数据。对于历史悠久且数据可信的那些变量,利用历史数据推导概率分布是可能的。例如,假设你正在设法推导长期国债利率的预期变化分布(投资分析的一个估值要素)。你可以把图3-6展示的矩形图内容(基于1928~2005年每年国债利率的年度变化)作为其未来变化的概率分布。这里有个隐含的假设:这个市场上还没有发生结构性变化,这些历史数据还可信。

图 3-6 国债利率的变化,1928~2005年
●板块间的数据。在一些情形下,你也许能找到与被分析投资相仿的那些已有投资,可以把后者某个特定变量的分布作为前者的替代指标。这里来看看两个例子。假设你正在估值一家软件公司,担心其营业利润率的稳定性问题。图3-7展示了2006年美国的一些软件公司税前营业利润率的分布。如果采用这个分布,我们实际上是假设利润率的相关分布在软件公司间是相同的。在第二个例子里,假设你为塔吉特(零售商)工作,正在设法为一个新店的投资评估单位面积的销售额。塔吉特可以把现有那些商场该变量的分布作为该新店销售额模拟运算的基础。
●统计分布和参数。对于你想要预测的多数变量,历史数据或板块间数据可能不够或不可信。在这种情形下,我们需要挑选能较好捕捉估值要素变异性的统计分布,并为这个分布评估参数。因此,我们的结论可能是:它的营业利润率呈均匀分布,从最低的4%到最高的8%。我们的结论也可能是:它的收入增长呈正态分布,预期值为8%而标准差为6%。现在个人电脑里都有许多模拟算法软件包,给人们提供各种变量的分布。但由于两个原因,找到正确的分布及其参数仍然是一件较难的事。首先,能够满足统计分布严格要求的估值要素没有几个。例如,收入增长不是真正的正态分布,因为它能接受的最低数值是-100%。所以,我们不得不接受结果误差不会毁掉我们的结论且接近实际分布的统计分布。第二个原因是在选定分布后,还是要评估参数。对于这一点,我们可以借助历史或板块间的数据。对于收入增长这个要素,我们可以看看过往年份的收入增长情况或同类公司收入增长率的差异。但我们还是要警惕那些使得历史数据不可信或同类公司不可比的结构性变化。

图 3-7 税前营业利润率:美国软件公司,2006年1月
对于某些估值要素的离散型概率分布和另一些持续型概率分布,有些应该是建立在历史数据之上,而另一些则是应该建在统计分布之上。
3.检测变量间的关联性
在确定了分布之后,我们会有冲动要立刻开始模拟运算,但不要忘了一件重要的事情:检测变量间的关联性。例如,假设你正在为利率和通胀率拟算概率分布。虽然这两个估值要素在价值的确定上很关键,但它们之间好像有相关性;高通胀率通常伴随着高利率。当这种估值要素之间存在着很强的关联性(正向的或负向的),你有两个选择。一个是选取两个中的一个作为变量;最好是选择对价值影响大的那个要素。另一个是把这种关联性计入模拟模型里。这就要求有更复杂的模拟软件包,而且要在评估程序中添加更多的细节。
4.运算模拟模型
对于第一轮模拟运算,你从每个分布提取一个结果并给这些结果计算价值。这个程序你愿意重复多少次就进行多少次,但随着次数的增加,每次模拟运算结果的边际分布值会降低。你运算的模拟次数应该取决于下述因素。
●估值要素的数量。具有概率分布的估值要素的数量越大,模拟运算所需数量就越多。
●概率分布的特征。分析中所涉分布的多样性越多,所需模拟运算的数量就越大。因此,相比于既有正态分布又有基于历史数据的分布和离散型分布的模拟运算,所有估值要素都呈正态分布的模拟运算所需的数量比较少。
●结果的范围。每个估值要素结果的潜在范围越大,要求的模拟运算的次数就越多。
多数模拟软件包允许用户跑数千次的运算,要增加运算数量几乎没有成本。既然如此,那我们就宁愿多算几次,也不偷一时之懒。
要想获得好的模拟运算,我们面临两个障碍。第一个是信息类的:很难评估每项估值要素的价值分布。换言之,确定预期收入增长率的分布——分布类型及其参数,要大大难于评估下个5年8%的收入预期增长率。第二个障碍是计算方面的。直到个人电脑问世之前,模拟运算通常都被视为典型的时间和资源密集型分析。这两种约束在近些年都被缓解了,模拟运算变得更加可行了。
例3-3 估值3M公司:蒙特卡洛模拟模型
在第2章里,我们采用传统的贴现现金流模型估值了3M公司。我们用调整过风险的利率贴现了预期现金流,得到了每股86.95美元的评估值。在这个过程中,我们的确做了一些假设,所涉内容不仅包括公司的发展演化需要多长时间,还涉及未来的无风险利率和风险溢价。为了在这里给3M公司跑一个模拟运算,我们做了下述假设。
●股权风险溢价。在贴现现金流估值里,我们采用了一个4%的股权风险溢价,反映了1960~2007年标普500指数隐含的风险溢价的历史均值。这个评估值带有某些误差。所以,我们假设这个股权风险溢价呈现的是一个以预期值为4%的正态分布,标准差为0.80%(见图3-8)。

图 3-8 股权风险溢价:正态分布
●增长期的长度。我们假设3M公司在下个5年能够持续以高于经济增长率的速度发展。为了反映这个评估值的不确定性,我们允许增长期的长度在2~8年变化,赋予每个时间段一样的概率(见图3-9)。

图 3-9 增长期的长度:均匀分布
●资本回报率。在估值3M公司时,决定价值的一个关键成分是资本回报的假设,即在下个5年该公司将能够维持其现有的资本回报率(大约25%)。由于资本回报率会随时间变化,随着竞争加剧,我们假设该回报率的变化分布如图3-10所示。

图 3-10 已投资本回报率:最小极值分布
注意:我们假设,虽然预期资本回报率是25%,但很有可能回报率会超过30%,而且,回报率在将来也可能会低很多。通过研究这个板块的各公司资本回报率的分布,我们才得到了3M公司资本回报率的这个分布。
●再投资率。在贴现现金流估值里,我们假设3M公司在下个5年会保持一个30%的再投资率(基于过往的历史情况)。但该公司可能会有超过或低于这个再投资率的情形。采用3M公司过往再投资率标准差作为指南,我们假设其再投资率呈正态分布,预期值为30%,标准差为5%(见图3-11)。

图 3-11 再投资率:正态分布
而且,这个再投资率可能会是其资本回报率的函数——如果资本回报率高,再投资率也高。为了体现资本回报率和再投资率之间的这种关联性,我们假设它们之间的关联系数为0.40。图3-12显示的散点形状就是这种关联性的具体表现。

图 3-12 资本回报率和再投资率:关联性
所以,如果资本回报率接近30%,那么再投资率大约会是40%。如果资本回报率降至12%,那么再投资率也会降到20%。
●贝塔。在贴现现金流估值里,我们为3M公司评估的贝塔值为1.36(基于该公司经营的业务)。我们把这个贝塔值应用于该公司的高增长期。很有可能这个贝塔评估值不准确。为了反映这种精确性的差异,我们假设这个贝塔是正态分布——中值为1.36而标准差为0.07见(见图3-13)。

图 3-13 贝塔:正态分布
在这些估值要素到位的情况下,我们可以评估3M公司的每股价值——要考虑到刚刚确定的那些参数会随各次模拟运算而变化。图3-14展示了我们所获分布的模拟运算结果(通过1万次模拟运算的)。

图 3-14 3M公司的每股价值:模拟运算结果
这里是通过1万次运算获取的相关价值的关键统计数据:
●模拟运算的平均值是每股87.35美元,比调整过风险的每股价值86.95美元稍稍高出一点。中位数值是每股87.10美元。
●价值方差相当大。所有运算的最低值是每股55.22美元,而最高值是每股121美元。每股价值的标准差是16.15美元。
3.3.2 决策的运用
一个运作良好的模拟模型带给我们的不仅仅是一项资产或业务的预期价值,还包括如下内容。
●更好的估值要素评估值。对于一个理想的模拟模型,在决定使用何种分布及其参数之前,分析师可以认真考量每个估值要素的历史数据和板块数据。在这个过程中,他们能够避免伴随使用点式评估出现的草率。许多贴现现金流估值是基于一种专业的预期增长率——均为分析师们较为一致的评估值,通常来自类似Zack's和IBES这种专业机构所提供的服务。
●给出的是预期值的分布而不是一个点的评估值。看看我们在前一节完成的估值案例。除了每股预期的87.35美元的预期价值外,我们还评估了这个价值中内含的每股16.15美元的标准差和按百分比分解的价值。这个价值分布给我们一个明确和重要的提示:估值模型针对风险性资产所做的价值评估是不精确的。这也解释了为什么估值同一资产的不同分析师会得出不同的价值评估结果。
注意:我们不得不就模拟模型提出两点看法。第一,和传统的调整过风险的估值模型相比,模拟模型可就预期价值得出更好的评估值。事实上,来自模拟模型的预期价值,应该最贴近采用每个估值要素预期值(而不是整个分布)所获的预期价值。第二,通过提供预期价值的评估值以及那个价值的分布,模拟模型可以为我们带来更好的投资决策。事实可能不会总是如此:决策者通过全景了解所涉价值的不确定性所得到的好处,有可能还不如因误用那个风险指标所带来的危害。我们在本章后面的内容将会阐述,在模拟模型中双倍计入风险和把决策建立在错误类别的风险之上,都是常见的事情。
3.3.3 附带约束的模拟运算
为了把模拟运算当做估值中的工具使用,我们需要引进一种约束。如果违反了这种约束,将会使公司产生巨额的成本,甚至会导致公司的死亡。随后,我们会评估这种约束被违反的可能性及其对价值的影响。
1.面值约束
股权面值是一个会计概念,本身没有什么意义。像微软和英特尔这种公司是以市值交易的,它们的市值几倍于面值。而处在另一极端的公司,它们在市场交易中体现的市值却只有其面值的一半或更少。事实上,股权市值很大而股权面值为负的公司,在美国有好几百家。为了防范风险,对股权面值有两种约束方法。
●法定资本限制。监管当局要求像银行和保险公司这类金融服务公司,按其贷款或其他资产的一个基本比率,维持一定的账面股本。违反了资本约束要求的公司会被监管当局接管;如果这种事发生,股权投资者将会一无所有。所以,金融服务公司不仅会密切关注它们的面值资本(和相关的比率),也强烈地意识到一种可能性的存在,即它们的投资或头寸风险可能会最终削减其股本面值。事实上,在险价值表现的就是金融服务公司在这方面的一种努力:对其各种投资潜在风险的理解,以及对灾难性结果的防范——虽然发生的概率可能非常小。这些金融服务公司通过模拟法计算各种情景下的投资价值,不仅是在设法辨识其资本比率掉到法定标准之下的可能性,也是在寻找预防这种事情发生的相关方法。在采用贴现现金流估值模型估值一家银行时,模拟运算结果可以向投资者显示,那家银行由于法定资本比率不足而出现的敞口风险。
●股权负面值。如同我们提到过的,美国有数百家股权面值为负的公司侥幸存活下来且享有很高的市场价值。在有些国家,股权的负面值会给公司和投资者带来巨额损失。例如,在欧洲的某些国家,具有负股权面值的公司需要募集新的资本,以便把其股权面值重新提升至0以上。在亚洲的某些国家,股权面值处于负数的公司不允许支付红利。甚至在美国,向公司贷款的放款人会有特别的合同条款:如果借款公司的股权面值变为负数,那么放款人就有权获得至少部分公司的控制权。就像对待法定资本要求一样,我们可以利用模拟运算评估股权面值陷入负数的可能性,并依据这种可能性调整公司价值。
2.利润和现金流约束
利润和现金流约束,既可以内置也可以外置,两种方法都会影响公司价值。在一些公司,经理们认为披露亏损或未能达到盈利分析预期的结果会非常可怕(也许会失去他们的工作),他们会在风险对冲产品上花费更多的资金,以防备这种事情的发生。
对冲风险的成本会减少利润、现金流和公司价值。在其他一些公司,对利润和现金流的约束可能是外置的。例如,贷款合同条款可能与利润表现关联在一起。不仅贷款利率与公司是否挣钱绑在一起,在某些情形下,如果公司亏损的话,公司的控制权也会转移到放款人手里。在任何一种情况下,我们都可以运用模拟法评估这些约束被违反的可能性,并认真审视这种可能性对公司价值的影响。
3.市场价值的约束
在贴现现金流估值中,是把公司视为持续经营的实体,利用一个调整过风险的贴现率,对预期现金流进行贴现,计算出公司的价值。从这个评估值减去负债就是股权价值。对于违约的可能性及其潜在成本,只是在贴现率里被稍加考虑。现实中,这种违约的代价可能相当高昂。事实上,这些成本通常被归纳为间接破产成本,包括客户的丧失、供应商授信的缩水以及雇员流失率的骤升。公司处于困境信息的外溢会使公司困境的进一步恶化。模拟算法允许我们比较企业在所有情景下的价值(不仅仅是最有可能的一种),使得我们不仅能量化陷入困境的可能性,也可以把间接破产成本计入估值。实际上,我们可以明确地模拟困境对预期现金流和贴现率的影响。
3.3.4 运用模拟算法的问题
模拟算法在投资分析里的运用最早见于戴维·赫兹于《哈佛商业评论》里的一篇文章。[1]他认为采用估值要素的概率分布(而不是单一的最佳评估值),结果更有意义。他运用模拟算法比较了两种投资回报的分布。预期回报率更高的投资也是亏损概率最大的(视为风险性指标)。在这篇文章的影响下,有几篇分析也搭上了模拟算法的时尚之车,但结论不一。作为一种风险评估工具,近些年对模拟算法的热衷又开始回潮,特别是在衍生品的应用领域。尽管如此,在风险评估的模拟法运用方面,有几个关键的问题需要注意。
●运算结果好坏取决于原始数据质量。为了使模拟运算有价值,为估值要素选择的价值分布应该是基于相关的数据及其分析,而不是推测。值得注意的是,即便是估值要素呈凌乱状,模拟算法的输出结果也会相当漂亮。因此,就一项投资而言,面对一个毫无意义的风险描述,决策者却可能是深信不疑。同时,还要注意的是,对于模拟算法而言,仅仅对统计分布及其特征有泛泛的了解,是不够的。对正态分布与对数正态分布的区别都分不清楚的分析师,不应该去碰模拟算法。
●真实数据可能不会与统计分布吻合。我们在现实世界遇到的问题是,这些相关数据极少能满足统计分布的严格要求。采用概率分布会导致错误的结果,因为概率分布与估值要素的实际分布出入很大。
●非平稳分布。即便是相关数据适合统计分布或是可以得到历史数据的分布,市场结构的变化也会引起相关分布的变化。在某些情况下,这会改变分布的形式;在其他情况下,这会改变分布的参数。所以,对于具有正态分布的估值要素,利用其历史数据评估的等比中位数和方差,可能在下个阶段就改变了。我们真正想在模拟算法中使用但又极少能够评估的,是前瞻性的概率分布。
●估值要素间关联性的不稳定性。在本章的前面,我们提到估值要素的关联性可以计入模拟模型里。然而,只有在这种关联性仍然稳定且可预测的前提下,这样做才有意义。估值要素间的关联性会随时间变化,模拟它们的难度会越来越大。
[1]Hertz,D. ,1964,“Risk Analysis in Capital Investment,”Harvard Business Review.
3.3.5 风险调整型价值法和模拟法
在有关决策树的讨论中,我们提到一个常见的错误概念:决策树是调整过风险的,因为它们考虑了不利事件的可能性。同样的错误概念也存在于模拟算法中。相关看法认为出自模拟模型的现金流是经过了某种风险调整的,因为它采用了概率分布并在贴现这些现金流时应该使用无风险利率。除了一种例外情形,这种说法都缺乏依据。
检视所有的模拟运算,我们得到的现金流都是预期现金流,而且是没有做过风险调整的。所以,我们应该用一个调整过风险的利率贴现这些现金流。所谓的例外会出现在下述情形:把出自某个模拟模型的价值标准差作为相关投资或资产的风险指标,并据此做投资决策。在这种情形里,采用调整过风险的贴现率会导致风险的双倍计算。看看一个简单的例子。假设你正在设法就两项投资进行决策,你采用模拟算法和调整过风险的贴现率,对它们进行了估值。表3-5概述了相关结果。

注意:你认为资产B的风险更高并采用了一个更高的贴现率计算价值。如果你是由于模拟价值的标准差高而放弃资产B,那么你实际上就在一事双罚。你可以把无风险利率当做贴现率,对这两项资产再做一次模拟运算,但需要注意一个问题:如果此时你把对这两个项目的选择建立在模拟价值的标准差上,那么你在投资选择中假设的所有风险都是重要的,而不仅仅是不能分散掉的风险。换言之,因为一项资产的模拟价值里含有较高的标准差,所以你最终放弃它,但是如果把这项资产置于一个投资组合里,它却几乎不会产生额外风险(因为相关风险的很大部分可以被分散掉)。
这并不是说模拟算法在理解风险上没有价值。以预期价值为核心的各种模拟数值,给我们提供了一种启示:我们正在一个不确定性的环境中评估价值。我们也可以在组合管理中把它作为决策工具使用,比如对两只都被低估但价值分布相异的股票进行评估判断,为决策提供实实在在的依据。与价值分布波动性更大的股票相比,价值分布波动性小的股票可被视为更好的投资。
