财务预测与估值建模之九:构建基础模型

今天我们开始第九节课程的学习,从今天的课程开始我们要正式学习如何从头开始构建一个财务预测模型。在这节课程里,我们首先来学习一下如何构建一个基础模型,通过构建基础模型,我们可以更清楚地了解财务预测模型的一些基本原理,包括一些基础的会计学知识、资产负债表的平衡机制、如何在财务预测模型中正确的应用EXCEL的循环引用与迭代计算等等。在理解这些基本原理之后,我们再在之后的课程里对基础模型进行扩展,加入更多在实务中需要考虑的各种因素,让模型变得更加准确,更加贴近实际。

这节课程的内容大致分为四个部分,第一个部分我们将介绍了一些财务预测中需要用到的基础的会计学知识,同时对资产负债表的平衡机制做一个介绍,这是我们之后搭建财务预测模型的一个关键步骤。因为在实践中配平资产负债表可以采用两种方式,一种方式不需要使用现金流量表,另一种需要使用现金流量表,我们将在第二部分和第三部分介绍这两种模型,分别是试验模型一和试验模型二。第四部分我们将简单回顾一下EXCEL中的循环引用和迭代计算功能,以及如何在财务预测模型中应用。好,首先让我们来看一下第一部分内容,财务预测中的会计基础与配平机制。

一、会计基础与配平机制

想要构建一个准确完整的财务预测模型,我们就必须对模型各个部分之间的相互作用关系有基本的了解,而这种相互关系本质上遵循一般的会计学逻辑,这就要求我们掌握一定的会计学知识。所幸的是,构建财务预测模型所需要的会计学知识并不复杂,一般都可以在比较短的时候内掌握。如果你觉得自己的会计学基础比较薄弱,也不用担心,因为构建财务预测模型恰好能够加强你的会计学知识,并且通过实际应用能够让你更好的理解会计学中的各种概念和原理。

首先我们来回顾一下三张财务报表。要进行财务预测,核心就是预测三张财务报表,也就是资产负债表、利润表和现金流量表。所谓利润表,它衡量了一家公司在一个会计期间内的收入和支出的情况,这个会计期间可以是一年,也可以半年或者一个季度,利润表的最上方是公司营业收入,最下方一般是公司支付股利后的净利润,如果公司没有支付股利那就是净利润。需要注意的是,利润表记录是某一个时期的值,比如2018年度,2017年第一季度等,而不是像资产负债表那样是一个时点的值,比如2018年12月31日等等。第二个是资产负债表,它反映企业在某一个特定日期,比如在月末、季末、或者年末全部资产、负债和所有者权益的情况,它是企业经营活动的静态体现。根据会计恒等式,资产负债表左侧的资产总额总是等于右侧的负债和所有者权益之和,这也就是我们为什么说资产负债表总是平衡的。第三个是现金流量表,它反映了资产负债表中各个项目变动对企业现金的影响,并且可以根据用途和来源划分为经营、投资及融资三类。一般来说,企业购买资产或者减少负债等会减少企业的现金,而通过销售商品、出售资产或者增加负债和权益可以增加现金,如果计算正确的话,现金流量表最后的现金变动将和资产负债表中的本期货币资金和上期货币资金的差值相等。有时候,企业的总的现金变动可能是负的,这意味着企业创造的现金比它使用的现金要多,这意味站企业必须对外借债,这样才能维持企业的运营。

第二个需要回顾的概念是复式记账法。我们前面提过会计恒等式,也就是总资产等于总负债加上所有者权益,等式的左侧也就是总资产表示的是我们已经拥有的,而右侧总负债加所有者权益表示了资产的来源,也就是我们是如何获得资产的,是通过负债也就是债务融资的方式,还是通过股东投资也就是权益融资的方式。这也就是为什么在资产负债表中,每笔交易的结果至少被记录在一个借方和一个贷方的账户,并且这笔交易的借贷双方总额相等,也就是“有借必有贷,借贷必相等”。比如当我们刚创立一家公司时,股东出资了50万,再向银行借入了50万,那么公司的负债和所有者权益都贷记50万,同时公司的现金借记100万;下个月,公司使用20万元购买了各种设备,那么现金贷记20万,同时固定资产借记20万;之后如果公司花了10万元支付工资,那么货币资金贷记10万,同时利润表中的费用要借记10万元。在实务中,账户的借记和贷记比这里介绍的要更复杂,好在我们做财务预测时并不需要知道这么多细节,大家只需要知道复式记账法的基本原理就可以了。

