精通Excel风险建模——公司金融风险管理指南(第二版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-08 20:47:20

点击下载

作者:[英]阿拉斯泰尔·L·徳(AlastairL.Day)著

出版社:北京普华文化发展有限公司

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

精通Excel风险建模——公司金融风险管理指南(第二版)

精通Excel风险建模——公司金融风险管理指南(第二版)试读:

丛书总序

“《金融时报》(FT)精通金融译丛”在金融专业书领域可谓横空出世,它的目的是要缩小金融领域中每个从业者从“知道”到“做到”、从“做到”到“做好”之间的距离,它要培养的是解决问题的高手,而这样的人正是当前金融领域急需的人才。

从“知道”到“做到”到底有多远?“知道”不等于“做到”。很多老师或学生、管理者或员工其实或多或少都遇到过从“知道”到“做到”的巨大瓶颈。这一点都不足为怪——翻开国内大部分的金融类教材或相关专业书籍,我们不难有这样的印象,它们多以知识介绍为主:通常从概念到原理再到公式,但对于这些知识的实际应用则很少介绍,即使有所论及也不够全面系统。甚至,由于不了解知识在实际工作中是如何应用的,一些陈旧的知识也囊括其中,很多关键知识难以得到深刻的分析。由此,我们又可以推出这个问题的衍生问题:不懂得如何应用的知识是否算得上是真正理解与掌握了的知识?这好比站在岸上看游泳或许觉得简单,但真正下水时才发现离学会游泳还差得远,这道理想必是容易理解的。“纸上得来终觉浅,绝知此事要躬行。”在管理咨询机构、会计师事务所、证券、期货等行业的从业人员大都知道,将知识放到应用层面进行实践,对于理解知识是十分重要的。我们学习知识的目的就是要学以致用,如果只是停留在书本上,而不能投入实际使用,知识就不能转化为生产力。“只会说,不会做”的人,很难在工作中真正有所建树。

金融学科是应用性极强的一门学科。金融问题常常涉及大量的数据、计算和建模,常常需要利用计算机软件甚至编程来解决。这就要求从业者不仅需要了解相关原理,还要懂得如何利用软件,学会开发应用程序,所以动手能力非常重要。有些人虽然能利用数据解决一些金融问题,但其系统性、重用能力、纠错能力却难以达到专业水平,这种情形往小处说会造成劳动的浪费,往大处说可能会埋下极大的风险。

但是,知易行难!从“知道”到“做到”的距离很大,从“做到”到“做好”的距离也不小。

本丛书让人眼前一亮。这套丛书共有11本,内容分别涉及信用风险、信用衍生品、金融数学、金融计算、金融建模、风险建模、操作风险、财务管理、投行证券和证券融通文档等,涵盖了大部分金融应用领域。这套书不仅覆盖面广,而且应用性强。

首先,原作者们理论水平和应用水平都相当高,大多是国外长年从事教育、培训和咨询工作的资深专家。他们多在大公司工作或多年为大公司咨询,实践经验丰富,很多人还同时从事教育、培训等工作,有些则是大咨询公司的合伙人或创始人。他们从最基层的工作做到最高层的工作,对于金融问题,不仅具有战略层面的远见,而且在操作层面具备很强的技能。他们将数十年积累的经验、技术和智慧加以推敲、总结与提炼,才形成了这套丛书。

其次,本套丛书框架结构清晰,逻辑性强,便于实践。这套书的每一本都将相应领域的知识进行梳理和结构化,并以简单明了的形式呈现给读者,非常便于读者实践。例如,《精通操作风险》一书提供了统一的框架,便于读者理解和界定相关的知识;《精通Excel金融建模》一书,不仅介绍了建模的各种技能和特性,而且将这一模板贯穿到全书的分析和应用中,使得全书内容更加容易理解、容易掌握。

再次,本套丛书每本书都在内容上给出不同的模块,每个模块又分成若干步骤,方便读者按图索骥并直接比照应用。

最后,这套书将Excel电子表格及基于其上的应用编程作为主要工具,使金融知识的应用程序更加容易实现,这一明智的做法为金融实践提供了有效的解决方案。这套丛书不仅介绍了Excel及其编程方法如何应用于金融问题的解决,还在相关图书配套的CD光盘中提供了大量模板,便于读者边看书,边将这些模板用于实践。读者在对相关模板修改后就可以尝试着解决自己遇到的金融问题。

金融领域的精英人士为什么能够成为精英?答案也许各有不同,但本套丛书至少给出了重要的启示:资深的金融人士不一定是夸夸其谈的专家,但一定是解决问题的高手。“《金融时报》(FT)精通金融译丛”将为那些有志于成为金融领域精英人士的读者提供最好的帮助。中国社会科学院金融研究所副所长

译者序

风险是金融学的核心议题之一。从微观角度而言,企业决策者关注项目风险,投资者关注证券的价格风险,银行关注贷款的信用风险;从宏观角度而言,监管层关注周期性的系统风险。可以说,风险在我们的经济生活中无处不在,因此如何识别、评估、管理和控制风险是机构、市场和个人持续面临的挑战,这其中识别和评估风险(即风险建模过程)尤为重要。

20世纪后半叶,证券组合理论、有效市场假说、资本资产定价模型的创立,使得现代金融理论有了长足发展。计算机和信息技术的迅猛发展,则使得这些理论得到充分的实证检验,风险建模和风险管理也在实践中广泛应用。在此过程中一些专业化的统计和计量软件如雨后春笋般涌现,如SAS、SPSS、Eviews、Stata等,它们给专业人士的工作带来了福音。但如上文所言,风险无处不在,每个人都有风险度量和管理的诉求,但上述软件的专业性和中文版的昂贵价格成为普通大众应用的障碍。

微软Office办公软件中的Excel电子表格系统是一款方便易用的软件,不仅如此,它的可扩展性很强,读者完全可以定制符合自己需求的风险管理模块。本书很好地利用了这一点,并将这些功能完美地嵌入到风险建模中。具体而言,本书具有如下特色。

第一,内容的全面性。本书几乎覆盖了传统风险建模的各个方面,从项目融资到财务比率分析,从债券、股票分析到期权分析,甚至还包括了在险值的计算等。此外,本书在结构安排上也遵循了由浅入深的原则,这使得读者能够以进阶的方式系统掌握风险建模的知识。

第二,应用性强。金融学是一门致用之学,风险建模的最终目的是为实践中的风险管理服务。本书较多地采取了图表的形式展现风险建模的结果,这使得读者对整个风险框架有清晰的认识。对于一些复杂功能的实现,书中还给出了宏的源代码,以方便读者学习。

第三,归纳风险建模的经验准则,这也是本书最大的特色。比如输入区域、计算区域和输出区域要分开展示,以方便查找错误;尽量使用公式,从而避免不一致的问题,等等。这些都是作者长期实践经验的总结,很值得借鉴。

由于译者水平有限,时间紧张,书中难免有错漏之处,欢迎读者提出宝贵的建议和意见。蔡真2012年8月于中国社会科学院金融研究所

英文版前言

谁需要这本书

投资在获取回报的同时总会承担一定程度的风险。在20世纪,投资通常是一个结果很难精确预测的冒险游戏。然而,计算机技术和理论的发展使得我们对风险和回报的理解、定价及管理都发生了很大变化。

自从Visicalc[1]和Lotus 1-2-3[2]作为人们喜爱的金融计算工具出现并发展以来,金融建模也逐渐受到重视。许多人购买他们的第一台计算机就是为了在Lotus 1-2-3上完成预算管理。微软的Office软件大量普及,意味着在Excel中进行技术实现远比便携式金融计算器(如HP12C、TI BA II Plus)简单得多。

银行和其他金融机构使用高级风险管理工具管理它们的资产组合并评估客户的信用风险。这些都是为了满足巴塞尔协议II和欧盟保险业偿付能力标准II的规定。另外,风险建模在结构金融和项目融资中扮演着重要角色,它是这一领域中确认和管理潜在困难的重要方法。在公司部门,英国上市公司的主管们还被要求在风险管理流程中披露公司所面临的风险。在美国,根据《萨班斯-奥克斯利法案》的规定,关键的财务报表需要精确审计。考虑到风险管理的重要性,本书将结合金融理论的实践和Excel模板,对复杂的风险建模进行基础介绍。

金融建模在未来一定会得到长足发展,其原因如下:

计算机技术的发展,以及台式计算机和便携式计算机的计算速度大幅提高;

更多专业的风险管理软件的发展(如 @RISK和Crystal Ball);

更多的历史数据可用作分析;

建模正成为财务主管和商科学生的必备技能。

本书的核心目标如下:

通过Excel为金融管理者提供风险和不确定管理的实用模板;

提高金融管理者的Excel应用能力;

通过Excel建模的系统方法达到快速提高和纠正错误的目的;

为进一步的方法学习提供基础模板库。

本书对以下两类人群有特别帮助:

对模型设计有初步理解并希望进一步提高Excel建模能力的人;

希望通过Excel高级功能完成更复杂建模的实践者。

本书读者对象如下:

首席财务官和财务经理;

财务总监;

金融分析师;

会计;

企业其他财务人员;

债券经理;

风险管理经理;

公司中层管理者;

总经理;

银行员工、公司和政府中复杂决策的制定者以及那些希望从建模方法中受益的人;

专业学者、商务人士以及MBA学生。

因此,本书的适用范围很广,从希望了解投资风险的会计人员到需要掌握复杂建模方法的经理人员,都能从书中获益。

此外,本书具有国际视野,案例不仅包括英国本国的,还包括其他国家及地区的。

如何使用本书

点击光盘中的SETUP图标,安装Excel应用模板。每章开始都列明了本章内容所对应的光盘中的文件名。

每一章的案例都需要认真练习。

读者可使用工作簿、工作表、模板作为进一步学习的参考。

通过练习提高Excel的应用效率和能力。

关于第二版

自从本书第一版出版以来,随着风险度量和风险管理的需求增长,工作表的应用相应增长,功能也在增强。定制化工具(如决策树和模拟工具)的出现意味着在大多数主管面前展现的Excel界面更容易让人理解。然而使用者发现,当应用到证券化、次级贷款组合以及期权交易时,Excel模型所提供的答案有时会出错。因此,需要重新考虑关于结果的解释和极端方案的应用。对于一次成功的建模而言,它应该能提高整体的决策能力,而不是提供所有问题的答案,这才是真正的关键。

系统金融公司的模型遵循精确设计的规范。在本次改版中,我们考虑到布局、色彩以及方法上的一致性,对所有工作表中的模型都重新进行了设计,并且充分利用了Excel新特征的优势。Excel 2007 与20世纪90年代的版本相比,有许多彻底的变革。为了保持使用上的一贯性,我们尽可能对Excel 2003和Excel 2007的方法都进行展示。

最后,我要感谢我的家人对本书的支持和帮助,他们是安吉拉(Angela)、马修(Matthew)和弗朗西斯(Frances);也要感谢培生出版集团的丽兹·古斯特(Liz Gooster),她为本项目提供了宝贵的支持;还要感谢所有客户对本书的投入以及同事的陪伴,他们给我提供了灵感,并提供了Excel技术和方法的讨论。

[1].Visicalc是全球第一个电子表格软件,由 Dan Bricklin和Bob Frankston 在1978年共同开发。——译者注

[2].Lotus 1-2-3由Mitch Kapor和Jonathan Sachs牵头,Lotus公司开发。第一版在1983年发布之后,获得了巨大成功,销量很快超过Visicalc后来,由于Lotus 1-2-3没能很好地与Windows系统融合,日渐式微,1995年被IBM收购。——译者注第一章概述本书范围

本系列中另一本书——《精通Excel金融建模》,提供了金融建模的基础知识,并运用训练方法提高读者的Excel应用能力。本书在此基础上针对风险分析有所扩展,使得建模中的技术应用更加简单,从而达到以下目的:

使得模型更易理解;

模型应该能够适应不同的情况,因为我们必须承认现实世界是不确定的;

产生更多有用的管理信息;

当参数变化时,我们能够理解模型结果的变化;

作为检验模型结果的一种方法。

金融建模这一术语从简单的建立工作表到建立复杂模型时都被广泛使用。在本书中,金融建模表示,搭建用以解决商务问题的特定工作表。下面是两个相关定义:

1.工作表:以表格形式出现的、组织数据快速运算的程序。

2.建模:在工作表中,对一系列变量以及它们的逻辑数量关系进行理论构建的过程。

金融建模最基本的诉求是回答商务问题,例如未来12个月最小的现金流预算是多少,一项投资的净现值或者一项期权的价格是多少。工作表不仅仅能保存数据,更重要的是,它可以作为决策支持的分析工具。目标问题通常是以封闭系统的形式出现的,如包括收入和成本预测的新设备投资是否可行。模型仅仅是以计算机程序表示的解决方案;而工作表则不同,它可以保存和添加新的数据。因此,虽然金融模型也可以用VB或C++语言编写,但是在Excel中建模通常更快、更容易、也更直观。

当工作表需要传递给其他人时,应该在其中设计一些规则的模型。模型可以很好地支撑决策。

最基本的风险过程可以描述为:

定义目标,你需要了解目标或者输出答案;

确定所有可能的行动方案,并且考虑各自的优劣势;

组织有关数据和变量;考虑所用数据对现实描述的准确性以及数据的可得性;

构建计算机模型进行辅助决策;

评估决策结果,并比较各种数据的输出结果;

实施决策,并监控后续结果对原有计划的偏离程度;

监测决策的实施效果,如果项目失败应从中吸取教训。

无论我们多么努力地为模型寻找正确的变量,总是会存在一定的错误和偏差,因为模型仅仅是对可能结果的一种预测方式。风险是商业决策中不可回避的潜在负面因素。

Excel的优势在于,大部分人都接触过这种语言并且很习惯它的界面和各种命令。由于整个微软Office套系的相似性,用户可以很容易地在工作表上进行书写。它的缺点是,你不知道什么时候需要做出决策或者什么时候需要对应用程序进行发布和维护。当你具备自己编写代码的能力时,你应该确保代码是清晰和可审查的。以下列出Excel模型的诸多缺点:

只有部分用户具备宽泛的Excel应用能力;

大部分人只应用了Excel不到10%的性能(例如,大部分人从未使用过统计、矩阵函数以及数据透视表);

缺少标准的设计结构,这使得方法的审计几乎不可能;

较差的结构导致报告结果很不清晰;

Excel容易产生错误并且不易察觉(这已经有很多年)——用户们因而对自身的能力过于自信,并且假设他们的代码没有错误;

Excel不是公认的编程语言,因此在单元格命名和文件编制方面并不标准;

大部分用户都不会去开发特定目的的应用模板,这使得复制错误上升;

工作表不能很好地处理文本(但是你可以选择微软的Word)。

公司通常假设主管们对Excel很熟悉,仅仅是因为后者的相关金融课程成绩合格而已,但事实并非如此。金融建模如同其他的编程语言一样,需要进行专门的训练。由于Excel在使用前并没有经过编辑,人们在设计时总是错误地组织,并且很少考虑模型将来的扩展和维护问题。例如,日期可以通过硬编码的方式输入,在今年程序完全可以运行;但是到明年,你必须对整个模型进行搜索,并对所有的条目进行更改。类似地,用户可能在同一单元格中混合使用数字和公式格式,那么其他的程序用户就不知道具体在哪输入数据,对于设计者本人而言,他也很难检查出错误。由于缺乏清晰的目标,模型甚至很难针对原始问题产生清晰的答案。

大多数金融模型包括输入变量、计算过程和输出结果。金融建模的目标应涵盖以下几点:

分析和处理的数据应转化成有用信息;

建模应基于目前已成型的观点以及对未来的预测(如项目现金流);

快速和准确地将处理的数据转化成有关的管理信息;

在安全的环境中测试假设条件,以防错误发生(如项目方案);

通过结构化的方法支持管理决策(模型通常产生太多的信息,决策的目标是将详细信息总结成摘要形式);

更加准确地理解问题中的变量或规则,以确保整个系统被建模;

更好地理解变量的过程和行为,尤其是那些重要变量以及它们的行为;

发现模型的固有风险以及模型自身的敏感性。建模案例

图1-1展示了一个简单的收入和成本的案例。输入部分用浅灰色表示,下面的一览表展示了五年期年末净收入的计算过程。它是单元格 C27 到 H27的和。图1-1 一个简单模型(Simple model)

这是一个确定性的“输入——计算——输出”的建模过程,因为输入变量是固定的。例如,销售增长率在基数1000的基础上以3%的速度增长。这些数字代表了每年输入变量的最好估计,但是它们仅仅是一个个数据点,而不是区间。风险建模的目标

上面的确定性模型并不能提供所有的答案。未来是不确定的,并且有些因素是组织可以控制的,有些因素(如天气)是组织不能控制的。当分析家希望控制或预知未来时,可在风险建模中引入应用数学理论。在上述案例中,组织希望知道达到预测的净收入的可能性。公司金融理论假设组织和个人是理性的,并且是风险规避的。这意味着人们在确定的风险下追求更高的回报。就这个例子而言,上述任务可以翻译成:在可能的方差或标准差的情况下,预测净收入。如果说净收入位于100到700之间,意味着100以下的值是不可接受的。这样的预测结果是完全没有意义的。经理希望知道的是,净收入低于200的可能性是多少。发展一个成熟的模型可以帮助揭示风险和不确定性。

为了解释收益和方差的概念,图1-2展示了工作表Normal_Distribution2中均值为584、标准差为50的1000个随机数的结果。数据的产生方法可以通过选择“工具”→“数据分析”→“随机数发生器”命令产生。

表格中使用FREQUENCY函数对一个矩阵中特定的范围进行计数。

=FREQUENCY($C$6:$C$80,$E$6:$E$20)图1-2 正态分布(Normal distribution)

分布图在均值两侧存在拖尾现象。我们的分析集中于损失以及在某一特定水平以下的潜在结果数量。表1-1使用“工具”→“数据分析”→“描述性统计”产生分布函数的统计描述。表1-1 描述性统计(Descriptive statistics)

风险模型能够帮助我们实现以下事项:

由于单一答案对决策而言是不充分的,风险模型可以帮助我们理解风险;

多个答案可以帮助我们更好地理解结果的范围;

包含风险或不确定性的要素;

测试模型出现不准确的可能性;

各种方案或假设下,预测不同结果出现的可能性;

提供关键变量行为的信息。

模型帮助确认风险的前提是,你能够测试所有的变量。众所周知,销售预测通常过于乐观。试想你将一项设备产生收入的时间刻度调低会产生怎样的后果?在这种情况下,作为变量的百分比也应随着最终结果进行调整。

风险可分为风险和不确定性两类:

风险,可以被测量且服从概率论的事件;

不确定性[1],由一系列随机事件或变量组成,或者是源自对建模系统缺乏了解(模型风险)所产生的事件。在后一种情况下,某些变量可能没有包括在模型中,但是它们对结果可能有重要影响。

意识到风险存在于所有的商业决策中是很关键的,但是,风险并不总是产生负面影响。分析可以帮助我们确定潜在负面结果影响不大,或者项目尽管很悲观,但销售增长可能很快。回顾“影响”和“可能性”的方法是将它们置于一个矩阵中,组合并比较风险的优先次序。这一方法由以下三个问题而定。

风险的源头是什么?

可能的影响和概率有多大?

它是否可以被管理、定价、减少,或者被转化成其他形式?

管理层可以将精力集中于图1-3所示矩阵的变量中。

Excel提供多种答案和处理不确定性的各种技术和函数。具体包括:

模拟运算表,包括各种可能答案的一维或二维表。由于大多数模型包括一些关键变量,当它们变动时,我们可以获得关于模型变化的更多信息。

包含各种案例的方案(如最好或最差的案例)。“假设”分析,包括了特定概率下各种方案的应用。例如,当你用基于未来市场占有率为各种方案设定的概率来评估公司价值时,单一的净现值(NPV)就会转化为基于概率的预期净现值(ENPV)。

根据概率和效用理论来评估决策的决策树。

最优化技术(如“规划求解”工具),被用来解决预期结果已知,但必要的输入项未定的情况。

模拟技术,包括产生大量的可能方案,从而寻找可能结果的区间。模拟技术将在第五章详细讨论。

模型中的其他因素可能需要在建模过程中逐渐理解其风险。概率和各种可能的结果是完全清晰的情况是很少存在的,风险被完全理解也是很少见的。建模仅仅是一个你如何看待各种风险和潜在正负面因素的过程。某个人相对其他人可能是风险偏好的,那么这种情况也会对建模过程和结果产生影响。图1-3 影响——可能性矩阵(Impact-likelihood matrix)小结

本章主要介绍风险和不确定性的基本思想。下面各章的目标是,展示单一确定性模型如何提供更好的管理信息。后续各章将提供一些技术和关于应用的讨论,具体涉及如下内容:

项目和投资;

财务分析;

信用和信用风险;

资产组合管理;

股票估值;

固定收益;

衍生品。

[1].随机事件和不确定性事件的区别在于:随机试验的所有结果都是已知的,只是具体会出现哪一个不知道;不确定事件是我们对出现的事件集合都是未知的。两者之间的关系,有人认为后者包含前者,有人认为两者没有交集。——译者注第二章模型设计的简要评论引言

关于建模的书如果不介绍建模设计就显得不完整。建模仅仅需要将特定问题的变量明确,阐明计算过程和必要的结果即可。但是如上所述,如果建模设计时错误地考虑了问题,将导致错误的答案。错误的设计也会导致模型缺乏足够的扩展性。因此,随着机构发展,Excel模型库规模变大,维护好模型就显得越来越重要。设计目标

用户针对工作表建模应该发展一套系统方法。设计之初,我们应该明确以下问题:

模型的总体目标是什么?

我们需要什么样的输出结果和报告?

我们需要回答的关键问题是什么?

谁将使用这个模型?

问题由哪些部分组成,又如何将其分解成更小的子部分?

模型的全局结构应该是什么?

在初始的设计环节多花些时间可以为以后节省更多的时间。我们应该达到的目标如下:

明确可视化的输入、计算和输出的清晰布局。用户需要快速理解设计的结构:否则他们会感到很沮丧。而坏的设计使人思路模糊。

为用户设置一个清晰的输入区域,用不同的颜色标注出来。

为派生的临时变量预留一块区域,以方便理解。

尽量使单元格的公式简单化。一些工作表用户认为,使单元格公式复杂化是一种很好的练习。但这会使得模型很难理解,也不容易维护。

保持方法上的一致性。你会注意到本书中所有的工作表都遵循一致的设计方法。这些方法已经经过数年的发展,并且运行良好。例如,如图2-1所示,总是存在一个单元格标注“版本”或者“联系方式”,在每个工作表的左上方都会标明标题。图2-1 标准的布局(Standard layout)

尽量使用简单方法,从而使得用户不必完全理解模型的全局结构。例如,在输入区附近设置一个管理摘要是很有用的。当你改变变量时,可以立刻得到答案,这就节省了点击的时间。

通过模块化设计,使得未来的维护和修改更加容易。这意味着你可以根据需要加入新的特征,但不需要对全局进行重新设计。

对某一问题的答案,其运算次数不要超过一次,这样就可以尽可能地减少代码的使用。例如,你可以在第一次使用时间表的时候计算日期,然后在其他的时间表中查询它。在文本标签的使用中你也可以这么做,第一个实例需要输入,此后的实例可以从第一个开始查询。对象可以减少“硬编码”的数量,从而确保所有的改变可以贯穿整个模型。

大多数情况下,单点模型不能提供足够的信息。模型应该能够回答:当核心变量发生变化时,模型的答案如何变化。

从方差分析开始,模型应该能够处理不同的风险和不确定性水平。本书提供这方面的技术以帮助拓展风险建模的范围。

通过敏感性分析和应用图形形成精确、清晰的管理报告,以展示一个清晰的分析过程。最终的答案应该清晰,并且任何用户都可理解。此外还应记住,不同的用户有不同的优先级。常犯错误

以下列表是我们审核模型时遇到的常见错误。这张清单并没有穷尽所有错误,仅仅列出了一些较差设计和方法的缺点。

输入、计算和输出的区域没有清晰地标注。一个常犯的错误是没有将所有的输入放在一起,没有标注输入、计算和输出字样。

由于建立输入区域或工作表相对容易,有的设计甚至没有输入部分。

没有将输入和输出结果标记上特别的颜色。本书使用粗体表示输入,使用灰色的底色表示输出。这样当你看到工作表中的特定元素时,就更容易理解。在Excel中,蓝色的单元格通常表示输入。

对关键变量没有命名。在输入部分对主要变量进行命名通常会使模型更清晰,工作簿中的其余公式也更容易理解。

没有使用边框和阴影,这导致设计很乏味。如果你使用“格式”命令对单元格进行简单的着色和边框处理,会提高模型外观的美感。本书所有的模型都应用相同的色彩和外观。

对于输入没有使用数据有效性(Date Validation),即允许用户输入任何值。点击“数据”→“有效性”,你可以设定不同的数据类型,并且可以设定最大值、最小值,或者进行其他操作(具体如图2-2所示)。图2-2 数据有效性(Data validation)

在Excel 2007中,点击“数据”→“数据工具”→“数据有效性”(在Excel 2003中,点击“数据”→“数据有效性”)

在同一工作表中混合使用数字格式。如用户在使用百分号的工作表中同时使用小数表示百分比。自定义的数字格式很有用,尤其是添加输入时,你可以保存自定义的数字格式(见图2-3)。你可以使用如下的语法创立新格式:

语法:〞Positive〞;〞Negative〞;〞Zero〞;〞Text〞

例如,你想输入“12 Months”这样的格式,你可以打开“单元格格式”对话框,点击“自定义”,在右边的“类型”中输入 #0〞Months〞。图2-3 自定义数字格式(Custom number formats)

在Excel 2007中,点击“开始”→“数字”→“自定义”(在Excel 2003中,点击“格式”→“数字”→“自定义”)

使用版本号记录一段时间内模型的差异是个好主意。在一段时间内,模型本应该产生与建立之初相同的答案,但是某些变化会发生,因此在工作表中设置版本号来记录这些变化不失为文件控制的一个好办法。

没有菜单系统或驱动宏的按钮,而这些使得对整个工作簿的导航更容易。

用户在相同的单元格中混合使用数字和公式。计算区域应该保证没有“硬”输入,数字的输入应该只能发生在输入区域。任何的混合使用都会导致审核的困难和一致性的问题。如:

=E16*1.05*1.02

针对同一个问题在一行中使用多个公式,这使得工作表很难理解。在一个包含多月的现金流模型中,你应该预先设计一个每一个月都能通用的公式,而不应是各种公式混杂使用。

单元格的公式可以修改,但是由于一致性方面的原因,可能导致错误。

标签有时使用硬编码,但是尽可能地使标签动态化是有意义的。例如,对一个单元格标记“波动率为20%的价格”的标签,比标记“价格”更有意义。

在报告中没有使用图形,但为了使结果尽可能清晰应该使用图形。大部分人对数据的理解通常是低效的,因此重要的结果最好使用图形表达。

对于某些单元格没有使用批注提供必要的解释。你可以通过点击“审阅”→“批注”或点击“数据”→“数据有效性”完成这一功能。在后面的案例中,你可以使用第二个标签输入信息。在这里你可以插入一条信息,当你点击单元格时,批注就会展现出来。

没有使用条件格式功能来突出答案,或者没有根据答案改变单元格格式。这是Excel的一个非常有用的特征,你可以建立规则从而为每一个单元格设定格式。

没有使用函数减少编码的工作量和避免错误。当你计算每个月的租金时,下面的公式等同于内置函数PMT,你最好使用内置函数。

=1/((1-(1/((1+Monthly Rate)^Term_Months)))/ Monthly_Rate)

工作表通常没有为打印进行设置。好的设计应当考虑到输出,并且确保信息能够被打印出来。

管理报告和摘要通常不可得。例如,一个复杂的模型通常包含太多的信息,从而使得不同层次的用户不能获取必要的信息。一份摘要展示了关键问题的答案,而不需要模型的其他信息。例如,一个项目融资模型应该包含融入债务或股权的成本和潜在净收入的信息,以及其他一些重要信息,如股权回报率以及债务还本付息覆盖率等。

管理报告、敏感性分析帮助我们理解变量变化对模型产生的影响,但是紧随其后的预测通常过于乐观。因此你需要确保输入是理智的。

文档以及关于模型如何运作的解释往往被遗漏。为了便于维护,变量的详细信息、关键的计算步骤、模型的结构以及其他相关信息最好在其他工作表中呈现。Excel特征

文件MRM2_02.xls中的模型如图2-4所示。这一章的每一个部分都在工作表中展示了。打开文件并点击底部,观察工作表的变化过程。

这是一个简单的净现金流模型,其中每一期增加一次现金流,并且假设折现因子是10%。通过加总折现后的现金流,单元格C14显示了净现值。图2-4 原始的现值模型(Original present value model)

如果你点击“公式”→“公式审核”→“显示公式”,你将会看到单元格以公式形式显示。或者,同时按住“Ctrl”+“`”键,你就可以在公式和正常视图(如图2-5所示)之间进行切换。图2-5 视图选项(Options view)

在Excel 2003中,点击“工具”→“选项”→“视图”,或者“工具”→“公式审核”→“公式审核模式”

如你所见,净现值的产生是基于以下的公式:

Period Factor=

图2-6展示了所有单元格的公式视图。图2-6 原始的模型公式(Original model formula)格式

现在模型的设计是将输入和计算混合在一起的(见图2-7),因此首要的工作是重新组织布局。这包括:

插入线条并移除输入;

在现金流和计算中涉及输入;

在输入中尽可能使用标签查找值,例如单元格B9等于C3;

纠正输入中的错误因素;

使用不同的字体和字样打破单调的格式。图2-7 格式(Formats)

在重新定义布局后,使用粗体字样的标题、输入、摘要和答案显得清晰了许多(见图2-8)。图2-8 布局(Layout)数字格式

数字格式存在不一致,例如没有分隔符以及存在两种不同的小数位设置。

在Excel 2007中,点击“开始”→“数字”→“其他数字格式”(Excel 2003中,点击“格式”→“单元格”→“数字”),改变缺省设置(见图2-9)。

你可以试验不同的自定义格式,正号、负号和零用分号隔开,颜色则使用方括号插入,文本则用引号密封。years 加注在数字后面则使用以下形式:0“years”。你可以在类型文本框中插入自定义的数字格式,或者修改已有的格式。

图2-9显示的会计格式中,正数设置在左边,负数用红色的方括号设置,0使用破折号从而避免混淆。这一格式类型很容易被激光打印机识别,而负号则很难识别。

会计格式:_-* ,##0.00_-;[Red](#,##0.00);_-*“-”_-

为了将数字格式控制为最大两位数小数。格式可以简化为:#,##0.00;[Red](#,##0.00);-图2-9 自定义单元格格式(Custom format cells)线条和边框

线条和边框可以帮助我们理解单元格之间的结构,同时也使得模型在屏幕和打印结果上显得更加生动。你最好保持格式工具栏可见(见图2-10)。在Excel 2007中,这一操作在“开始”按钮下。在Excel 2003中,点击“视图”→“工具栏”→“格式”,可以显示这一工具栏。同样,你可以通过点击“格式”→“单元格”→“边框”,然后给单元格添加线条。

图2-11和图2-12展示了如何从工具栏中对单元格添加边框。图中粗线应用到模型主要部分,而双实线则应用到加总结果中。图2-10格式工具栏(Formating toolbar)图2-11 边框(Borders)图2-12 完成的边框(Completed borders)颜色和样式

颜色和样式也可以帮助定义输入和输出。图2-13中,尽管屏幕的颜色在图中没有显示,但中性色彩应用于输入,灰色应用于答案。在Excel 2007中,你可以通过主题选择更多的颜色,而早期版本没有这一功能。尽管颜色是个性化的,但是在应用过程中保持颜色以及样式的一致性很重要。图2-13 色彩(Colours)输入和输出的特定颜色

当有需要时,可以为输入添加特殊的色彩。我(本书作者,下同)通常对输入变量使用蓝色,对总数使用绿色或黑色,对计算结果使用红色或黑色(见图2-14)。色彩的使用应尽量简洁,避免太过绚丽。因为色彩在此所起的作用是“区分”,而非“装饰”。

在Excel 2007中,点击“开始”→“字体”→“颜色”

只需少量色彩,模型对用户来讲就更加清晰了,并且我因为一致性的原因也会将输入变量放在一起。现在模型相对于原来就组织得更好,对用户来讲也更容易进行输入操作了。图2-14 字体颜色(Font colours)数据有效性

数据有效性使你可以对单元格设置某种限制。如果你希望得到一个日期,那么用户就只能输入日期格式的数据;如果你希望得到一个七个字符的字符串,那么用户只能按上述要求输入。Excel 2003中,在主菜单中点击“数据”→“有效性”即可。

在Excel 2007中,点击“数据”→“数据工具”→“数据有效性”

在本案例中,设置如下三种输入限制(如图2-15所示):

本金:大于0的正数;

周期性的现金流:大于0的正数;

折现率:0到1之间的正数,例如100%。

对话框中有3个选项卡(见图2-16),从左往右依次为:设置;(当光标接近单元格时显示的)输入信息(如果你不想输入信息出现,不在复选框中打钩即可);(当输入错误时的)出错警告。图2-15 有效性设置(Validation settings)图2-16 有效性:输入信息(Validation:input message)

如果你输入了错误的数字,错误警告(见图2-17)将会出现,并且它会阻止你进一步操作直到你满足了有效性的要求。这意味着本金总是正数,错误被避免,而且审计也更容易。你应该总是使用“停止”样式,因为其他的选项允许你输入错误的数据。图2-17 有效性中的错误警告(Validation error alert)

由于周期性的现金流与本金满足相同的有效性要求,在Execl2007中,你可以通过“复制”,然后点击“开始”→“粘贴”→“粘贴有效性”→“有效性验证”(Excel 2003中,点击“编辑”→“粘贴有效性”→“有效性验证”)实现有效性设置,而无需重新设置参数(见图2-18)。图2-18 选择性粘贴中的有效性验证(Paste special validation)

最后的有效性设置是确保折现率小于100%,其目的在于缩小输入范围并确保用户得到正确的答案。如果用户试图输入折现率为120%的数据,那么将会出现如图2-19所示的错误信息。图2-19 有效性错误(Validation error)

再次重复一下,上述操作是站在用户的立场,并且试图指导用户如果他们希望得到满意的答案需要做什么。许多审计错误源于不正确的输入,而“有效性设置”是控制潜在错误的一种方法。控件——组合框和按钮

帮助用户进一步提高输入性能的工具,在Excel 2007中,可以通过点击“开发工具”[1]→“控件”→“插入”→“表单控件”获取(在Excel 2003中,表单控件通过点击“视图”→“工具栏”获取)。这与你从Access或Visual Basic中看到的控件是一样的。在下面的案例中,你希望用户输入的折现率在8%到12%之间,间隔长度是0.5%。这一操作不能通过数据有效性实现,这需要不同的方法,因为有效性仅仅设定了值的上下限。

第一步在工作表的下方插入一个工作区域,将折现率拷贝粘贴上去(见图2-20)。这一步是为了确保当控件放置在单元格C7时,模型依然能够正常工作。

工作区域显示了从8%开始,按间隔长度增长的折现率情况(见图2-21)。注意,间隔长度并不是“硬编码”,它完全取决于单元格C26 的值。同时,由于这些是变量,大多数用户并不需要知道得如此详细,因此它们被放在工作区域中标识出来。图2-20组合框第一步(Combo working 1)

组合框控件返回一组可选择的数。这里是8个可选项,单元格C27中是选择的序号。如果你点击工具栏中的组合框控件,你可以在单元格C7中放置一个组合框。

你还得让控件知道从哪得到信息以及从哪输出结果。这里的折现率在单元格B28:B35中展示出来,结果放置在单元格C27中(见图2-21)。图2-21 组合框第二步(Combo working 2)

最后一步是链接折现率单元格C28和序号单元格C27。由于C28是被计算的,为了避免混淆,字体颜色变为红色。这一步计算需要使用一个简单的函数OFFSET。在Excel 2007中,你可以通过点击“公式”→“插入函数”→“查找与引用”获取(Excel 2003中点击“插入函数”获取)。

OFFSET函数的功能是:你可以指定一个初始的引用,然后向下(上)偏移行数、向右(左)偏移列数,返回相应的单元格的值(见图2-22)。你可以以B27为起始行,向下移动至C27行,不移动列(见图2-23),从而返回你当前使用的折现率的值。图2-22 插入函数(Insert function)图2-23 OFFSET函数(OFFSET function)

用户使用组合框控件可以更快地选择个性化的折现率数据(见图2-24)。注意,用户仍然可以在单元格B27、C26和C27输入数据。组合框是通过运行宏,并通过更新单元格运行的,你并不需要保护它。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载