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


发布时间:2020-06-06 20:55:32

点击下载

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

出版社:人民邮电出版社

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

精通Excel金融建模——公司金融应用指南(第二版)

精通Excel金融建模——公司金融应用指南(第二版)试读:

丛书总序

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

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

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

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

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

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

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

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

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

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

译者序

本人被该系列图书吸引是因为这正是我多年想要的,把理论与实践相联系,既有广度、深度又能实际操作的图书。这样的图书不仅有助于读者更深刻地理解理论,也能在使用时得出可信赖的结果。

本人在工作和研究中也常常使用C++、VB、MATLAB、VBA等编程工具以及SQLSever、ACCESS等数据库作为模型开发工具,但本人对Excel+VBA的组合印象深刻,它的特性是别的软件所没有的。这一黄金组合的好处是,它容易理解、容易呈现、容易维护,不仅能做简单的工作,也可以完成复杂的任务。可贵的是,这样功能强大的开发工具非常容易获得,几乎每台电脑上都安装了相关软件。所以,和本书作者一样,本人在工作中刚开始总是执着于建立复杂的“黑匣子”似的程序,但最后还是把那些能用Excel+VBA实现的东西都尽力在这一框架下来实现。

然而,目前介绍使用这一工具进行金融建模的书却不多,或者在设计和模型开发上介绍的方法不够系统和完善。本人有在金融机构工作的经历,在工作中会处理大量的金融模型和金融数据,而在进入高校后重心转向了教学,所以当我看到此书时,就很想把此书的内容介绍给中国的读者。本人深感不管是学生还是机构从业人员,这都是他们非常需要补上并认真对待的一课。

当接手翻译本书时,才发现翻译并不容易。因为阅读是愉快的,但翻译却需要付出大量的努力。翻译的关键是精确,且要在中西思维方式有别的情况下尽量做到行文自然、可读性强,而这需要付出巨大的努力。但我相信这些努力都是值得的。在本书付梓之际,我唯希望本书能帮助到读者,不仅在金融建模的理解方面,也在金融建模的使用上。

本书致力于用Excel及内植的VBA编程工具解决常见的金融问题。此类书在市面上不算多,比较而言,本书算是新颖实用的一本。作为介绍Excel金融建模的书,本书的亮点主要在Excel和金融建模两方面。

在Excel方面:本书中对电子表格的应用不是炫耀技术,而是从实务的角度提出最有用的金融建模综合解决方案。这些方案将系统的方法用在设计上,专业化布局、格式的系统化使用、内容自我检查、重用性和可维护性等都令人印象深刻的。本书在综合解决金融问题的同时,也提供了有深度的编程实现。

在金融建模方面:本书的覆盖面和深度都令人印象深刻,它不仅覆盖了日常使用或金融教材中介绍的大部分理论及其应用,而且包含了最优化、决策树、风险管理和数据分析等领域。总之,不论是财务分析、投资管理还是管理决策都被囊括其中。

在中国高校的教学中,有过于重视理论,忽视实践的倾向,导致大学毕业生在动手能力上比较欠缺。在财务及金融界,从业者大多过于依赖IT部门,缺乏自己利用电子表格及编程工具不断完善工作并将工作自动化的意识。而这些能力对于实际工作的开展及改进具有极大的意义,应该作为相关人员的核心能力之一。本书的翻译出版正是弥补这些问题的一次宝贵尝试。

英文版前言

谁需要此书

本人在15年前就接触到微软的Excel,当时客户要我准备一份是租赁还是购买的决策分析,以证明租赁确实优于购买。接下来,我花了几周的时间用Basic语言开发了一个评估二者净现金流的程序。客户自®己也用电子表格Lotus1-2-3做了自己的模型,虽然我们都得出了相似的结果,但用电子表格却只用了几个小时的时间。

有此经验之后,我开始使用Lotus1-2-3来进行融资方式比较、租赁定价和投资现金流组合。随着电子表格功能变得越发强大,我扩大了建模的范围并且完善了方法和设计,而这些对于节约开发时间和增加准确性都很有益。正是这些个人努力为本书及CD里所附的程序勾画了轮廓。

电子表格软件很成功,特别是在Office95之后,大部分管理者都将微软的Excel作为电脑桌面的一部分。然而他们却很少接受Excel建模的训练,仅有少数学校把Excel建模作为他们的专业核心课。管理者虽然达到了一定的水平,但是这意味着很多电子表格模型:

除了设计者以外其他人难以理解;

包含着一些严重的(却很难注意到的)错误;

不付出很大努力就很难进行审核;

不容易维护或不容易在其上做进一步开发;

在关键目标上是不成功的。

