官方:Oracle Crystal Ball (也叫甲骨文水晶球,是甲骨文公司旗下的一款功能强大的风险管理软件)是基于电子表格的出色应用,用于预测式建模、预测、模拟和优化,可帮助您深入了解影响风险的关键因素。
翻译:Oracle Crystal Ball,即甲骨文水晶球是基于excel的一个插件,可以用来建模、预测、模拟和优化。
本质:
1、使用蒙特卡罗模拟自动计算和记录数千个不同假设案例的结果。
2、分析假设场景,以揭示一系列可能的结果、其发生的概率、对模型影响最大的输入以及将工作重点放在何处。
3、通过图形、图表和报告来分享结果。
4、帮助我们把日常生活中的事件抽象为数学模型,用模型来进行仿真计算。
对比Excel规划求解工具:
1、Excel的规划求解工具可以解决一些简单的、变量较少的线性求解。随着变量的增多,使用excel不是太方便,这时候便体现出Crystal Ball的优势
2、水晶球一款专门用于定量风险分析的专业软件,以及进行优化分析。根绝设定的假设变量、决策变量和约束条件,来计算预测变量的最优解和进行预测分析。
甲骨文官网:https://www.oracle.com/applications/crystalball/.
Tips:官方的有使用期限,也可以点赞收藏关注私信我获取资源以及官方学习案例大礼包。
1.设定数据表:通过建立数据表可以对输入数据(随机的,非随机)进行评估。随机数据的 输入,输入任意数即可。
2.定义假设的前提:例如,随机变量:确定那些单元格的数据时随机的,这些数据应该服从什么样的分布
3.预测结果的确定:例如,数据输出或者性能的测定:确定哪些单元格的数据是你想预测的(典型的性能指标,例如,利润)
4. 选择试验的次数:如果 要生成敏感度分析图表,选择优先运行下的“敏感度分析”
5. 运行模拟:运行模拟。如果要改变参数重新进行模拟,需要首先重置模拟(点击运行菜 单工具栏或者运行菜单下的“重置模拟”按钮)。
6.查看结果:在模拟最后或者运行的过程中,预测窗口会自动显示模拟的结果。可以获得 不同的结果(频率图,累计图,统计图,百分比图,模拟分析图和趋势 图),结果可以复制到工作表中。
基本原理:当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
设定相关变量:
1、假设变量:即随机变量,不随人的意志而发生变化。注意:假设变量是不可控变量。(设置正态分布——均值、标准差、分布,三角分布——最小值、最大值、最可能值。这些变量是事先拿到数据算出来的。)
2、决策变量:过程中我们可以控制的变量,并且对预测变量产生重大影响的变量。注意:决策变量是可控变量。
3、预测变量:我们所要达成的目标值,比如说利润、产值、成本。
注意:在 CB 软件中默认假设变量单元格为绿色底纹,决策变量单元格为黄色底纹,预测变量
单元格为淡蓝色底纹
选择Run Prefrences(运行首选项)设定置信区间,设置模拟运算次数,点击启动开始运算。
在View Charts(查看图标)的Sensitivity Charts(敏感度图)中得知两个假设变量哪个对预测变量的影响更大。
备注:以下案例均可以在官方网站中找到,当然也可以点赞关注收藏找我获取!
概要:你面临着一个重要的决定:订阅哪个手机套餐。您选择了两个计划,一个来自Cellular World,一个来自Freedom Cell,但每个计划提供不同的好处。作为定义假设、定义预测和使用敏感性分析的基本示例,该模型很有帮助。
1、Cellular World:
优点:每月400分钟,长途电话不额外收费
缺点:每超过400分钟就要多收0.40美元
2、Freedom Cell
优点:无限分钟
缺点:长途话费是每分钟0.08美元
具体模型如下图所示:
预测变量:套餐Freedom Cell-套餐Cellular World
运行设置:运行首选项,实验次数设置为1000次,其他均为默认值。
运行结果:从结果中可以看到柱状图大都集中到正值区域,即在大部分情况下Freedom Cell更贵,不划算。
概要:你的制药公司很有兴趣收购AllergyGone,这是一种潜在的抗过敏新药,没有已知的副作用。你被要求在五年内对AllergyGone进行现金流贴现分析,以确定该产品是否值得收购。由于产品定价、需求和成本的不确定性,贵公司决定在谈判前使用水晶球模拟净现值(NPV)和内部收益率(IRR)。水晶球可以帮助你确定谈判价格的底线,以及驱动NPV和IRR预测的可变性的模型变量。
详见:Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——中级案例篇).
概要:这个模型预测了来自有毒废物处理场的人群患癌症的风险。废物场址的污染物和场址附近的人口都是不确定性的来源,这使风险评估值的计算复杂化。高估人口风险可能意味着在不必要的补救措施上浪费资源,而低估风险则可能对当地人口构成非常现实的危险。
具体如下图所示:
相关参数设定:设定假设变量以及对应分布(正态分布、三角分布、对数正太分布以及相对应的参数——平均值、标准差、最小值、最有可能值、最大值、位置、平均值、标准偏差),设定预测变量的对应公式。(反正是没见过的公式,没必要看,业务相关)
直接运行:直接运行又被叫做是一维的模拟,即所有的假设变量都被同等的对待, 如下图所示,第95百分位的风险为2.06E-04,危险性较高。
为什么?(官话):许多风险评估同时包含不确定性和可变性,你应该处理这两者变异的来源分开,以准确地描述风险。2D模拟工具通过运行两个模拟“循环”来区分两种类型的变化的效果不确定性的循环和可变不确定性模拟的内循环)。
(人话):将假设变量进行进一步的区分,分为不确定性变量(没有足够信息来判断一个值是多少)和可变性变量(会变的变量)。
使用:选择更多工具中的二维模拟,在假设类型这里将假设变量分为不确定性变量和变异性(可变性)变量。
区分假设变量:在这个例子中,不确定变量是水中污染物的浓度和CFP(癌症潜能因子)。虽然每一个都有一个固定的值,但它们是不确定的,因为您不能直接测量它们。每个人的体重和每天的水量在人口中自然地不同,所以这两个假设被认定为可变性。
开始运行的最后一步——确定内外循环:最后一步允许您定义希望运行多少个外部循环和内部循环,以及希望如何查看输出。对于这个模型,您决定分别运行1000次试验(内循环)的100次模拟(外循环)。单击Run运行该工具。水晶球首先单步一次试验(随机值集)的两个不确定假设(外环)。然后,冻结这些假设值,Crystal Ball在两个可变性假设(内循环)上运行1000次试验。水晶球保存结果,重复这个过程99次以上。(这里翻译的还行,大家都是可以理解的)
结果:在完成模拟之后,该工具将创建一个包含2D模拟结果的单独工作簿。模拟结果显示在一个表格中,表格中包含每个模拟的预测均值、不确定性假设值和预测分布的统计数据(包括百分位数)。
概要:一个投资者有10万美元可以投资于四种资产。这个问题的不确定性来源是每种资产的年回报率。较保守的资产具有相对稳定的年收益,而最不保守的资产具有较高的波动性。决策问题是确定在每种资产上投资多少,以使总预期年收益最大化,同时将风险保持在可接受的水平,并保持在每种投资的最小和最大限度内。
资产介绍:下面列出了这些资产的预期年回报率,以及投资者可以放心配置到每项投资上的最低和最高金额。
具体如下图所示:
结果:这里我们固定决策变量为1、1、1、7,即上下限相等,开始运行。从图中可以得知我们挣到1万以上的概率大于百分之50,但是我们亏1万以上的概率也有7%,
定义:OptQuest是一个与水晶球一起运行的优化工具。作为水晶球的一个插件,OptQuest通过自动搜索和寻找最佳解决方案增强了仿真模型。(两个重要特性:约束、需求。 约束是对输入或决策变量的限制,而需求是对输出或预测统计数据的限制。)
例如,如果您是一个供应链经理,您可以使用Crystal Ball来模拟不确定的需求和库存短缺的可能性(给定特定的库存水平)。对于同样的问题,OptQuest可以帮助你确定足够的库存水平,降低持有成本,优化潜在利润,同时仍然考虑到需求的不确定性。
作用:模拟模型本身只能为某种情形提供一组可能的结果。利用 OptQuest,可以确定能获得您需要的结果的最佳决策变量组合。(可以理解为一个过滤器,对各个变量加需求,例如最大化、最小化、平均值、约束条件、模拟次数等等,并且得到最佳的一个决策组合!)总结来说,就是当你需要一组确切的决策组合时,OptQuest工具值得拥有!
流程:
1、首先,选择一个预测统计值作为您希望最大化或最小化的目标,并指定针对其他统计值的任何要求。
2、接着,选择您要在分析中使用的决策变量,并指定针对其值的任何约束。
3、最后,选择您的选项并运行优化。
打开方式:如下图所示
相关设定:
1、目标:这里我们选择最大化投资组合的收益。也可以设置要求,比如说让标准差偏小来降低个人的风险。
2、决策变量:决策变量都是按照下限1万,上限五万来决定的(根据实际个人情况决定)。
3、约束:总的投资额度要小于10万。
4、选项:设置运行的模拟次数。
优化过程:OptQuest为每个决策变量选择一个值,将这些值输入到您的在电子表格上运行蒙特卡洛模拟,记录结果,并重复。在运行解决方案时,OptQuest还检查是否符合约束和要求。此外,OptQuest应用自适应和神经网络技术来帮助它从过去的优化中学习,这样可以在更短的时间内获得更好的结果。
结果输出:在输出结果中,我们可以看到在最优化的目标下,决策变量分别是多少。
相关性概述:在甲骨文水晶球中,概率分布(称为“假设”)通常是相互独立计算的。水晶球为每个假设生成随机数,而不考虑其他假设是如何生成随机数的。然而,由于在被建模的系统中变量之间经常存在依赖关系,Crystal Ball有一个相关假设功能,可以让您在模型中构建这些依赖关系。当两个变量的值以任何方式相互依赖时,您应该将它们关联起来以提高模拟的准确性。
前情回顾:在3-4的例子中,我们设置了4项投资项目,并且把它们的年回报率设置为假设变量,虽然每项投资的年回报率都是不确定的,但这些假设并不是独立的,因为它们具有相似的市场影响
相关性定义:相关性是通过定义假设对话框定义的。水晶球使用相关系数将对假设进行关联,该系数衡量了对假设之间关系的强度。在-1到1的范围内,系数可以是正的(0到1),它们在同一方向上增加或减少,也可以是负的(0到-1),其中一个增加而另一个减少。越接近-1到1,关系越强。相关设置如下所示。
假设:在本例中,假设知道增长(Growth and income fund)与收入基金(Income fund)和积极增长基金(Aggressive Growth fund)具有一些共同的市场影响,并且它们具有正相关关系(0.5)。在这两种假设中,您都可以通过选择对话框右下方的correlation按钮来定义相关性。定义一些系数之后,我们可以在右边的小图中看到相关性关系图。
这个案例后续还会有提及,有其他更优的解决方案,后续再看啦。
概要:在本例中,设计工程师的任务是从三种材料中选择一种最好的材料用于螺旋弹簧。工程师必须使用水晶球来考虑应力参数和钢强度的已知变化。该模型有助于理解敏感性分析特性、龙卷风图工具、叠加图以及不同类型分布的影响。
材料可靠性原理:最好的材料是能让弹簧最大可能经受住峰值要求的材料。成功的可能性,称为弹簧的可靠性,可以表示为弹簧强度(S)超过其所受应力(S)的概率,如下所示,在该例子中,Reliability=强度/应力,即可以反应每种材料的可靠性。大于1的值表示信度;值小于1表示不可靠。
R e l i a b i l i t y = p ( S > s ) Reliability = p(S > s) Reliability=p(S>s)
具体模型如下所示:
在该模型中:影响组件特性的变量(例如,在本例中,强度和应力,应力是由其上的参数通过一个公式计算得到的,而强度仅仅是设置为的不同的概率分布。)被分配为概率分布。使用概率分布可以使工程师更准确地反映材料的特性。由于这些分布的数学运算通常很困难,因此经常使用蒙特卡罗模拟来计算可靠性系数的可能值的范围。
结果显示:在运行模拟之后,您将看到三个预测图表,每种材料的可靠性各有一个。从图中我们可以清楚的看到,材料3的可靠性是最高的。
分布拟合功能:通过历史数据,使用分布拟合功能来选择一个最合适的概率分布,这样可以大大简化选择概率分布的过程。
操作流程:
1、点击定义假设变量,之后点击拟合。
2、选择要拟合的数据列(大于15个数据),点击确定
3、可以看到自动拟合的结果,并且可以看到相关的参数设置,之后我们就可以选择最适合的拟合分布
备注:对于离散分布选择卡方检验,对于连续分布默认选择安德森-达令检验。
使用龙卷风图来看其中一个预测变量,打开龙卷风图的步骤如下图所示:
步骤:
1、选择3号材料的预测变量
2、输入变量,添加除了1、2号钢强度的所有假设变量。
3、设置测试范围、测试点、输出等来输出
输出结果如下所示:变量越靠前,则证明其对预测变量的影响越大。
概要:这一小节没有具体的案例,只有功能介绍。水晶球用户可以从21个预定义的连续和离散分布中进行选择。但是,如果这些分布都不能充分描述模型中某个变量的不确定性呢?一种解决方案是使用自定义分布,它可以通过一系列单值、连续范围或离散范围来表示独特的情况。要定义自定义分发版,可以通过分发库选择自定义分发版。
步骤1:要定义连续范围,首先将参数切换为连续范围。
步骤2:要定义连续范围,首先将参数切换为连续范围。然后,只需在Minimum字段中输入一个(较低的)值,在Maximum字段中输入第二个(较高的)值,并在probability字段中输入一个概率。单击Enter,定义的范围将出现在窗口中。对于33%概率在40- 45美元之间,67%概率在45- 50美元之间的材料成本,您将分别定义每个范围,结果如下所示。
步骤:与定义连续分布一样,先选择参数,然后再输入最大值、最小值和概率参数。不同的是这里需要加一个步长。
图示:下图为建模一个1500万美元到2300万美元之间的潜在风险投资,以100万美元的增量。
注意:上边的每一条都具有相同概率,如果想要创建不同概率的,必须分别定义每一条。
概要:如果您已经有了自己的数据,那么您可以使用该信息来定义一个自定义分布。你首先需要输入你的参数到你的电子表格中。
步骤1: 输入完数据后,打开Custom Distribution对话框并单击右上角的Show More图标,然后单击Load data按钮。如下图所示:
步骤二:请求数据的单元格范围。设置单元格范围。
步骤三:输入单元格范围并单击OK。数据被加载并链接到自定义发行版。如果电子表格中的数据发生更改,则自定义分布将自动更新,也可以继续进行其他数据的加载。
概述:该例子是之前例子3-4、3-5的扩展版。
OptQuest的Efficient Frontier函数的基本概述:什么是有效边界?如果你要检查一组给定资产的所有投资策略的组合,你会注意到每个潜在的投资组合都有自己特定的平均回报和回报的标准偏差。将均值画在一个轴上,标准差画在另一个轴上,你可以创建如下图:
图形介绍:曲线上或曲线下的点(灰色区域)表示可能的投资组合。曲线上方的点(白色区域)是在特定的可用资产集下无法获得的组合。曲线本身代表的投资组合中,如果不产生较高的标准差就无法获得较高的平均收益,或者如果不产生较低的平均收益就无法获得较低的标准差。直接位于曲线上的投资组合被称为“有效”,而曲线本身通常被称为“有效边界”。位于曲线以下的投资组合被称为“低效”,这意味着更好的投资组合具有更高的回报,更低的标准差,或两者兼而有之。OptQuest可以为您定义的多个风险级别确定最佳奖励,从而创建一个有效的边界。(本质上的话,就是在已经定义需求,比如说偏差小于多少的基础上,给偏差加一个范围,并且以一定步长来增大偏差,从多个风险级别里确定最佳的偏差)
使用方法:要使用(有效边界)EFFICIENT FRONTIER函数,您必须首先在targets对话框中定义一个需求(如下所示)。一旦创建了需求,单击Efficient Frontier按钮,OptQuest在需求中添加了第二行,设置了您的Efficient Frontier的边界。在这个投资组合示例中,您希望将100,000美元的投资的总预期回报(目标)最大化,但您也希望限制您的风险敞口。在本例中,OptQuest将从$8000的极限需求开始运行一次完整优化。完成后,OptQuest将增加250美元的需求值,并运行另一个优化。
运行过程:当您运行OptQuest时,它使用初始需求点(范围中最受限制的一端)开始其第一次优化。在本例中,第一个点是8000美元,因此OptQuest拒绝所有标准差大于或等于8000美元的解决方案。OptQuest搜索最优解决方案,直到最佳解决方案之间没有显著改进,或者直到达到最大模拟次数。然后OptQuest开始对第二个需求点进行优化。因为OptQuest已经从第一次优化中评估并存储了许多解决方案,所以后续优化所需的时间更短。
结果分析:随着优化的进展,你可以在OptQuest结果窗口中查看进度。此窗口仅在定义了高效边界需求时可用。一旦OptQuest完成了有效边界分析,您还可以通过单击有效边界图中的点来查看每个有效边界解决方案的最佳结果(在本例中,这些是有效的投资组合)。然后,您可以通过单击“有效边界图”中的点,然后选择“性能图”选项卡,来查看该解决方案的性能图。你的最终投资策略将取决于哪些结果对你来说最重要,以及你认为合理的风险敞口有多大。
Tips:设置多个有效边界电脑很卡,这里我们偷鸡取巧,少设置了一些边界。只是查看了9000和10000这两个测试点。
概要:我们在设置实验次数的时候,通常是很盲目的设置,然后,为了达到要求的精确度,一种方法是使用精确控制。精度控制让你定义你需要的特定统计(例如,平均值)的准确性。然后水晶球运行足够的数字,以达到这一水平的准确性。
设置预测变量的精确度的步骤:
1、选择预测单元格并定义预测
2、在展开的对话框中,选择为必须在正负范围内的绝对单位为0.001
运行首选项设置:选择精度控制选项并输入95%的置信度,置信度越高,则需要运行的次数就越多。
概要
1、这个电子表格模型显示了该公司最受欢迎的四种杂志的报摊销售所产生的估计毛利润。该预测模型的不确定性在于需求(产品销售)的变化。因为您拥有所有这些杂志的历史销售数据,您可以使用Crystal Ball的分布拟合功能为每个杂志创建假设。您还可以使用这个模型来测试Batch Fit工具。
2、在本例中,您有一个名为Sales Data的工作表,其中包含每个杂志的360个独立数据点。你的目标是为每组数据点创建一个概率分布。
3、如果您的历史数据包含趋势或季节性,您将需要使用Predictor来创建您的假设。由于您的统计测试表明,这些集合中的数据点没有时间依赖性的顺序,您可以使用Crystal Ball的分布拟合功能来创建假设。一旦定义了假设,您就可以运行模拟,并分析所有四种杂志的潜在毛利润。
如下图所示:
批量拟合:批量拟合工具自动拟合连续概率分布到多个数据系列。当您需要从历史数据创建多个假设时,Batch Fit旨在节省您的时间。
操作:
1、更多工具->批量拟合。
2、输入数据。选择数据所在的位置,注意选择方向和是否包含标题。
3、点击下一步,进行相关设置后,点击运行。
运行结果:根据批量拟合的结果去对原数据表中的四种杂志进行拟合。
拟合后的结果:从图中可以看出总收入大致集中在哪个范围内。
数据:这里以零售店杂志销售情况数据为例。
数据分析步骤:
1、更多工具->数据分析
2、当工具打开时,您将看到一个Welcome屏幕。单击Next。在输入数据对话框中,该工具将显示数据的预览。要使用数据分析工具,您的数据系列必须在行或列中连续(在相邻的行或列中)。
3、注意:如果显示的数据范围不正确,只需单击Location字段旁边的图标,并在一个块中选择单元格。单击Next移动到Options对话框(如下所示)。
4、选择RUN和OUTPUT OPTIONSIn选项对话框,您可以选择各种运行和输出选项,包括多个行或数据列的相关矩阵。您还可以将分布与数据相匹配。在设置选项时,单击Run来生成数据分析工具输出。
分析:数据分析工具运行时,它在一个新的输出工作簿的顶部创建一个或多个预测图表。
在新的输出工作簿上,有一些按钮可以为您的数据提供开放预测、趋势和覆盖图表(后两种选择只有利于多列或行数据)。在下面的示例中,通过选择输出工作簿上的所有四个预测和单击叠加图表按钮,创建了数据的覆盖图表。
参考文章:
Crystal Ball—水晶球风险管理软件.
Crystal Ball 11—水晶球风险管理软件.
如何使用Crystal ball软件做密闭空间感染风险分析?.
百度百科——蒙特卡罗模拟.
水晶球官网,下载、以及相关学习文档.
水晶球官网.
今天是疯狂星期三,v我50,我明天去买炸鸡!