Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——基础案例篇)(上)

简介: Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——基础案例篇)(上)

前言


这里什么也没有。


一、简介&下载安装&流程介绍


1-1、简介


官方:Oracle Crystal Ball (也叫甲骨文水晶球,是甲骨文公司旗下的一款功能强大的风险管理软件)是基于电子表格的出色应用,用于预测式建模、预测、模拟和优化,可帮助您深入了解影响风险的关键因素。

翻译:Oracle Crystal Ball,即甲骨文水晶球是基于excel的一个插件,可以用来建模、预测、模拟和优化。

本质:

1、使用蒙特卡罗模拟自动计算和记录数千个不同假设案例的结果。

2、分析假设场景,以揭示一系列可能的结果、其发生的概率、对模型影响最大的输入以及将工作重点放在何处。

3、通过图形、图表和报告来分享结果。

4、帮助我们把日常生活中的事件抽象为数学模型,用模型来进行仿真计算。


对比Excel规划求解工具


1、Excel的规划求解工具可以解决一些简单的、变量较少的线性求解。随着变量的增多,使用excel不是太方便,这时候便体现出Crystal Ball的优势

2、水晶球一款专门用于定量风险分析的专业软件,以及进行优化分析。根绝设定的假设变量、决策变量和约束条件,来计算预测变量的最优解和进行预测分析。


下图为安装了水晶球的Excel界面


a4935c041b3241039bff1543a9b79cc8.png


1-2、下载安装


甲骨文官网:https://www.oracle.com/applications/crystalball/.

Tips:官方的有使用期限,也可以点赞收藏关注私信我获取资源以及官方学习案例大礼包。


1-3、使用水晶球软件进行蒙特卡洛模拟流程


1.设定数据表:通过建立数据表可以对输入数据(随机的,非随机)进行评估。随机数据的 输入,输入任意数即可。

2.定义假设的前提:例如,随机变量:确定那些单元格的数据时随机的,这些数据应该服从什么样的分布

3.预测结果的确定:例如,数据输出或者性能的测定:确定哪些单元格的数据是你想预测的(典型的性能指标,例如,利润)

4. 选择试验的次数:如果 要生成敏感度分析图表,选择优先运行下的“敏感度分析”

5. 运行模拟:运行模拟。如果要改变参数重新进行模拟,需要首先重置模拟(点击运行菜 单工具栏或者运行菜单下的“重置模拟”按钮)。

6.查看结果:在模拟最后或者运行的过程中,预测窗口会自动显示模拟的结果。可以获得 不同的结果(频率图,累计图,统计图,百分比图,模拟分析图和趋势 图),结果可以复制到工作表中。


1-4、拓展知识:蒙特卡罗模拟


本原理:当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。


二、Crystal Ball——水晶球操作界面介绍


具体模块如下图所示


7c05f23564e64ec9946cdd2654b5eee6.png


2-1、Define—定义阶段


设定相关变量

1、假设变量:即随机变量,不随人的意志而发生变化。注意:假设变量是不可控变量。(设置正态分布——均值、标准差、分布,三角分布——最小值、最大值、最可能值。这些变量是事先拿到数据算出来的。)

2、决策变量:过程中我们可以控制的变量,并且对预测变量产生重大影响的变量。注意:决策变量是可控变量。

3、预测变量:我们所要达成的目标值,比如说利润、产值、成本。

注意:在 CB 软件中默认假设变量单元格为绿色底纹,决策变量单元格为黄色底纹,预测变量

单元格为淡蓝色底纹


47fab7d2ae0645ee89ec013ea5ad055d.png


2-2、RUN—运行阶段


选择Run Prefrences(运行首选项)设定置信区间,设置模拟运算次数,点击启动开始运算。

6ec3abf6a3f342029ef2c2749bb68253.png


2-3、Analyze—分析阶段


在View Charts(查看图标)的Sensitivity Charts(敏感度图)中得知两个假设变量哪个对预测变量的影响更大。


4b80ace4d55d45e19f6fd1deaf956254.png