Excel的简单性意味着容易在其之上轻松进行开发从而规避了以上那些问题。Excel功能如此全面,因此本人建议管理者需将建立容易理解和维护的应用程序与表单设计的熟练程度作为核心能力。市场上有很多关于“增强个人能力”的管理著作,这些作品提供了很多工具,Excel都能够帮助提供解决方案。

这就是我所说的“应用Excel金融建模”,它将以下功能组合在了一起:

金融技能;

建模;

一致性的设计方法。

本书提供的管理方法在公司金融教材和Excel手册里是没有的。本书的目的是写作一本帮助使用者的实用书籍,而不是另一本关于金融数学或Excel函数的书。本书第一部分讨论了用于完善模型的设计方法和特性。第二部分提供了解决特定公司金融问题的模板,包括对相关金融理论的简要介绍。作为额外的收获,本书包括了一张CD盘,该CD盘中有本书介绍的所有模型模板。

本书针对的目标读者如下:

财务总监和财务经理;

账务总管;

分析师;

会计人员;

公司财务部职员;

财政管理人员;

风险管理人员;

中层行政人员;

总经理;

银行、公司和政府部门里高端决策人员且受益于建模的人员;

学术人员、商学院和MBA的学生。

如何使用本书

本书第一版出版后,电子表格使用的错误伴随着报纸、杂志和网站上相关错误的增多而增多。电子表格模型必须采用基本的规则和方法来建立,并且要能够检查有效性。如果没有使用本书中介绍的一些方法,模型常常是无效率和容易产生错误的。读者在使用本书时应注意以下几点。

简单地双击所附光盘上的SETUP按钮来安装软件,它将指向各章使用的文件。

一章一章地、一个案例一个案例地学习。

将本书、表单和模板作为参考。

将设计方法应用于你所有的模型和应用中。

练习和完善你使用Excel的效率和能力。

关于第二版

自第一版出版后,我一直持续完善自己开发电子表格的方法。企业已经意识到界定开发方法的价值,诸如美国的《萨班斯-奥克斯利法案》(Sarbanes-OxleyAct)的立法也显示出电子表格控制的重要性。因此,本版提供了更多的关于审计和设计的信息,以便于开发更加强有力的电子表格模型。

在本版中,所有的电子表格模型都进行了重写,以便使它们具有统一的布局、色彩和方法,并用到了Excel里的一些特性。通过结合使用特性和技巧,你完全能够建立可以提供更多和更好的管理信息的模型。

微软Office2007的界面有了很大的改变。本书尽可能对在Office2007里如何使用Office2003作出简要说明,以便读者在两个版本之间作切换。

我要感谢我的家人:安吉拉(Anegla)、马修(Matthew)和弗朗西斯(Frances),谢谢他们对本书的支持与帮助。另外,培生教育集团的理查德·斯泰格(RichardStagg)和利兹·格鲁斯特(LizGrooster)对这个项目提供了很有价值的支持和协助。

最后,我想感谢我的所有客户和我的课程参与者,他们给了我很多启发,对Excel建模提供了许多有价值的意见。

致谢

我要感谢我的家人:安吉拉(Anegla)、马修(Matthew)和弗朗西斯(Frances),谢谢他们对本书的支持与协助。另外,培生教育集团的理查德·斯泰格(RichardStagg)和利兹·格鲁斯特(LizGrooster)对这个项目提供了很有价值的支持和协助。

最后,我想感谢我的所有客户和我的课程参与者,他们给了我很多启发,对Excel建模提供了许多有价值的意见。阿拉斯泰尔·L·德www.financial-models.com

内容格式说明

本书函数名用大写,如年金支付函数,其输入包括利率、期间数、现值和终值:

=PMT(INT,NPER,PV,FV,TYPE)

等式用数学编辑器构成并显示正常的数学形式,例如,现值公式为:

性别:“他”既指代男性也指代女性,这样做只是为了减少重复。  第一部分开发金融模型

第一部分内容集中介绍模型的设计和应用,以及归纳出用于规划、设计和开发金融模型的数学方法。其重点强调的是简洁性、可调整性与易使用性,同时利用Excel的特点来扩展开发并减少错误。

第一章 概述(Over View)

第二章 设计介绍(Design Introduction)

第三章 特性和技术(Features and Techniques)

第四章 样本模型(Sample Model)

第五章 模型举例(Example Model)第一章概述

引言

什么是金融建模

电子表格的历史

电子表格的功能

本书目标

电子表格举例

小结引言