最后让我们来看一下财务预测中的配平机制,我们上面已经讲过,正确编制的资产负债表肯定是平衡的,否则就是编制中出现了错误,所以我们在财务预测中引用的历史资产负债表肯定也是平衡的。但是当我们在预测未来的资产负债表时,可能出现不能配平的情况,这时候我们需要引入某些平衡变量来确保预测的资产负债表也是平衡的。对于不平衡的资产负债表,只会出现两种情况,一种情况是资产大于负债加所有者权益,这种情况下我们引入的平衡变量叫融资缺口,我们前面讲过,负债和所有者权益对应着资产的资金来源,如果预测的资产大于了预测的负债和所有者权益,那就意味着需要更多的资金来获得我们预测的资产规模。这个资金来源既可以是债务,也可以是所有者权益,分别对应债权融资和权益融资,但在实践中我们一般假设这个资金来源是债务,因为在实践中企业一般是通过银行融资来满足短期流动性需求,而不是通过发行股份来解决。解决短期流动性需求最好的方式是循环贷款,即在一定的时期内,银行给予企业一定的授信额度,企业可以在需要时随时向银行提取贷款,并且在资金充裕的时候随时偿还,只要贷款的未偿余额没有超过银行的授信额度,企业就可以多次提取、逐笔归还、循环使用。因此,有时候我们也把融资缺口称为循环贷款,在之后的课程里,这两个术语都会经常出现,大家知道他们是一个意思就可以了。如果预测的资产小于负债加所有者权益,那么就需要在资产负债表的资产这一侧加入平衡变量,这个平衡变量一般叫做超额现金。因为资产小于负债加所有者权益,也就意味着通过预测的负债和所有者权益获得的资金在获得了预测的资产后还有剩余,这个剩余的资金就会以超额现金的方式体现出来,意思就是超过了企业正常经营所需的现金。我们可以发现,超额现金或者融资缺口两个变量至少有一个为零,因为当资产大于负债加所有者权益时,融资缺口为正,那么超额现金就为零;反之,如果资产小于负债加所有者权益,超额现金就为正,融资缺口就为零。

在实践中,一般有两种对资产负债表进行配平的方法。一种是仅仅利用资产负债表和利润表来配平,有时候如果我们只是为了快速计算某些指标,或者对于银行这类绝大部分活动都是经营活动的公司,就不需要编制现金流量表,这时候可以直接把资产负债表中的某个科目设为配平项来配平资产负债表,这种方法只需要用到本年度的利润表和资产负债表。另一种配平方法则需要用到现金流量表,因为现金流量表对准确预测公司的未来现金流情况和估值都有非常重要的作用,所以一般建议在财务预测中编制现金流量表,并用现金流量表来对资产负债表进行配平。不过在这节课程里,两种方法我们都会讲,首先让我们来看一看如何不使用现金流量表来对资产负债表进行配平,在下一节里我们再讲如何使用现金流量表来对资产负债表进行配平。

二、试验模型一

这里我们结合具体的例子来讲解如何只用资产负债表和利润表来配平资产负债表。在这个例子里,我们可以看到有两个表格,一个利润表,一个是资产负债表,在利润表中有营业收入、成本和费用以及超额现金或者循环贷款的利息等科目,最后算出公司的净利润。利润表中已经给出了历史年份各个科目的数据,并且也给出了一些预测的参数,比如超额现金、循环贷款以及债务的利率以及公司适用的所得税率等。而在在资产负债表中有超额现金、流动和长期资产、循环贷款,以及债务和普通股等等科目,也给出了这些科目的历史数据。需要注意的是,这里有几个科目是一般的资产负债表中没有的,资产负债表检验科目等于资产合计减去负债和所有者权益合计,如果等于零就说明资产负债表配平了,否则就没有配平。扣除了超额现金的资产和扣除了循环贷款的负债和所有者权益科目分别等于资产和负债加所有者权益,分别扣除了超额现金和循环贷款,之所以要计算这两个项目,主要是为了避免循环引用。

要配平资产负债表,实际上就是计算使得资产负债表平衡的融资缺口或者超额现金两个平衡变量,要计算这两个变量,我们先从历史数据开始看。因为历史资产负债表肯定是平衡的,所以这两个数据必然都是零,可以看到D18和D22两个单元格的数据确实是零。从这两个数据开始,我们开始配平资产负债表的过程。注意看我在表格中标出来的红色箭头,它们表示了我们计算与配平的步骤。

第一步,我们根据历史数据中的超额现金和循环贷款计算下一年的超额现金和循环贷款的利息,也就是用历史数据中的超额现金和循环贷款乘以对应的利率,这里超额现金的利率是3%,循环贷款的利率是6%,需要注意超额现金对应是利息收入,循环贷款对应的利息支出,所以在计算税前利润的时候要在EBIT的基础上加上超额现金的利息,减去循环贷款的利息。因为历史年份中的超额现金和循环贷款为零,所以这里超额现金和循环贷款的利息也是零。算出这两个数值后,我们可以计算有息债务的利息,我们用当年和上一年的有息债务的平均值乘以有息债务的利率6%,就可以得到有息债务的利息。这里我们可以发现,我们在计算超额现金和循环贷款的利息时,和我们在计算有息债务的利息使用的方法并不一致,计算有息债务利息我们同时使用当年和上一年的有利债务数据,而在计算超额现金和循环贷款利息时只使用了上一年的超额现金和循环贷款数据,这实际上是假设当年的超额现金和循环贷款的利息只和上一年超额现金和循环贷款数值有关,这实际上是不准确的,因为当年的超额现金和循环贷款数值肯定会影响当年的利息,但是这里为了简单起见,同时也为了避免循环引用,我们先这么假设。