三、官方案例分析


备注:以下案例均可以在官方网站中找到,当然也可以点赞关注收藏找我获取!


3-1、决定每月的手机套餐


概要:你面临着一个重要的决定:订阅哪个手机套餐。您选择了两个计划,一个来自Cellular World,一个来自Freedom Cell,但每个计划提供不同的好处。作为定义假设、定义预测和使用敏感性分析的基本示例,该模型很有帮助。

1、Cellular World:

优点:每月400分钟,长途电话不额外收费

缺点:每超过400分钟就要多收0.40美元

2、Freedom Cell

优点:无限分钟

缺点:长途话费是每分钟0.08美元


具体模型如下图所示


fbc9de76d65d4dddad9873c04b25891b.png

预测变量:套餐Freedom Cell-套餐Cellular World

运行设置:运行首选项,实验次数设置为1000次,其他均为默认值。

872256a23a1647cea3eab850e234119e.png

运行结果:从结果中可以看到柱状图大都集中到正值区域,即在大部分情况下Freedom Cell更贵,不划算。


e07261f83d8c4fd49fa23b486f32ff35.png

3-2、DCF分析-AllergyGone(抗过敏药物)——覆盖图和趋势图


概要:你的制药公司很有兴趣收购AllergyGone,这是一种潜在的抗过敏新药,没有已知的副作用。你被要求在五年内对AllergyGone进行现金流贴现分析,以确定该产品是否值得收购。由于产品定价、需求和成本的不确定性,贵公司决定在谈判前使用水晶球模拟净现值(NPV)和内部收益率(IRR)。水晶球可以帮助你确定谈判价格的底线,以及驱动NPV和IRR预测的可变性的模型变量。

详见:Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——中级案例篇).


3-3、使用2D模拟工具——废弃有毒工地风险评估

3-3-1、基础案例


概要:这个模型预测了来自有毒废物处理场的人群患癌症的风险。废物场址的污染物和场址附近的人口都是不确定性的来源,这使风险评估值的计算复杂化。高估人口风险可能意味着在不必要的补救措施上浪费资源,而低估风险则可能对当地人口构成非常现实的危险。


具体如下图所示


23a355f76e9d45f7ba4bae9bc1231c43.png

相关参数设定:设定假设变量以及对应分布(正态分布、三角分布、对数正太分布以及相对应的参数——平均值、标准差、最小值、最有可能值、最大值、位置、平均值、标准偏差),设定预测变量的对应公式。(反正是没见过的公式,没必要看,业务相关)

直接运行:直接运行又被叫做是一维的模拟,即所有的假设变量都被同等的对待, 如下图所示,第95百分位的风险为2.06E-04,危险性较高。

32723a127a70417a8f6549d8014ce47e.png


3-3-2、添加使用2D模拟工具


为什么?(官话):许多风险评估同时包含不确定性和可变性,你应该处理这两者变异的来源分开,以准确地描述风险。2D模拟工具通过运行两个模拟“循环”来区分两种类型的变化的效果不确定性的循环和可变不确定性模拟的内循环)。

(人话):将假设变量进行进一步的区分,分为不确定性变量(没有足够信息来判断一个值是多少)和可变性变量(会变的变量)。

使用:选择更多工具中的二维模拟,在假设类型这里将假设变量分为不确定性变量和变异性(可变性)变量。

区分假设变量:在这个例子中,不确定变量是水中污染物的浓度和CFP(癌症潜能因子)。虽然每一个都有一个固定的值,但它们是不确定的,因为您不能直接测量它们。每个人的体重和每天的水量在人口中自然地不同,所以这两个假设被认定为可变性。


e16db42ae18d41ff90234ee8a7dfaa31.png


开始运行的最后一步——确定内外循环:最后一步允许您定义希望运行多少个外部循环和内部循环,以及希望如何查看输出。对于这个模型,您决定分别运行1000次试验(内循环)的100次模拟(外循环)。单击Run运行该工具。水晶球首先单步一次试验(随机值集)的两个不确定假设(外环)。然后,冻结这些假设值,Crystal Ball在两个可变性假设(内循环)上运行1000次试验。水晶球保存结果,重复这个过程99次以上。(这里翻译的还行,大家都是可以理解的)