本书定位于为读者提供能有助于其发展、编写和维护 Excel 模型的工具。建模常常仅被当成使用加载项或增添会计数据。然而,本书不仅将向你展示优良的操作方法,并且向你提供不同释例的开发技巧和可以重用的模型模板。它不仅是Excel或公司金融方面的教材(已然有大量此类书籍了),它还是一个能帮你节约时间并且使你的工作更富有成效的技术集合。什么是金融建模

金融建模这个词可以适用于多个任务,从简单的费用加总到复杂项目的风险建模,它可以包括金融的以下方面:

开发专业程序用于回答专门的经营问题,例如现金流覆盖和可变性;

分析和处理数据;

对未来或对未来的看法进行建模;

快速准确地处理数据形成管理信息;

在“安全模式”下测试假设,例如进行项目情景分析;

通过有框架的方法支持管理决策;

更准确地理解问题中的变量或规则;

探索关键变量及其敏感性。电子表格的历史

在20世纪70年代,电子表格(spreadsheet)已经在苹果个人电®脑提供的VisiCalc上实现了。电子表格与计算器相比,极大地提高了®效率和准确性,Lotus 1-2-3随着IBM个人电脑的崛起而被广泛应用。另外,它第一次使财务管理者可以在没有数据或系统管理者的帮助下独立分析自己的数据。类似预算或现金流的会计模型可以做得方便实用,这促成了:

更细的决策信息;

为更低层次决策提供了可能性;

利用情景和更多选项使模型更有弹性。

1985年,微软在苹果Macintosh电脑平台上发布了Excel并且在20世纪80年代末期将其扩展到 PC 平台上。随着 Windows 3.0 的销售快速增长,以及Excel被包含在Office 95软件包中,Excel随即成为最流行的电子表格软件并使一般电脑使用者都可以享用。虽然像OpenOffice之类的开放源代码软件现在也随处可得,但微软在市场上的支配地位随着Office以后的版本更加强化了。电子表格的功能

在微软的软件包中纳入Excel意味着它像Word在文本处理中一样成为电子表格事实上的标准。电子表格的功能也在逐渐完善,增加了以下功能:

专业函数;

自动处理或自编函数所用的宏;

为了减少链接到新的电子表格而采用的工作簿技术;

提供微软其他应用软件都使用的Visual Basic;

与其他应用软件进行数据交换;

类似Solver(规划求解)这样的加载项;

第三方分析包,例如FinCAD、@RISK或者Crystal Ball。

其结果就是今天的专业的分析包已经使非程序员可以设计和开发解决商业问题的专业应用。Excel也是大多数人在解决商业问题或实现金融建模时使用并推荐使用的软件。作者曾经需要对租赁回报进行分析,编写了Basic程序,并在HP41计算机上运行,看不同的融资策略。在付出很多努力和时间后,模型得以运行并得出答案,但这些程序并不清晰,的确,这些模型只是“发生了”或“出现了”结果。

当很多公司或学术机构开始使用Excel解决财务问题时,如何专业性地使用它对于大多数管理者来说成为一个共同的问题。Excel教材只告诉你如何插入一个图或格式化一个单元格,却很少提供模型开发的指导。这导致开发出的很多模型很少或根本没有关注设计和将来的维护。甚至,有可能许多商业模型包含严重错误,在www.panko.com上有很多调查可以支持这一看法。

Visual Basic或者C++应用软件需要由IT部门设计研究。然而,Excel却没有类似的限制。例如,随着财务经理的离职,他所喜欢的预算模型也许变成既没有相关的说明文件也没有人知道这个模型是否起作用,但Excel却没有类似麻烦。常言道,信息意味着权力,企业管理者常常苦于没有建立足够的档案而花了大量的金钱去审计、回测和追踪这些模型。

然而,Excel的简单易用也可能构成了其缺点。因此,Excel使用者也应该关注设计,并有意识地提供相关应用软件的背景信息。使用专门的开发方法并花费一定的时间在设计上,从长远来说是有益的:

可用性及易用性;

不同使用者之间容易传递;

可维持性;

对答案或结果的准确性更有信心。

以下章节将阐述能帮助你将Excel模型纳入到强大且健全的电子表格中的各种方法。本书目标

本书将基于作者15年使用Excel进行金融分析的经验,向你解释怎样在电子表格中应用公司金融理论。Excel建模要求理解模型、金融和Excel设计,并特别要注意:

设计方法和流程;

怎样将想法变成应用软件;

用技术完善已有的模型;

使简单的模型更有用和更可靠;

加入风险和不确定性分析技术;

使用最优化方法和规划求解;

将所有技术综合在一起形成标准和模板。

管理者需要理解电子表格技术,并将其作为一项核心技能。现在有越来越多的数据需要简单的分析工具,并应用于更低层级的管理。在建模时,管理者应该更好地理解:

个别变量的弹性;

