为商品和衍生品市场开发交易管理系统

挑战

自动化手工和基于电子表格的定价和评估商品和衍生品的过程

解决方案

使用MATLAB开发一个可扩展的交易管理系统,并在企业中进行部署

结果

  • 开发时间缩短了两年
  • 人工工作量减少80%;计算效率提高了80%
  • 可扩展的贸易管理平台部署在世界各地

“我们每天处理2GB的市场数据。我们之前的系统太单调乏味,数据集太大,我认为如果没有MATLAB以及它处理大数据、直接与彭博社和我们的数据库交互的能力,这是不可能实现的。”

Ananthi Jegan,奥兰CFSG

奥兰的贸易分析和风险管理系统。


奥兰国际总部设在新加坡,是一家领先的农业综合企业,为70个国家的1.6万多客户提供从种子到货架的工业原料和食品。该公司的大宗商品衍生品交易业务部门CFSG将定量建模与奥兰广泛的大宗商品供求洞察力结合在一起,以进行期货和期权交易。

为了监控这些策略的市场风险,并进行回溯测试和情景分析,Olam CFSG在MATLAB中建立了一个交易分析和风险管理系统®。该系统每天处理250万笔交易和400万份市场数据记录来评估交易。该系统是用于属性盈利能力和执行风险评估使用历史数据。

“MATLAB使我们能够开发一个可扩展的企业贸易管理平台,与我们之前使用的方法相比,这是一个巨大的改进,”奥兰CFSG的产品经理Ananthi Jegan说。“使用MATLAB,我们减少了错误和人员需求,同时节省了时间,提高了效率。”

挑战

过去,奥兰CFSG使用的第三方交易管理系统成本高昂,且难以定制,使其几乎不可能纳入新的金融工具。为了解决这些缺点,奥兰CFSG的交易员和分析师开发了一个基于微软的内部解决方案®Excel®电子表格。虽然用电子表格添加新工具很容易,但公司很快就遇到了障碍。首先,分析师们花了太多时间手动将彭博社的市场数据复制到电子表格中。其次,涉及大量市场和交易数据的计算,如情景分析、风险价值(VaR)和回溯测试,非常耗时,而且经常导致软件崩溃。第三,Excel模型不能适应蒙特卡洛模拟定价。

Olam CFSG希望自动化检索数据的过程、加速定价算法,并消除人工处理期间发生的错误。此外,他们希望开发和部署一个可伸缩的交易管理系统,能够可靠地为跨越三大洲的用户提供服务,并能处理千兆字节的市场数据和每天数百万笔交易。

解决方案

来自班加罗尔的四名Olam CFSG分析师使用MATLAB加速了该公司贸易分析和风险管理系统的开发。

分析师们使用MATLAB和Datafeed Toolbox编写了从彭博社导入市场数据的函数。

他们清理导入的数据,使用统计和机器学习工具箱™通过曲线拟合找到缺失的值。他们还使用统计和机器学习工具箱识别和可视化的趋势数据与各种图表和图表。

他们为各种工具开发了定价模型,包括美国和欧洲的障碍期权,以及商品和外汇期货。他们基于金融工具工具箱中的Black-Scholes和bjerkson - stensland期权定价模型建立了这个模型。

通过使用Financial Toolbox™,该团队开发了评估债券和收益率、分析期权估值和敏感性的算法。

为了加速定价和估值计算,团队使用Parallel Computing Toolbox™在多个处理器内核上并行执行它们。

分析人员使用Database Toolbox实现了交易管理系统的三层架构中的数据访问层。这一层提供对MySQL的访问®用于存储中间和最终计算结果的数据库。

最后,团队使用MATLAB Compiler™和MATLAB Compiler SDK™创建Java®类的MATLAB算法。他们将这些类作为一组JAR文件部署,通过Java开发的自定义web应用程序通过远程方法调用(RMI)访问这些JAR文件。

该贸易管理系统目前正在生产中,并在印度、阿拉伯联合酋长国、新加坡、英国和美国的不同商业集团中使用。

结果

  • 开发时间缩短了两年。Jegan说:“多亏了MATLAB中各种各样的定价模型、统计函数和VaR功能,我们在大约一年的时间内完成了交易管理系统的开发。”“在更短的时间内部署了显著的增量功能,比如对需要数百万笔交易的投资组合进行场景分析,以及将报表自动化到Excel中以方便客户沟通。”
  • 人工工作量减少80%;计算效率提高了80%。Jegan指出:“由于使用MATLAB自动检索和解析彭博社的市场数据,我们减少了80%的时间和人力需求。”此外,通过使用并行计算工具箱和数据库工具箱,我们将交易处理的计算效率提高了80%以上。在财政年度结束时结束业务,对我们的交易团队来说曾经是一个繁重的过程,但现在只需要几个小时,就能轻而易举地完成。”
  • 可扩展的贸易管理平台部署在世界各地。Jegan说:“用MATLAB开发定价和估值算法的一个关键优势是,我们可以使用MATLAB编译SDK轻松地将它们部署为JAR文件。”“这使我们能够交付一个可伸缩的、企业级的应用程序,所有的核心算法都是用MATLAB编写的,表示层是用Java编写的。”