第二步,在计算出超额现金、循环贷款和有息债务的利息后,我们可以计算公司的税前利润和净利润,算出来的净利润是26.9。第三步,根据计算出来的净利润,我们可以计算当年的留存收益,假设公司不分红,那么当年的留存收益就等于上一年的留存收益加上当年的净利润,也就是180加上26.9等于206.9;第四步,根据计算出来的留存收益,我们可以计算扣除循环贷款的负债和所有者权益,等于有息债务加上普通股加上留存收益,结果是656.9。到目前为止,我们已经有了扣除超额现金的资产,以及扣除循环贷款的负债和所有者权益,通过比较这两个数据,我们就可以知道如何来插入平衡变量。前面我们已经讲过,如果资产大于负债加所有者权益,那需要在负债加所有者权益这一侧加入平衡变量,也就是融资缺口,或者叫循环贷款。如果资产小于负债加所有者权益,那需要在资产这一侧加上平衡变量,也就是超额现金,循环贷款和超额现金中至少有一个变量为零。

第五步,具体计算超额现金和循环贷款变量。这里我们用扣除循环贷款的负债和所有者权减去扣除超额现金的资产,也就是用656.9减去625等于31.9,很明显这里的负债和所有者权益要大于资产,所以需要在资产这一侧插入超额现金变量。在EXCEL中计算这两个变量需要用到一点函数的技巧,我们可以看到E18单元格的公式是MAX(E30,0),我们都知道MAX是求最大值的函数,这个公式的意思是比较E30单元格的值和零,返回其中较大的值。很明显,只要E30的值是一个正数,那它必然大于零,因此这个函数必然返回E30的值,反之,就会返回零。这里的原理实际上很简单,只要扣除循环贷款的负债和所有者权益大于扣除超额现金的资产,它们的差值就会大于零,这个公式就会返回这个差值,这也就是超额现金变量的值。和这里的思路类似,对于循环贷款变量,它的公式是—MIN(E30,0),意思就是如果扣除循环贷款的负债和所有者权益小于扣除超额现金的资产,两者的差值为负,这个公式会返回这个差值,再在前面加上负号可以把负数变为正数,也就是循环贷款的值。根据上面两个公式,我们就可以计算出来当年的超额现金变量是31.9,所以循环贷款变量应该是零。

通过上面的步骤,我们上一年的超额现金和循环贷款变量开始,计算出了当年的超额现金和循环贷款变量,并配平了资产负债表。对于以后年份的预测,只需要把上面的过程重复下去就可以了,比如我们可以计算出第二年扣除循环贷款的负债和所有者权益小于扣除超额现金的资产,所以超额现金应该是零,循环贷款是42.9。

三、试验模型二

上面讲了如何在不使用现金流量表的情况下来配平资产负债表,下面我们再看看如何在使用现金流量表的情况下配平资产负债表。我们这里接着使用前面例子中的数据,利润表不需要做调整,在资产负债表中我们删除了用于配平的项目,但是保留资产负债表检验项目。我们另外添加了一个现金流量表,现金流量表从净利润开始,通过计算流动资产、长期资产、有息债务和普通股的变动,得到当年的现金变动合计。需要注意的是,我们这里按照现金流量表编制的惯例,用正数表示现金流入,用负数表示现金流出,因为资产增加都需要使用现金导致现金流出,所以用负数表示;债务和普通股增加都导致现金流入所以用正数表示。在预测的第一年里,净利润是26.9,流动资产从200增加到250,导致现金流出50;长期资产从350增加到375,导致现金流出25;有息债务从320增加到350,导致现金流入30;普通股从50增加到100,导致现金流入50,最终现金变动的合计值是31.9。

使用现金流量表配平的第一步是计算期初超额现金或者循环贷款,在这里我们用正数表示超额现金,用负数表示循环贷款,又因为这两个数值里至少有一个为零,所以我们直接用上一年超额现金减去循环贷款就可以得到本年初的超额现金或流动贷款,所以E38单元格的值就等于D18单元格的值减去D22单元格的值。算出来期初超额现金或循环贷款之后,就用这个值加上当年的现金变动合计,就可以得到期末的超额现金或循环贷款,比如在预测的第一年,期初的超额现金为零,当年的现金变动合计是31.9,所以当年末的超额现金就是31.9。在现金流量表中算出来超额现金和循环贷款以后,就可以回到资产负债表补充完整相关数据了,这里使用的技巧仍然是和前面讲的MAX和MIN函数的技巧一样,根据期末超额现金账户是正数还是负数,来判断资产负债表中超额现金和循环贷款账户的值。这里因为现金流量表中期末超额现金是正数,所以对应资产负债表中超额现金账户为正,循环贷款账户就是零。