可以纳入计算的新变量;

将关键变量孤立出来并作进一步测试;

通过情景测试和可能案例来避免高成本的错误。

例如,一个简单的外包模型可以通过使用电子表格来代替会计模型得出正的净现值。一个正常应用软件将不只给出答案,还可以:

勾画出所有的规则和输入值;

提供一系列基于不同参数的答案;

提供关键变量的图表以显示它们变化时的弹性;

解释风险和不确定性的水平;

显示你与预测的答案距离有多远。

因此,本书的目标是将Excel和金融结合起来,协助你建立更加强大和健全的电子表格应用。电子表格举例

图1-1是一个设计得比较差的电子表格,它可以计算一个项目的净现值。这是很多组织里使用的电子表格,它显示了很多问题。这个模型在CD光盘中的文件名称是“MFM2 01 Simple Model.xls。”图1-1 样本模型(Sample model)

它的主要问题如下。

没有版面设计:输入、计算和输出都没有清楚地标明。

没有输入单元:的确,什么是这个模型中的独立变量呢?比较难确认。

没有输入的具体颜色。

没有用边线或阴影来完善报告的外观。

没有输入数据有效性验证。例如,确保输入数据包含了正确类型或长度。

数据格式混合,不同的数据的小数位不同。而用括弧和红色能够完善模型,因为括弧在打印的报告中更容易读,红色是赤字通常所用的颜色。

数据和公式混合。图1-1第10行包含税收计算,而税率是“硬生生地输入”的,如果税率变化将会怎样呢?这便需要全部重新键入!

G10包含了数值错误,包含了过多的运算符。

B10和B17中将折现率和税率写进去了,而如果它们改变,表中却不会自动改变。

没有管理报告,而且19 476个单元格是否够用也需要分析。

条件格式将有助于强化答案。例如,单元格可以依据答案不同而变动颜色。

没有使用函数。既然净现值是建立在每个时期的乘数的基础上,使用NPV函数将有助于通过减少单元格的代码来减少错误。

没有敏感性分析。假如变化折现率或者没有按计划产生收益将会怎么样呢?

图表通常有助于显示现金流或敏感性。例如,累积现金流图可以阐释回收情况。

没有对关键变量使用名称。

表格没有分开。在下方的表格计算了设备的税收折现,但是这部分的现金流并不清楚。

没有对现金流横向和纵向加总的自检查。

单个的单元格上没有批注,没有有关如何使用模型的总说明。

没有版本号和设计者信息。

模型没有考虑打印的要求。没有文件头和文件尾,例如文件名字和日期,而且打印时会把包括税收表在内的内容都一并打印出来了。

上述清单从结构、设计和方法上列出了该模型的缺点。假如管理层基于这些模型做关键决策,那么有可能会做出错误的决策。就算只做迅速的计算,这个表格也有计算错误。这些严重的不足可以通过全面的设计加以纠正。建立正确的模型可以消除大部分上述问题。小结

Excel的使用,对于管理者、学者和学生来说都是核心技巧。Excel是强有力的工具,然而很少有使用者在建模技巧或使用开发方法上接受过正规训练。本章以一个简单的电子表格为例,指出其设计和结构上的错误。第二章将描述使用模型并开发健全和易于维护的应用软件的方法。第二章设计介绍

引言

设计基础

目标

使用界面

关键变量和规则

布局

单独的模块

菜单结构和宏

管理报告

未来开发

测试

保护

文档

同行小组意见

小结引言

在第一章中,我们指出了传统设计中的一些缺点,这些设计只是将Excel当成了一个大的自动计算的会计账册。要利用Excel帮助决策并对答案充满信心,就需要更加规范的方法,这些方法将更加以目标、用户报告及产生答案的过程为中心。规范的方法将用于设计以加快模型开发和减少错误。图2-1概括了设计中的一些步骤。图2-1 设计方法(Design method)设计基础

设计是个性化的,你可以自定义,并且容易重复。这听起来容易,而一种健全的方法论将大大减少开发时间和错误。并不存在唯一正确的设计电子表格模型的方法,但的确有不少人因没有总体计划或使用某些方法而产生错误。应用软件的复杂程度不同,从而需要对应有不同程度的计划,这些计划对不同的电子表格和方法都很重要。你曾有多少次在后期插入或删除行或列时,会疑惑某个单元格的公式是否还有效?不经过深思熟虑就键入公式很容易。但设计的目标是制订一个模型计划或是列出一份为更好的设计所需注意事项的列表。