4f7b29385dc14476a58bed6289157744.png

结果:在完成模拟之后,该工具将创建一个包含2D模拟结果的单独工作簿。模拟结果显示在一个表格中,表格中包含每个模拟的预测均值、不确定性假设值和预测分布的统计数据(包括百分位数)。

aabdc5be09674e24ac25ceb58b093072.png


3-4、OptQuest:在不确定的条件下寻找最佳解决方案——投资组合分配模型


3-4-1、基础案例


概要:一个投资者有10万美元可以投资于四种资产。这个问题的不确定性来源是每种资产的年回报率。较保守的资产具有相对稳定的年收益,而最不保守的资产具有较高的波动性。决策问题是确定在每种资产上投资多少,以使总预期年收益最大化,同时将风险保持在可接受的水平,并保持在每种投资的最小和最大限度内。


资产介绍:下面列出了这些资产的预期年回报率,以及投资者可以放心配置到每项投资上的最低和最高金额。


1b975c5ca2ac45ce97a9017ac6d58414.png

具体如下图所示


1b15c59a983a459487cb464a06e0b0ba.png

结果:这里我们固定决策变量为1、1、1、7,即上下限相等,开始运行。从图中可以得知我们挣到1万以上的概率大于百分之50,但是我们亏1万以上的概率也有7%,

026dbc1201e04863aba38b35ae526822.png


3-4-2、OptQuest


定义:OptQuest是一个与水晶球一起运行的优化工具。作为水晶球的一个插件,OptQuest通过自动搜索和寻找最佳解决方案增强了仿真模型。(两个重要特性:约束、需求。 约束是对输入或决策变量的限制,而需求是对输出或预测统计数据的限制。)

例如,如果您是一个供应链经理,您可以使用Crystal Ball来模拟不确定的需求和库存短缺的可能性(给定特定的库存水平)。对于同样的问题,OptQuest可以帮助你确定足够的库存水平,降低持有成本,优化潜在利润,同时仍然考虑到需求的不确定性。

作用:模拟模型本身只能为某种情形提供一组可能的结果。利用 OptQuest,可以确定能获得您需要的结果的最佳决策变量组合。(可以理解为一个过滤器,对各个变量加需求,例如最大化、最小化、平均值、约束条件、模拟次数等等,并且得到最佳的一个决策组合!)总结来说,就是当你需要一组确切的决策组合时,OptQuest工具值得拥有!

流程:

1、首先,选择一个预测统计值作为您希望最大化或最小化的目标,并指定针对其他统计值的任何要求。

2、接着,选择您要在分析中使用的决策变量,并指定针对其值的任何约束。

3、最后,选择您的选项并运行优化。

打开方式:如下图所示


5f0a54c668114009b7f29597d563272a.png

相关设定


1、目标:这里我们选择最大化投资组合的收益。也可以设置要求,比如说让标准差偏小来降低个人的风险。

2、决策变量:决策变量都是按照下限1万,上限五万来决定的(根据实际个人情况决定)。

3、约束:总的投资额度要小于10万。

4、选项:设置运行的模拟次数。


9e78418d831a460d8c1f0e75e523b08c.png

优化过程:OptQuest为每个决策变量选择一个值,将这些值输入到您的在电子表格上运行蒙特卡洛模拟,记录结果,并重复。在运行解决方案时,OptQuest还检查是否符合约束和要求。此外,OptQuest应用自适应和神经网络技术来帮助它从过去的优化中学习,这样可以在更短的时间内获得更好的结果。

结果输出:在输出结果中,我们可以看到在最优化的目标下,决策变量分别是多少。

735fab8d2aad480ba76e7a6c8acd85f1.png


3-5、相关性假设——投资组合分配模型


