用户故事

PZU集团为Solvency II指令合规性开发市场风险模型

挑战

确保符合欧洲偿付能力II指令资本要求,同时改进市场风险管理

解决方案

使用MATLAB收集和清理来自多个来源的金融数据,开发综合市场风险模型,运行蒙特卡罗模拟,并量化VaR

后果

  • 市场风险模型发展加快
  • 非程序员交付的生产系统
  • 计算时间最多减少85%

“MATLAB使我成为了一名程序员,尽管我几乎没有受过编程教育,但它使我能够轻松地尝试自己的想法。MATLAB不仅是一个数学工具;它还处理数据文件处理、错误检查以及开发金融模型时需要完成的其他繁琐任务。”

亚当·诺维斯基,PZU SA

图中显示了最小化实际概率密度和预期概率密度之间的差异如何帮助PZU识别风险中性密度函数。


欧盟的偿付能力II该指令包括一项偿付能力资本要求(SCR),该要求定义了保险公司必须持有的资本量。引入该指令是为了降低保险公司无法完全满足索赔要求的风险,solvency II要求保险公司考虑其市场风险敞口以及风险价值(VaR)他们持有的股份。

作为波兰最大的金融机构之一和中东欧最大的保险集团,PZU集团在MATLAB中开发了一个市场风险模型®满足Solvency II要求并更有效地管理风险。

PZU风险管理部门的专家协调员亚当·诺维茨基(Adam Nowicki)说:“我们需要知道我们的风险在哪里,而偿付能力资本要求的标准公式并不能给我们所有的答案。”。“我们在MATLAB中开发的内部市场风险模型不仅支持符合Solvency II指令的原则,还提供了有关我们市场风险状况的宝贵见解。”万博1manbetx

挑战

为了计算市场风险,PZU需要处理来自十几个内部会计和交易系统的不同格式的数据。由于无法找到能够满足其需求的商用市场风险解决方案,PZU风险建模小组考虑了几个开发自己的方案。其中一个方案是Symbol的软件包c数学计算,但该软件缺乏小组所需的文件处理和错误检查功能。

该小组先前使用Visual Basic for Applications(VBA)开发了风险模型,但发现这种方法存在一些缺点。VBA的困难从令人讨厌的日期处理中的月和日的切换,到对优化解算器结果的更严重的关注。

该集团需要一个开发环境,非程序员可以利用该环境开发一个完整的、生产就绪的市场风险解决方案,从数据收集和清理到风险建模、蒙特卡罗模拟和VaR计算。他们希望通过利用多核处理器进行并行计算来加速计算。

解决方案

PZU利用MATLAB建立了一个全面的市场风险模型。

在MATLAB中使用统计和机器学习工具箱™, Nowicki开发了从各种来源导入和清理数据的算法,包括来自内部PZU系统的会计和交易数据以及来自彭博社的时间序列市场数据。在检查数据是否存在异常值和错误后,算法将所有来源的数据合并,并将其转换为标准格式。

Nowicki在MATLAB中开发了一个基于GARCH过程的时间序列市场风险模型,并使用清理后的数据对其进行校准。对于每个时间序列(包括利率、股票、货币和指数),模型评估PZU的当前位置。对于有息票的债券,该模型使用财务工具箱计算现金流日期™.

Nowicki使用MATLAB非线性优化函数fminsearch拟合市场风险模型中的概率密度函数,最小化实际概率密度和预期概率密度之间的差异。

为了加速这些优化,Nowicki使用了并行计算工具箱™ 在八核处理器上并行执行它们。

使用该模型在MATLAB中运行蒙特卡罗模拟后,Nowicki的算法为PZU工具定价,评估公司头寸,并计算VaR。

作为最后一步,Nowicki创建了一个界面,其他分析师可以使用该界面运行模型并可视化结果,即使他们没有使用MATLAB的经验。该接口和底层模型现在在PZU的生产中使用。

后果

  • 市场风险模型发展加快。Nowicki说:“使用多种工具来开发财务模型可能非常耗时,并且会造成沟通困难。”。“使用MATLAB开发速度更快,因为我可以在一个屋檐下完成所有工作,包括收集数据、与外部系统和提供商建立连接、清理数据、执行数学计算和优化以及报告结果。”
  • 非程序员交付的生产系统。诺维斯基说:“我的背景是经济学,而不是编程。”。“虽然我不认为自己是一个伟大的程序员,但Matlab使我能够运用我在金融领域的专长来开发一个没有任何供应商可以为我们提供的专有市场风险模型。”
  • 计算时间最多减少85%。Nowicki说:“当我开始使用并行计算工具箱同时优化多个时间序列时,处理时间从一分钟多降至不到10秒。”。“我惊讶地发现,复杂的优化现在比数据收集和清理花费的时间要少。”

s manbetx 845使用的产品

展示你的成功

加入客户参考计划