最有效的方法是对所有的模型都遵循一定的设计流程和方法,并让电子表格符合一定的模式。毫不自夸地说,本书所有的例子都准备遵循同样的界面和设计。虽然简单的电子表格对个人来说足够了,但要建模的话,还是应该遵循简单的规则,特别是提供给其他人使用并用于支持决策时,就更需如此。流程最基本的形式是把模型的功能分为输入、计算和输出三大功能,如图2-2所示。图2-2 方法(Method)目标

许多人没有对宗旨和目标进行全面考虑。准确地知道所需要的输出是很有必要的。虽然这听起来很简单,但将目标写进文档并在开发过程中遵循它们以确保没有偏离最初的目标倒不失为一个好主意。例如,你可以把模型要求的关键信息写下来。

在许多模型中,由于答案是藏在计算中的,因此很难分辨哪些是答案。而且,模型通常可以提供更多有用的信息。例如,一个简单的现金流预算的电子表格可以更进一步用于记录实际的利润、损失和资产负债表。有了预算和实际的数据,除了在管理报告和个别报告中插入图表外,基于绝对差或百分比差的各类报告也成为可能。这样模型就开始提供更多有意义的管理信息了。使用界面

使用界面需要严格的审定,因为它是你和其他使用者天天接触的。可能同一模型有不同的使用者,对输入、细节和信息的要求也不一样。老的模型通常把类似税率这样的变量放在标签和数据的左边。然而,使用者可能想在同一地方看到所有的输入,想得到在什么地方输入什么数据的导引。当你接到一个新的应用软件,如果需要花大量的时间去理解怎么使用及什么地方输入数据,的确让人倍受挫折。Visual Basic编程首先需要设计界面,然后再把相关的代码连接到相应的按钮和控制上使其工作。很多人在Excel中的做法却不同,这是因为很多设计者既没有站在使用者的角度去考虑,也没有严格调查使用者的感受。

界面应该是:

一目了然的;

清晰的;

通过符合逻辑的信息流的形式引导使用者;

让打印机直接打印答案。

关于边、颜色和格式的使用协助计算的过程,如图2-3所示(CD光盘中的模型文件名称为“MFM2_02_Calculator.xls”)。使用者被指导怎么输入变量,按按钮进行计算。就像HP17BII这样的手持计算器一样,只要使用者按了相关按钮,答案就会自动在下面更新,因此信息流是由上至下的。图2-3 计算器(Calculator)关键变量和规则

变量和规则应该进行拆分。变量必须放在一起,就像图2-3 中的计算器所示。变量不是硬生生地键入的,这点很重要。例如,支付频率必须由使用者输入,不然假如使用者从月付变成季付怎么办呢?设定好规则意味着设计者可以更好地组织开发,也意味着设计者需要对要解决的商业问题的流程有更加清晰的理解。这样做也许能使你发现更多的需要进行建模的变量。

规则也很重要,以公司税为例,在大多数裁决中这是比较复杂的,模型需要反映规避和税收清缴的准确时间。公司税的支付方法在英国由每年一次变成每季度一次,在欧洲也有减少公司税的倾向。这对于建模人员来说是新的挑战,既需要理解传统的方法也需要理解最新的安排。对主要的变量和方法进行命名有助于简化已有的模型的维护并减少错误。布局

布局(layout)是把计算拆分为可以管理的组就可以把工作区和结果分开显示。现代Excel允许把不同的表放在不同的工作簿,而不是像Lotus 1-2-3和以前的Excel那样链接不同的文件。与其把损益表、资产负债表和现金流量表放在一个表格中,还不如放在同一文件的三个不同的表中更符合逻辑。

图2-4中的例子,是把界面分成以下部分:

用户输入;

管理摘要:可视的输入更新,这省却了用户滚动到答案的时间;

计算区域:仅使用上面输入区域的数据;

答案;

敏感性分析、图表及其他细节的区域;

打印区域以外的工作区域。图2-4 布局(Layout)

模型的信息流采用了符合逻辑的模式,例如左上方的输入正是使用者期待找到的地方。更复杂的模型可能把这些部分放在不同的表单中,但在这里需要再次强调的是,输入和计算不要混起来,开发应该分成不同的逻辑区域。

如图2-4所示,对不同数据和信息一贯地采用不同的颜色、字体、模式和边线有助于呈现逻辑框架。颜色和模式用于函数,不只是装饰,它是设计方法中的基础方法,用于界定不同类型的单元格。本书的模型都采用这一方法。单独的模块

单独的模块(module)现在可以在计划好的拆分成不同区域或表单的框架和计算中构造。界面对于使用者和设计者理解模型是很重要的,对于更进一步的开发也是很关键的。