相关性概述:在甲骨文水晶球中,概率分布(称为“假设”)通常是相互独立计算的。水晶球为每个假设生成随机数,而不考虑其他假设是如何生成随机数的。然而,由于在被建模的系统中变量之间经常存在依赖关系,Crystal Ball有一个相关假设功能,可以让您在模型中构建这些依赖关系。当两个变量的值以任何方式相互依赖时,您应该将它们关联起来以提高模拟的准确性。


前情回顾:在3-4的例子中,我们设置了4项投资项目,并且把它们的年回报率设置为假设变量,虽然每项投资的年回报率都是不确定的,但这些假设并不是独立的,因为它们具有相似的市场影响


相关性定义:相关性是通过定义假设对话框定义的。水晶球使用相关系数将对假设进行关联,该系数衡量了对假设之间关系的强度。在-1到1的范围内,系数可以是正的(0到1),它们在同一方向上增加或减少,也可以是负的(0到-1),其中一个增加而另一个减少。越接近-1到1,关系越强。相关设置如下所示。


ec42b2a21b41488482fd1502842a1d8a.png


假设:在本例中,假设知道增长(Growth and income fund)与收入基金(Income fund)和积极增长基金(Aggressive Growth fund)具有一些共同的市场影响,并且它们具有正相关关系(0.5)。在这两种假设中,您都可以通过选择对话框右下方的correlation按钮来定义相关性。定义一些系数之后,我们可以在右边的小图中看到相关性关系图。


69f149eafd2c4c5cbea92e7da1bba32b.png


这个案例后续还会有提及,有其他更优的解决方案,后续再看啦。

相关文章
|
4月前
|
监控 安全 开发者
Pascal 语言在公司监控软件中的价值
在数字化企业环境中,有效的监控软件对安全、效率和合规性至关重要。尽管帕斯卡语言(Pascal)不是最流行的编程语言,但其严谨的语法结构和强类型特性使其在开发可靠的监控软件方面独具优势。通过示例代码展示了帕斯卡语言在网络连接监测和内部设备状态检查中的应用,其结构化编程风格有助于提高代码可读性和可维护性,同时编译时错误检查机制有助于早期发现问题,减少调试时间,是开发高质量监控软件的有力工具。
33 2
|
4月前
|
自然语言处理 Serverless Docker
量化交易大揭秘:如何将TA-Lib神兵利器部署于云端函数计算,让策略飞升!
【8月更文挑战第8天】在量化交易中,TA-Lib作为技术分析库备受青睐,支持多语言包括Python。本教程指导如何将其移植至函数计算平台,实现云端交易策略。首先安装Python与TA-Lib;接着选择云服务商并创建实例。确认TA-Lib与平台Python版本兼容,必要时构建自定义运行时。使用`pip`安装TA-Lib并打包依赖。编写函数计算代码示例,如计算移动平均线。部署代码与依赖至平台,定制Dockerfile以支持自定义运行时。最后,通过平台测试功能验证功能正确性。完成移植后,即可享受Serverless架构的自动扩展与成本效益优势。
81 4
|
7月前
|
JavaScript Java 测试技术
基于Java的一家运动鞋店的产品推广网站的设计与实现(源码+lw+部署文档+讲解等)
基于Java的一家运动鞋店的产品推广网站的设计与实现(源码+lw+部署文档+讲解等)
38 0
|
7月前
|
JavaScript Java 测试技术
基于Java的企业人才管理与测评系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的企业人才管理与测评系统的设计与实现(源码+lw+部署文档+讲解等)
50 0
|
存储 数据挖掘
Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——基础案例篇)(下)
Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——基础案例篇)(下)
|
区块链 数据安全/隐私保护
|
供应链 前端开发 Oracle
Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——中级案例篇)
Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——中级案例篇)
|
人工智能 API 区块链
Web3技术丨佛萨奇系统开发技术介绍(代码搭建)原力佛萨奇系统丨MetaForce开发逻辑方案
Web3技术丨佛萨奇系统开发技术介绍(代码搭建)原力佛萨奇系统丨MetaForce开发逻辑方案
227 0