通过以上步骤,我们就使用现金流量表配平了资产负债表。重复以上步骤,我们就可以预测之后年份的现金流量表,并且对资产负债表进行配平。我们可以看到在预测的第二年,期末超额现金账户是-42.9,所以对应资产负债表中的循环贷款账户是42.9。

四、循环引用与迭代计算

在上面两种配平资产负债表的方法里,我们可以发现,在利润表中计算超额现金和循环贷款的利息时,我们都只使用了上一年的超额现金和循环贷款数据,而与当期的数据无关,但是我们知道超额现金和循环贷款的利息肯定会受到当期的超额现金和循环贷款的影响,所以为了更加精确的计算超额现金或循环贷款的利息,我们就需要引入当期的超额现金和循环贷款数据。在实践中,最常用的方法是用上一期的超额现金或循环贷款和当期的超额现金或循环贷款的平均值再乘以相应的利率来计算两个项目的利息。

使用这种方法最大的问题就是它会构成循环引用,比如在试验模型一里,我们的使用五个步骤从上一年的超额现金计算出了第一年的超额现金,其中的第一步就是用上一年的超额现金计算出当年的超额现金利息,假如我们要求在计算当期超额现金利息里需要用上一年的超额现金和当期超额现金的平均值,我们可以看到这里就构成了一个循环,我们本来是为了计算当期的超额现金,但是我首先需要根据这个超额现金来计算超额现金利息。具体来说,这个循环引用产生的过程是这样的:在试验模型一里,假设我采用超额现金或循环贷款的期末期初平均值来计算相应的利息,那么当期的超额现金或循环贷款就会影响当期的利息费用,从而影响当期的净利润,从而影响当期当期的留存收益,再影响当期扣除循环贷款的负债和所有者权益,最终影响计算出来当期的超额现金或循环贷款。在试验模型二里也类似,当期超额现金或循环贷款会影响当期的利息费用,从而影响当期的净利润,因为现金流量表中引用了这个净利润,所以会影响现金变动合计,进而影响当期的超额现金或循环贷款。我们可以看到,无论是模型一还是模型二,只要你在计算利息费用时引用了当期的超额现金和循环贷款,循环引用的情况就一定会出现。

我们在这门课程的第二讲里有讲到EXCEL中的循环引用和迭代计算功能,这里做一个简单的回顾。所谓循环引用是指某个单元格公式直接或间接的引用了自身,就像上面的例子里,计算当期的超额现金或循环贷款时会间接引用自身,所以构成了循环引用。因为循环引用经常会导致出现错误,所以在EXCEL中循环引用默认是关闭的,当你的公式中出现了循环引用,EXCEL就会弹出警告。但是我们在财务预测中对资产负债表进行配平时必然会出现循环引用,所以就需要在EXCEL中启用循环引用。启用的方法是,打开文件选项卡,选择EXCEL选项,选择公式,然后勾选启用迭代计算。

这里勾选迭代计算,是让EXCEL在出现循环引用的时候,反复计算单元格的值,只到达到确定的终止条件。EXCEL中迭代计算的终止条件有两个,一个是最多迭代次数终止,默认是100次,也就是说一个单元格公式中出现了循环引用,它进行迭代计算的次数最多是100次,这样才会保证迭代计算最终会停止下来,否则一直计算下去,软件就无法运行了。第二个终止是最大误差,默认是0.001,它的意思是说如果这次迭代计算的值减去上一次的值的结果如果小于0.001,那么迭代计算就自动终止,否则就接着计算下去。在我们实际工作中,对我们实际有用的终止条件一般是第二个终止条件,它意味着这种迭代计算可以自动稳定下来,得到一个最终的数值,而这个数值就是我们想要的结果。但是要能通过第二个终止条件终止,迭代计算必须满足一些特定的条件,简单来说,就是每次计算结果更新的差值会越来越小,最终会小于这个终止条件。在实践中,很多问题并不能满足这个条件,所以无法使用循环引用和迭代计算的方法加以解决,但是凑巧的是,我们上面讲到的财务预测中,计算平衡变量时涉及到的循环引用恰恰是可以用迭代计算解决的。

至于计算平衡变量时涉及到的循环引用和迭代计算为什么可以最后终止,以及为什么终止计算后资产负债表就是会是平衡的,这些问题比较复杂,我们下节课再来具体讲解。