为了确保计算的完整性,计算区域必然只包括公式,不能和数据相混淆。例如,直接乘0.3的税率将在税率变化时造成麻烦,因为如果这一税率变化,你需要搜索和替代所有表单以及所有Visual Basic代码中的数据。使用输入域作为一个范围或命名的单元的话,只用改变一个单元格就可以准确地更新整个文件。菜单结构和宏

菜单结构(menu structure)在复杂的模型中很有用,因为它:

使模型更加结构化;

使模型更易于理解;

使导航更加容易(用不着在表单中来回切换)。

图2-5(CD光盘中的模型文件名称为“MFM_02_Menu Structure.xls”)中的模型使用了按钮或复选框来进入其他两个分别为“Inputs(输入)”和“Reports(报告)”的表单。输入和报告表单包括了可以把使用者带回到主菜单的按钮。图2-5 菜单结构(Menu structure)

标准的菜单是用宏(macros)构建的,这将在第三章中更详细地讨论。使用者可以立即看到什么是可以进入的表单并被导引到需要输入数据的地方。管理报告

管理报告(management reporting)和管理摘要(management summaries)通常对于大型模型是需要的,因为大的模型通常在一个完整的管理报告中。不是所有人都需要细节,管理摘要有助于使用者理解结果和重要的结论。例如,一个项目管理应用软件可以显示现金、贷款和费用摘要以解释费用覆盖率。未来开发

模型内的继续开发是很重要的,例如,一个预算模型可能在下一年使用。结构化的模型有助于进一步的开发。测试是否易于再开发的方法可以是:加入新的变量,并检查设计是否被割裂了。

进一步开发的另一个选择是敏感性分析(sensitivity analysis)和情景分析(scenarios analysis),它们允许使用者在同一个模型中得出多个答案并测试不同输入的变化。得出单一的净现值不足以进行信息充分的决策,开发应该包括更多的诸如变动因素如何“弹性”地影响最终结果之类的测试。良好的结构化的模型能够允许在模型中加入更多的技术,无须进行大量的重新设计。

风险可能是一个决定性的因素,因此模型设计可能需要允许加入模拟技术。模拟可以产生大量的输入数据,而不是单点数据。

另外,图表可能对于管理层或受众在解释答案时非常有用。通过图表,人们常常可以更好地捕捉到复杂的想法。例如,现金流模型可以包括一个在最低限上的现金覆盖的图表。测试

系统测试(testing)需要用来确保没有计算错误以及模型信息流是正确的。图2-3中的计算器可以通过第三方的折现表或另一个财务计算器来测试。测试数据是需要的,它可以使用到所有的按钮、输入、频率和支付类型。第四章概述了一些审阅输出结果的有用技巧。保护

假如模型是给别人使用,保护(protection)是有益的。假如设计者把所有的输入放在一起,那么保护是比较简单的,对整个表进行保护,只是输入区域不受保护。保护表格和工作簿就是保护了设计者的工作并确保了模型按设计的用途使用。以预算为例,假如使用者重写单元格的公式和数字,模型的完整性就受到威胁,就需要有人对每个单元格可能的变化进行检查。在现实中,包括《萨班斯-奥克斯利法案》在内都认为电子表格最好用保护来限制访问数据和未经授权的修改。文档

许多设计者不愿意在表单和结构中写注释,这是有风险的,因为他们或者他们的同事可能会在未来的某个时间维护这些代码时遇到困难。许多模型虽然开始是小项目,并和其他程序一起运行,即模型常常是有背景信息的。理想状态下,注释应该在模型中,而不应混在其他文件中,并且注释要说明以下几点:

使用某个设计或模板的原因;

关键变量和计算;

规则和方法;

历史上对模型更改的摘要。同行小组意见

使用者或同事可能经常会提出建设性意见,虽然这一过程常常是痛苦的,在你花了时间创造一个杰作之后,潜在使用者依然还需要尝试着输入数据以确保对模型的操作得心应手。因此,不妨让使用者参与到设计过程中来,并征询他们对模型的意见,以提高使用者的热情。使用者所关注的因素有:

界面是否清楚及易于使用;

从输入到计算再到答案和报告是否使用导引;

尽量让审计和程序测试简单化;

答案或输入要清晰地显示。小结

设计是个性化的,随着时间的推移,你可能会逐渐形成自己的风格。一致性和遵循清晰的方法是重要的。本章的讨论并非最完整,主要包括了以下几方面:

在所有模型开发中遵循设计流程和方法;

设定宗旨和目标;

检查使用者需要和要求的使用界面;

设定关键变量和规则;

将计算拆分成可管理的组;

构建单独的模块;

菜单结构;

管理报告和接要;

开发诸如敏感性分析和风险分析的内容;

测试和审计;

当一项应用软件提供给多人使用时要进行保护;

文档;

同行评议。

