技术文章和通讯

整合风险分析和建模在生产企业应用中

由Tamásvarga,瑞士Re


作为世界第二大再保险人,瑞士重新必须考虑到全球范围内的广泛风险因素。在过去的10年里,我们计算了使用内部资本充足性模型(ICAM)的风险(VAR)价值(ICAM),如Matlab建造的核心风险模型®.然而,由于多年来,我们继续扩大ICAM的能力,因此越来越难以管理复杂性。许多相互依赖性使得很难完全理解模型如何工作。

今年,使ICAM更容易理解,更新和维护,我们完成了重大大修。我们使改进的ICAM核心作为生产IT系统 - 综合风险分析和建模平台(IRAMP) - 通过在计算机集群上执行它们来加速风险建模计算。MATLAB,MATLAB生产服务器™和MATLAB并行服务器™使我们能够实现这些目标,而无需开发自定义IT基础架构。

应用面向对象的编程以提高ICAM透明度和可维护性

ICAM旨在让风险报告人员了解大约30万个风险因素对公司总体经济资产负债表的总体影响。类别包括利率、股票价格、房地产价格、信贷息差、索赔通胀,以及操作风险、自然灾害和死亡率趋势。

在重写ICAM时,我们希望让风险记者更容易看出这些因素如何影响风险措施。我们最有效的更改之一是在编写MATLAB代码时应用更多面向对象的编程原则。今天的ICAM版本拥有更多75,000行的MATLAB代码 - 所有版本控制 - 包括400个数据类和250个风险因素和损失功能的课程。我们代码中的图形和对象类使我们能够增加ICAM中的用户界面的数量,并以可维护的方式控制它们(图1)。

图1. ICAM用户界面。

构建企业申请风险分析

计算var,预期的短缺和其他风险措施与300,000个风险因素的一年的风险措施是一个计算密集的过程,涉及蒙特卡罗模拟,其中每个危险因素产生1000,000次实现。我们正在使用统计和机器学习工具箱™进行回归,广义线性模型以及数据压缩和准备以及具有从各种分布的随机样品的蒙特卡罗模拟。

我们采用了由三部分组成的策略来构建企业IT应用程序,以管理此过程所需的冗长计算时间。首先,我们使用parallel computing Toolbox™和MATLA万博1manbetxB parallel Server建立了一个支持并行计算的计算集群。其次,我们将流程分解为多个不同的工作流程,包括验证、预处理、计算和评估。第三,我们使用MATLAB Production Server建立了一个生产IT框架,风险报告人员可以使用该框架在计算集群上执行多个工作流。

我们维护两个开发和维护ICAM的环境,一个用于生产,一个用于开发和培训。我们生产环境中的计算集群包括165个工人。我们的开发和培训环境有一个类似的计算集群,有111个工作人员(图2)。在开发和培训环境中验证了我们的ICAM应用程序后,我们使用MATLAB Compiler SDK™将其编译为一个独立的组件,以便在生产环境中部署它。

图2。IRAMP系统架构用于开发和生产环境。

根据需要为群集的工人分配以完成风险记者发起的工作流程。每个工作流都是从僵局Web界面启动并由MATLAB生产服务器策划。例如,为了开始该过程,风险记者发起验证工作流程,验证输入数据是否在内部一致。接下来,他们开始了预处理工作流程,将原始输入数据转换为准备用于风险模型的格式。在计算在工作流程中,进行了蒙特卡罗仿真。这个工作流需要最多的工作人员和最多的时间来完成。结果以快照的形式存储在共享文件系统中一个200gb的文件中。在评估在工作流中,风险报告人员使用我们创建的MATLAB应用程序从图像查询结果并执行假设分析。

从桌面到集群再到云

ICAM的彻底改革和IRAMP的开发受到了风险报告人员的好评,因为该系统从端到端都更加透明。虽然MATLAB提供了一个强大和高效的开发环境,通过使用MATLAB生产服务器和MATLAB并行服务器的开发和生产环境,我们确保了一致的结果和提高了生产的稳定性。

我们现在正在使用MathWorks工程师将虹膜系统迁移到基于云的基于云的系统,例如Microsoft®Azure®.这将提供一个更大的规模和更灵活的系统,允许我们通过在需求低的时期缩小规模来降低成本,并通过在需求高的时期扩大规模来减少等待时间。

2017年出版的

查看相关行业的文章