深入浅出Excel VBA(三):线性单变量财务模型
VBA是Excel应用的高端技能,利用Excel灵活性的同时,极大增强数据处理能力,但是掌握起来有一定的难度。笔者基于真实的业务场景,从过往的从业、项目实施经验中凝练一些典型的VBA应用,希望对读者有所裨益。
场景
财务模型就是将企业的各种信息按照价值创造的主线进行分类、整理和链接,以完成对企业财务绩效的分析、预测和评估等功能。建立财务模型是专业财务人员制定财务决策最核心的工作,任何对公司前景的判断,如销售额、利润率、负债状况、投资收益等都需要量化到财务模型中,这样才能将判断转化为具备操作性的数据。
在实际操作中,财务模型既可以通过Excel也可以借助专业的财务模型软件,但是后者往往需要投入较多的费用和培训时间,并不具备普遍性。本文介绍如何通过Excel VBA开发一个投资决策模型,这需要一定的专业知识,读者可以借鉴注册会计师考试《财务管理》科目中关于投资组合的风险和报酬相关知识,以及上篇文章《深入浅出Excel VBA(二):定制动态交互图表,技术逼格、颜值开挂》关于图形接口方面的知识。
风险是预期结果的不确定性,即包括负面效应的不确定性,也包括正面的不确定性。假定一项资产的收益率是不确定的,则该项资产收益率的期望值代表该项资产的收益,该项资产收益率的标准差代表该项资产的风险。虽然通过方差是风险的量化,但是方差本身具有主观性和历史性,即这种计量方法也存在风险。所以,投资界有一条至理名言,“不要将鸡蛋都放在一个篮子里”,需要通过投资组合来分散风险。
本文场景基于两项投资组合的模型,来解释Excel VBA的线性单变量建模方法。关于两项投资组合期望报酬率和方差计算公式如下:

当相关系数低于1时,投资组合具有风险分散效益,但是如何发现有效的机会曲线集,则需要建立该投资组合模型,揭示投资收益率与方差的关系,如下图:

该图中,是以相关系数(1,0.5,0,-0.5,-1)为参考系列建立不同投资比例下的投资收益率、方差图形。可以直观看出当相关系数为1时,揭示投资组合收益率与方差具有线性关系(图中最右边蓝色直线),即不具备风险分散效用,而当相关系数小于1时,投资组合收益率线开始向左弯曲,即具备风险分散效用。
-300x300.png)
关注微信公众号,获取最新文章及下载资料
技术解码
如果通过Excel函数来构建投资组合收益这样具有一定复杂度的财务模型,会非常浪费时间,也会消耗大量系统性能,不利于进行敏感性分析,所以需要借助Excel VBA设计这种财务模型。另一方面,之所以称之为线性单变量,是针对线性多变量、随机多变量而言的,后面文章会陆续提及这种模型的构建。
本文中的单变量是指两项投资资产的投资比例,它们在0与1之间随机游走,而相加等于1。那么,怎么去模拟投资比例数据,可以假定其中一项投资资产的投资比例为0,并按一定投资比例逐步增加(编程中称之为步长),形如以下队列:0,1%,2%,3%,4%,5%,……,100%。这种固定步长增加的单变量,具有线性关系,即称之为线性单变量,代码如下:

代码示例

——欢迎预约我们,现场沟通交流。