以上13点将有助于你更加有组织地进行开发。检查一下你自己的一些应用,看一下以上13点中是否还有几点未被纳入。显然,复杂程度的不同会影响你的关注度。然而,以上代表了一种良好的操作习惯,并是本书作者多年来基于个人和商业经验总结出来的。

第三章将讨论一系列使你的模型更加强大的特性,第四章将应用软件设计方法论来改善第一章最早出现的例子,目的就是为了展示如何使用Excel建造更加强大和没有错误的模型。第三章特性和技术

引言

格式

数字格式

线和边

颜色和图案

输入和结果的具体颜色

数据的有效性

控制:组合框和按钮

条件格式化

函数的使用和函数的类型

更多函数的加载项

文本和更新标签

记录版本号、设计者等

使用容易理解的公式名

将名字粘贴到文档中

单元格批注

图表

单列的动态图表

数据表格

情景

目标搜寻

规划求解

模板的使用

小结引言

设计的基础围绕着计划和逻辑展开,本章集中讨论可以使用户界面更加友好的一系列特性。本章所列并非囊括了全部内容,但足以显示出完成模型和最初模型之间的差别。本章讨论的特性有:

格式

数字格式

线和边

颜色和模式

具体输入的颜色和结果

用以控制输入的数据有效性验证

控制:复选框和按钮

用以显示数据变化的条件格式

函数的使用和函数类型

更多函数的加载项

记录版本号、设计者、开发日期和其他信息

使用容易理解的公式名

将名字粘贴到文档中

单元格批注

图表和表格

单列的动态图表

用于敏感性分析的数据表格

用于“假如……会怎样”的情景分析

目标搜寻

最优化和规划求解

使用模板加速开发

CD光盘中的文件“MFM2_03_Features.xls”中的模型显示在图3-1 中。本章每一个单元都与该模型中的一个表单相对应。打开这一文件,并且按顺序点击最下部就可以看到一系列的表单。图3-1是一个简单的净现值模型,它可以把一个时期的现金流按10%折现后加总。单元格C14中的净现值是由所有折现的现金流加总得到的。图3-1 最初的模型(Initial model)

假如你打开“Tools”(工具)、“Options”(选项)、“View”(视图),你可以选择“View Formulas”(查看公式),可以通过它查看公式(见图3-2)。或者,你可以按“Ctrl+ˋ”就可以在正常视图和公式视图间切换。这与进入“Tools”(工具)、“Formula Auditing”(公式审核),并选择“Formula Auditing Mode”(公式审核模型)的效果一样。正如上面提到的,这一模型只是用公式计算现金流的现值:

Office12——Formulas(公式),Formulas Auditing(公式审核)

折现因子=图3-2 公式审核[Formula auditing(Windows options-formulas)]

图3-3是Excel的公式视图,显示了单元格中的引用,而不是结果。图3-3 公式(Formulas)格式

图3-4中的模型混淆了输入和计算。所以,第一项任务是重新布局,包括:

插入线和移动输入;

把输入和计算相联系;

尽可能确保标签从输入中取,例如“B9”现在是“=C3”;

在输入中纠正变量;

用不同的外表和字体来区分不同的区域。图3-4 格式(Formats)

Office 2007——Home(首页),Cells(单元格),Format(格式)

标题、输入、摘要和答案现在清楚地用粗体和图3-5的模型显示出来了。图3-5 布局(Layout)数字格式

数字并不是每三位用逗号分开的,进入到“Format”(格式)、“Format Cells”(单元格格式)、“Number”(数字)中改变数字格式(如图3-6所示)。图3-6 数字格式(Format numbers)

Office 2007——Home(首页),Numbers(数字),Format(格式)

你可以试着对正的、负的和零采用不同风格的格式,它们是用分号分开的。颜色在方框内,你可以使用颜色的名称或标号来表示颜色,例如“Red”(红色)或“colour 03”(3号颜色)。

文本用逗号,例如把“years”加上数字:0“years”。你可以插入你的自定义的格式在“Type”(类型)框中,或者修改一个已经有的格式(见图3-7)。图3-7 56种颜色(Fifty-six colours)

图3-8中的格式是会计上的,正数靠左,负数为红色并用括弧括出来。这种格式激光打印出来容易识别,而负号则不容易阅读。

Accounting style format(会计风格格式):_-* #,##0.00_-;[Red](#,##0.00);_-* "-"-图3-8 数字(Numbers)

效果是控制数字只看到小数点后面两位。你还可以把这一自定义的格式保存下来,供以后使用。你点击并用新的名字保存下来,Excel 就记下了这个格式,并保存在表单中。

