Local EPUB Text
模型风险
建模的不适宜性
建模的不适宜性是一个根本的错误,它包含两种形式。第一种形式是对一个给定的问题进行错误的量化建模。例如,对一个音乐家的素质进行建模,从一开始就是错误的想法。人们可能会考虑音乐技巧相关的因素,诸如训练资源和持久性。但是最终,音乐家是否优秀这个问题并不是数学或者计算机模型所能回答的。这本身是一个主观问题,应用计算机模型本身就是一个错误。
因为对于模型的错误假设和判断,导致了模型不能正确地判断真实的情况。2008年的金融危机,可以说是证券市场上的模型失效。尽管证券和量化策略并不一样,但是它们都是世界各地的银行基于模型才产生的。因为这些产品在各种模拟的情况下都通过了检验,所以才被评级为AAA级。但是分开来看,它们都是不良资产。对于这个问题的概念化提取上产生了问题。在这个事件中,忽略了整体经济可以由于一个因素导致大量贷款同时无法被偿还。所以这些模型并不能处理现实中出现的金融危机。
第二种错误出现在量化交易中,更不容易被发现,是对已知问题的模型的错误应用。对于这种错误的一种示例是在风险评估部分讲过的,对于VaR(value at risk)的广泛使用。传统的VaR用相关矩阵和历史波动率来判断一个组合在特定时间的风险。然而,使用VaR中许多固有假设是无效的,例如,使用相关系数矩阵和历史波动率(定义为回报率标准差)时,假设投资组合中的数据都是呈正态分布。但事实上,市场数据经常呈现厚尾特征(fat tails)。换句话说,数据中经常有极端值存在。标普500指数的数据中可以看出这种情况的具体实例。基于2000年1月3日到2008年11月30日的日指数历史数据(剔除红利后),负4倍标准差所对应的日期是回报率低于-5.35%相对应的日期。如果标普500指数的回报率呈正态分布,4倍标准差的事件每33333交易日(大约128年,假设每年260个交易日)才会发生一次。事实上,对于标准普尔500指数,这种情况平均每13个月就会出现一次,正态分布假设条件导致频率增加了118倍。
此外,只有当两者成线性相关关系时,相关系数(VaR计算过程中的重要组成部分)才有意义。然而,许多金融产品彼此并不是线性相关关系。图10-1展示了线性关系和非线性关系的有趣对比。
图10-1 非线性和线性相关关系示例
正如图中所示,埃克森美孚公司(XOM)和阳光微系统公司(JAVA)之间并不是线性相关。注意到,埃克森美孚公司(XOM)回报率最高时,实际对应的阳光微系统公司(JAVA)回报率相当低(大约是-5%)。同样地阳光微系统公司(JAVA)回报率最高时,对应的埃克森美孚公司(XOM)的回报率大约是-5%。两者关系的最佳拟合图形看上去更像圣路易斯市的大拱门,而不是一条直线。相反,埃克森美孚公司(XOM)和雪佛龙公司(CVX)之间的关系确实看上去呈线性关系更合理。使用相关关系检验阳光微系统公司(JAVA)和埃克森美孚公司(XOM)之间的相关关系的研究员很可能会犯模型不适宜性错误,因为这个相关关系本身是非线性的。
模型误设
第2种模型风险是错误设定(misspecification)。模型误设意味着研究员建立了不能很好描述真实世界的模型。就实际情况而言,完全无法拟合真实世界的模型不可能获取利润,因为在作废之前不可能被关注很长时间。正因如此,越流行的错误设定与不寻常发生的事件越相关。这些模型大部分时间运转正常,但是当异常事件发生时会错误运行。2007年8月的余波反映了这种情况,当时许多宽客认为他们对大盘股的流动性风险的模型做得不够好,这是因为他们只关注了与自己持仓股票相关的流动性风险。然而,据他们了解,如果许多大的交易者同一时间清算类似的持仓,这些头寸的总规模远远大于任何一个个人交易者持有的规模。
这件事情的直接结果是,许多宽客发现风险模型或者交易成本模型错误设定,已经开始尽力修改这些漏洞。但是,这类事件的罕见性和独特性使得建模变得尤为困难。
执行错误
第3种或许是最常见的模型风险是执行错误(errors in implementation)。所有的量化交易策略最终都成为依存于硬件和网络架构中的软件组成部分。执行错误,或者是编程错误或者是网络架构中的错误,对于量化交易者而言都是严重的风险,某些情况下也会对整个市场带来严重的风险。例如,想象一个宽客利用执行软件,使用限价单以买入价买入和以卖出价卖出。但是他在执行软件上用相反的符号编写程序,以至于以买入价卖出和以卖出价买入。因为这个错误,对于每笔交易他要付出买卖价差——和当初的想法完全相反。这是一个程序错误的例子。2012年8月,骑士资本交易在短短的30分钟损失超过4亿美元,是由软件的某个部分由休眠状态转为活跃状态的错误而引起。订单量成几何数量增加,使得骑士在高价位累积了大量头寸。当它们卖出这些头寸,损失达到9位数。无论资本还是信心方面,骑士资本都受到很大的影响。公司几乎破产,为了生存,公司被迫以极其不合理的折扣价将超过70%的资本卖给投资者集团。这里并不是要挑剔它们,但是这不是骑士资本第一次犯执行错误。2011年3月,骑士资本的一个“过程错误”使得一些新创交易所交易基金(ETF)的价值立即从初始阶段的80%变至100%(交易所取消了它们的交易)。
法国安盛在它的风险模型中也有一个代码错误,导致客户损失2.17亿美元,法国安盛集团最终向投资者做出赔偿,并向证监会支付2500万美元的赔偿金,才得以解决这件事情。在这个例子中,错误似乎在2007年4月已经出现,但是直到2009年6月才被发现。即使在发现以后,几个法国安盛高管向他们的首席执行官隐瞒这个问题,既不向投资者披露问题,甚至也没有修复。最终,法国安盛集团大约在3年后,2010年4月向客户披露了它们的错误。除了支付巨额赔偿金,它们管理的资产从2010年3月的620亿美元下降到2012年6月底的180亿美元。
在另外一个例子中,保持匿名的一个成功的量化交易公司犯了一个架构错误。该公司的阿尔法模型和执行引擎是各自不同的服务器。正如之前所讨论的,投资组合构建模型是利用阿尔法模型来提供信息,以决定执行的多头头寸和空头头寸规模。某个交易日某个时间点,需要重新启动系统服务器。但是当服务器重新启动后,执行服务器最先在线,几分钟以后,阿尔法模型才重新恢复服务。执行模型,由于没有看到阿尔法模型发来的任何信号,快速自动地开始清算投资组合以消除风险。在阿尔法服务器恢复服务之前很短的时间里,公司投资组合的80%被清算,然后不得不重新构建。这个错误发生时,没有任何警告存在,直到不幸的结果显现出来。策略的盈利能力很强,但是突然被打破,归因于一个特殊的离奇错误和市场环境组合的影响。幸运的是,回报率没有受到太不利的影响,但这或许只是一种幸运。利用大量的代码来表达量化交易策略,很不幸的是,一些软件和架构错误是最常见的,但通常也是伤害较小的错误类型。