技术文章和通讯

在生产企业应用程序集成风险分析和建模

由Tamas巴尔加,瑞士再保险


成为世界第二最大的再保险公司瑞士再保险的风险必须考虑一系列因素来自世界各地。过去10年来,我们计算风险等措施风险价值(VaR)和预期使用内部资本充足率不足(ICAM)模型,用MATLAB构建核心风险模型®。当我们继续扩大ICAM的能力,但是,它变得越来越难以管理的复杂性。众多相互依赖性使它很难完全理解该模型的工作原理。

今年,ICAM更容易理解,更新和维护,我们完成了一项重大改革。我们修改了ICAM核心可用作为生产系统综合风险分析和建模平台(IRAMP)——加快风险建模的计算一个计算机集群上执行。MATLAB、MATLAB生产服务器™和MATLAB并行服务器™使我们能够实现这两个目标,而无需开发自定义IT基础设施。

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

ICAM旨在使风险记者理解的总体影响大约300000风险因素在公司的总经济的资产负债表。类别包括利率、股票价格、房地产价格、信贷利差,并宣称通货膨胀,以及操作风险、自然灾害,以及死亡率的趋势。

在重写ICAM,我们想方便风险记者看到这些因素是如何影响风险的措施。我们的一个最有效的变化是应用更多的面向对象编程的原则编写MATLAB代码。今天的版本的ICAM下的MATLAB代码中有75000行数据版本控制包括400类和250类风险因素和损失函数。图形和对象类在我们的代码的用户界面使我们增加ICAM并控制他们在一个可维护的方式(图1)。

图1所示。ICAM用户界面。

图1所示。ICAM用户界面。

构建一个企业应用程序进行风险分析

计算VaR,预计不足,和其他风险措施一年地平线从300000年风险因素是一个计算密集型的过程,涉及1000000实现的蒙特卡罗模拟生成的每一个风险因素。我们使用统计和机器学习的工具箱™回归,广义线性模型,数据压缩和准备以及蒙特卡罗模拟与随机样本来自不同的分布。

我们利用三步战略构建一个企业IT应用程序来管理这个过程需要计算时间太长。首先,我们建立了一个计算集群支持并行计算和并行计算工具箱™和MATLAB并行服务金宝app器。第二,我们打破了流程分解成多个不同的工作流,包括验证、预处理、计算和评价。第三,我们使用MATLAB生产服务器建立一个生产风险框架,记者可以使用计算机集群上执行多个工作流。

我们为开发和维护ICAM维护两个环境,一个用于生产和一个用于开发和培训。我们生产环境的计算集群包括165名工人。我们的开发和训练环境与111年类似的计算集群工人(图2)。在验证我们的ICAM应用程序开发和培训环境,我们准备为部署在生产环境中使用MATLAB编译器编译成一个单独的组件SDK™。

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

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

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

从桌面向云计算集群

IRAMP ICAM的改革和发展一直受到风险记者因为从端到端系统更加透明。而MATLAB提供了一个强大的和有效的开发环境,通过使用MATLAB的生产服务器和MATLAB并行服务器开发和生产环境,我们确保一致的结果,增加了稳定生产。

我们现在正与MathWorks工程师IRAMP系统迁移到一个外部如微软云计算系统®Azure®。这将提供一个更大的规模和更灵活的系统,让我们降低成本,按比例缩小时期的低需求和扩大时期减少等待时间的高需求。

2017年出版的

为相关行业观点文章