Office 2007——Home(首页),Styles(样式),Cell Styles(单元格样式)图3-9 样式(Style)线和边

线(lines)和边(borders)把单元格拆分,使模型看起来更有趣,不仅是在屏幕上也包括打印结果。最好让格式工具条处于可见状态。通过View(视图)、Toolbars(工具条)、Formatting(格式化)可以显示工具条(见图3-10)。这就节省了总是要进入Format(格式)、Cells(单元格)、Borders(边)等去加边或线的时间。图3-10 格式化工具条(Formatting toolbar)

Office 2007——Home(首页),Font(字体),Alignment(直线)and Number(数字)

图3-11和图3-12显示高亮单元格,并加上了边。粗边在区域周围,双线边表示加总。图3-11 设置边(Set borders)图3-12 设边线的粗细(Indications of sterling FRA levels)颜色和图案

颜色(colors)和图案(patterns)也可以帮助区分输入和输出。图3-13中正常的区域是输入,灰色表示答案。这些颜色是个性化的,但是颜色和格式的使用要有一贯性,这很重要。图3-13 颜色(Colours)

Office 2007——Home(首页),Font(字体),Colour(颜色)输入和结果的具体颜色

输入的具体颜色指示出数据从哪里输入。一般地,设计者常常用蓝色表示输入,绿色或黑色表示汇总,红色或黑色表示计算结果(见图3-14)。颜色种类应当少一些,不然对大多数人来说会觉得太炫了。也要注意,有一些人是色盲,因此对颜色应该进行一定的注释。图3-14 输入的颜色(Input colour)

用有限的颜色,让使用者模型变得更加容易理解,也促使设计者为了保持一致性而把输入放到一个区域。

这个模型现在得到了更好的组织,对于使用者来说也更容易使用。数据的有效性

数据有效性验证使你可以对单元格设置限制,当你想要日期时,使用者只能输入;当你想要7个字符的字符串时,那么使用者也只能这样输入。你需要进入:Data(数据)、Validation(有效性)(见图3-15)。图3-15 有效性验证(Validation)

Office 2007——Data(数据),Data Tools(数据工具),Data Validation(数据有效性)

这样,对以下输入进行限制是个不错的主意:

Capital Value(资本价值)     正数

Periodic Cash Flow(定期现金流)  正数

Discount Rate(折现率)      正数,并且介于0到1之间

对话框有三个选项卡,分别是“Setting”(设置)、“Input Message”(输入信息,当鼠标移到该单元格时显示)和“Error Alert”(错误提示,当输入出错时提示),见图3-16。图3-16 取消该选项提示信息就不显示(Deselecting the box so that the input message is not shown)

错误提示在你输入错误数据时会自动提示,只有在你输入正确数据时才可继续进行(见图3-17)。这意味着capital value(资本价值)需要输入正数。

既然periodic cash flows(每期现金流)也需要同样的有效性验证,你可以把前面的单元格复制过来,而不必再次设置。复制时要使用“Edit”(编辑)、“Paste Special”(选择性粘贴),并选择“Validation”(有效性验证)复选框(见图3-18)。图3-17 停止或提示(Stop or alert)图3-18 选择性粘贴(Paste special)

最后一个有效性验证是要保证折现率低于100%,这主要是为了缩小输入的范围,以保证结果的正确性。假如输入者输入的是120%,就会得到图3-19那样的提示。

再次提醒,需要从使用者的角度来设计模型,并尽量引导使用者按使用要求做。图3-19 提示(Alert)控制:组合框和按钮

进一步加快输入和协助使用者的方法可以使用View(视图)、Toolbars(工具条)下面的表格工具条,这些也可以在Access和Visual Basic里找到。在本例中,你可能希望允许使用者输入的折现率是在8% ~12%之间,每次变化0.5%。有效性只允许设上下限,这没法通过有效性验证实现,需要另一种方法。

Office 2007——Home(首页)

第一步是在表单的最底端的工作区域(workings area)插入一系列折现率(见图3-20)。这是为了保证在C7中输入公式时模型照常运作。

工作区域的框里显示了一系列从8%开始到12%,间隔0.5%的一系列数(见图3-21)。这些值不是直接键入的,而是依赖于C26中设置的间隔。由于很多使用者不需要了解这些细节,因此放在工作区域。

组合框(Combo Boxes)返回供选择的一系列数,这里有8个可能的选择。数据显示在C27中。如果单击工具条中的“Combo Box”(组合框),你能够在C7中画出一个组合框。

你需要讲清楚组合框哪里可以找到这些数据;哪里可以得到结果。在图3-21中,所需的贴现率数据是在从B28到B35中,结果显示在C27中。图3-20 表工具条(Forms toolbar)

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载