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

由Tamásvarga,瑞士Re


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

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

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

ICAM is designed to enable risk reporters to understand the aggregate effect of approximately 300,000 risk factors on the company’s total economic balance sheet. Categories include interest rates, equity prices, real estate prices, credit spreads, and claims inflation, as well as operational risks, natural disasters, and mortality trends.

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

图1. ICAM用户界面。

构建企业申请风险分析

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

We employed a three-part strategy for building an enterprise IT application to manage the lengthy compute times this process requires. First, we set up a computing cluster to support parallel computations with Parallel Computing Toolbox™ and MATLAB Parallel Server. Second, we broke the process down into multiple distinct workflows, including validation, preprocessing, calculation, and evaluation. Third, we used MATLAB Production Server to establish a production IT framework that risk reporters could use to execute multiple workflows on the computing cluster.

We maintain two environments for developing and maintaining ICAM, one for production and one for development and training. The computing cluster in our production environment includes 165 workers. Our development and training environment has a similar computing cluster with 111 workers (Figure 2). After validating our ICAM application in the development and training environment, we prepared it for deployment in the production environment by compiling it into a standalone component using MATLAB Compiler SDK™.

Figure 2. IRAMP system architecture for development and production environments.

群集中的工人根据需要分配以完成风险记者发起的工作流程。每个工作流量都是从僵局Web界面启动并由Matlab生产服务器策划。例如,开始该过程,风险记者发起validateworkflow, which verifies that the input data is internally consistent. Next, they kick off thepreprocessing工作流程,将原始输入数据转换为准备用于风险模型的格式。在里面calculateworkflow, all the Monte Carlo simulations are performed. This workflow requires the largest number of workers and the most time to complete. The results are stored as a snapshot in a 200 GB file on a shared file system. In theevaluateworkflow, the risk reporters use a MATLAB application that we created to query results from the image and perform what-if analyses.

From Desktop to Cluster to Cloud

The overhaul of ICAM and development of IRAMP have been well received by risk reporters because the system is more transparent from end to end. While MATLAB provides a powerful and efficient development environment, by using MATLAB Production Server and MATLAB Parallel Server for both the development and production environments, we ensure consistent results and increased stability in production.

我们现在正在使用MathWorks工程师将虹膜系统迁移到基于云的系统(如Microsoft)®Azure®。This will provide for a larger scale and more flexible system, allowing us to reduce costs by scaling down during periods of low demand and to reduce wait times by scaling up during periods of high demand.

Published 2017