MATLAB是大机构数量分析员和交易员最常用的回测平台之一。它是测试大型股票组合策略的理想工具。可想而知,在表格中回测一个包含1500只股票的策略,虽说不是不可能,却令人恼火。
MATLAB提供众多高级工具箱,以及统计和数学模块等,当交易算法涉及复杂但常用的数学概念时,交易员可以直接使用。例如,在统计套利交易的因子模型中很常用的主成分分析就是一个很好的例子,用其他编程语言来实现是很麻烦的,而用MATLAB则可以轻松实现。
MATLAB还有许多对量化交易有用的、可从网上免费下载的第三方软件,如协整(Cointegration)软件。MATLAB还可以用来截获财经信息网页,并把它转换成有用的格式。
(1)瑞士再保险公司用MATLAB预测灾害及影响
在保险和金融领域,MATLAB在快速开发领域体现出来的独特优势,使得许多国际大公司开始考虑并部署基于MATLAB平台的应用。
瑞士再保险公司对于巨型自然灾害提供再保险服务,由于自然灾害的不可预测性,特别是在一些飓风等极端天气不经常发生的地区。这也就意味着再保险业务的开展不能依赖于历史数据而准确地确定可能潜在的损失。
瑞士再保险公司的自然灾害小组使用MATLAB开发了下一代的自然灾害潜在损失评估模型的原型。模型包括了其多年来在此领域积累的众多模型。
Gerry Lemcke的一句话也许能够体现出MATLAB在这方面的优势:“MATLAB帮助我们在一个非常短的时间内将我们30多年来积累的知识集成到一个应用框架下。在这个项目中,MATLAB是一个非常理想的软件开发环境,使得许多人能够同时在统一的环境下解决一个复杂的问题。”
MATLAB在这种情况下的优势在于其快速开发性、协作性以及多语言支持特性,特别是在跨语言平台的混编上。这就使得一个组织或机构以前积累下的IT资源能够得以以低成本的方式重复利用。
在此项目中,瑞士再保险面临的首要问题就是时间的问题。在再保险行业中,主要数据的更新都是在每年的最后一个财季,这也就意味着相关人员只能从9月份开始培训,给Lemcke和他的同事留下的时间就只有8个月。
多年来,瑞士再保险的专家们基于不同的计算机语言和开发环境建立起了独立的关于地震、洪水、飓风等自然灾害的模型。自然灾害小组想在此基础上将大量的已有数据导入到建立的原型中。
在算法开发阶段,小组的首要任务就是通过很多的模拟和测试来检验其模型。Excel不能有效地处理大规模的数据计算工作,而学习Java和C++不论是从培训的时间上,还是程序开发的质量上,都不能满足项目的需要。
“比如,当你想计算美国发生的热带风暴时,你需要运行一百万个人工模拟的北大西洋热带风暴的数据,你需要快速地分析这些模拟数据。”Lemcke说。
自然灾害小组的专家基于MATLAB系统和以前他们积累下来的经验,在8个月内完成了模型的建立。
Lemcke表示:“MATLAB是一个非常好的开发和测试模型的环境,特别是对于一些非IT类人员。在同Excel及其他复杂语言(例如C++和Java等)的互联上MATLAB同样表现出色。所以它是我们必然的选择。”
自然灾害小组首先将所有的模型组合到了一起,然后将所有的数据导入到MATLAB中。然后他们将精力集中在模型的开发,客户的需求和反馈上。
Lemcke事后回忆说:“当时将所有的模型组合到一起纯粹是摸索着前进。我们是边学边做。如果你发现什么东西不对了,你可以重写优化代码,以便于提高速度和数据的处理能力。”
由于瑞士再保险公司只有大概1000个左右北大西洋上实际热带风暴的数据,他们用蒙特卡罗模拟的方式,在给定将来可能发生的热带风暴物理边界的情况下进行人工模拟。小组通过将这些人工模拟的数据和已有的历史数据进行对比,来评估可能存在的潜在损失。
与此同时,小组人员用MATLAB自带的MAP工具箱将这些地理数据和对象转换成相应的地图对象。
最后,其IT部门用Java重写了这个模型,从香港到南非的50多家客户现在使用这个模型去计算地震和热带风暴等自然灾害可能带来的潜在损失。
目前,瑞士再保险集团正将MATLAB应用于其对美国洪灾风险的控制上。
MATLAB在风险控制和金融领域有着巨大的应用优势,这与MATLAB本身的设计功能有关。另外,其对于非专业人士来说,它是一个非常容易上手的工具,同时其对功能的集成度非常高,有利于提高开发的速度,使得非专业人士可以在很短的时间内开发出具有专业水平的产品。
(2)使用MATLAB来预测新兴市场中的金融危机
1997年,马来西亚、菲律宾、泰国、印尼等国开始的金融危机迅速在世界范围内蔓延,造成了巨大的损失。1997年秋天,印尼的卢布价值急剧下跌,国内对美元的需求到达了一个前所未有的水平,即使后来印尼政府从国际货币基金组织获得了230亿美元的贷款,情况也并没有得到控制。
经济学家Paul McNelis博士执教于Georgetown大学,他的基于MATLAB的经济分析技术,是金融界领先的分析技术,得到了亚洲和南美洲中央银行和金融组织的广泛使用。他同时从如何减轻经济转型中给大众带来的金融困境的角度教授学生使用基于MATLAB的分析方法。
Paul McNelis着手研究使用现代的研究方法和工具可以预测这样的金融危机,从而减少它们带来的损失。他将研究重点放在了印度尼西亚,在美国国际发展委员会的技术协助下,在印尼的印尼银行开始他的研究,在这项雄心勃勃的计划中,McNelis始终在利用MATLAB这个强大的工具及其中的Excel Link、Statistics、Optimization、Control System、Neural Network、System Identification工具箱。
McNelis着手分析印尼13年来每个月对货币的需求量,这期间包含了金融危机这段时间。经济学家通常使用的线性分析方法和误差修正并不能适应现在的情况。他需要去确定一种非常有效的方法来分析这些累积以后产生的大量数据,同时,他还要尽力减少数据中的巨大波动使预测结果产生错误的可能性,例如金融危机期间市场对美元的高需求。因为MATLAB具有强大的功能,易于使用,并且可以处理超大规模的数据集,McNelis选择了MATLAB作为研究的工具。
“MATLAB功能非常强大,并且易于使用,我有信心,印度尼西亚银行能够应用MATLAB来作为他们的金融危机早期预警系统。”