对冲基金的敏捷、灵活、无差错

时间:2014-11-24 16:49 作者:By Ed MecCarthy 来源:cfa

CFA Institute Magazine, March/April 2014,Vol. 25, No. 2: 18–20.

 
敏捷、灵活、无差错
部署交易模型复杂且耗时,强有力的理念仅是起点而已。
作者: Ed MecCarthy, 罗德岛州Pascoag财经文章自由撰稿人。
翻译:童柯, 审阅:汤晓东
 
建立交易策略,定价模型及风险管理技术的想法有很多来源。也许公司的交易员带着深思熟虑的策略找到你,她坚信该策略能够盈利并且希望你可以进行分析以便更好地了解其表现。也许客户会发邮件,向你推荐一篇学术型金融期刊上的文章,文章中详细讲解了对于某个套期保值模型的改进。作者写得不错,所以你也想看看这个改进的模型是否会有助于提升你对客户的服务。
这种情形在许多金融机构中是常见的,尤其对于那些严重依赖量化分析的机构而言更是如此。虽然提出有创意的方案并不难,但是机构必须要决定如何系统地评估每个方案的潜质。而且,就算方案证明是可行的,也必须在机构内有效地部署并管理它。
金融机构承认这些是挑战。2012年,马萨诸塞州的软件开发公司MathWorks在一份名为“全球金融危机后的建模和分析:金融服务业全景”的研究中指出金融机构对模型开发与部署过程都很感兴趣。这份研究报告主要有以下几个发现:
l  88%的金融机构认为他们将失去竞争优势,79%的机构认为他们的利润会减少,54%的机构相信如果他们继续使用拙劣的(例如有缺陷或过时的)模型,其风险会增加。
l  有82%机构认为,缓慢的模型开发会导致对市场变化的反应不够迅捷,而74%的机构认为这会导致无效的风险管理。
l  (对51%的机构而言)现在需要好几个月来将模型整合于业务流程中。但是买方希望将这个时间缩短到几天(75%的机构)。卖方则雄心勃勃地想将这个时间降低到几个小时(40%的机构)。
l  83%的机构正努力加速模型的开发。
MathWorks的报告显示70%以上的受访机构使用了时间序列、回归、最优化及蒙特卡洛模型。但是,行业中不同类型的机构都有自己关注的焦点。例如专门投资美国股票的小盘价值股经理使用的模型肯定不同于商品交易员或者全球宏观基金经理采用的模型。正如报告所写,“建模技术在金融服务行业是常见的,但是在应用上有所不同。这取决于建模的对象(例如金融工具类别,风险因素,交易策略),所处的市场,客户是买方还是卖方等各种因素。”
但是,在行业中各领域,这个寻求可行策略并建模,测试及部署的过程存在一些共性。业内专家频频表示这个过程会越来越有效,也会提升评估及部署速度。
寻求可行的策略和模型,测试并部署它。整个过程可以变得更有效。为提高效率,一些投资者使用集成的开发,测试及投资组合管理平台。一个关键的挑战是克服“技术人员”与“产生创意的人员”之间的分歧。(**页左侧黄底方框内的文字翻译)
 
更快地失败
MathWorks的调查显示,机构希望减少开发的时间,但每一步都需要时间。实现该目标的方式之一是“更快地失败”。虽然这个方式听起来违背常规,但大多数自然科学如制药学的研究是以失败而告终的。通过迅速地淘汰无效的策略,机构可以更快地识别并找到有可能成功的方案。
要想快速识别成功的方案需要使用一个系统的方式来进行模型开发及测试。但是这项工作可能需要成员间更好的协作并且在协作过程中可能会增加额外的组织结构。在某些机构中,这样的变化可能会有问题,比如那些机构里的个人及团队偏爱某种工作流程,并且他们也不愿意分享工作的相关信息。
一位匿名的业界消息人士举例说明机构如何能在较少干扰下提高效率。设想这样一家机构,许多研究员(或量化分析员)在那里独立工作,而每个研究员喜欢使用不同的数据源,如彭博或汤森路透。每个人使用不同的软件来将数据输入模型,测试它并分析测试结果。**个分析员可能用微软Excel,第二个用EViews,而第三个使用MATLAB。
让我们换个方式,就是让研究员在多个阶段都使用相同的软件。这种通用平台的使用会使合作更容易,并且避免影响研究员设计策略或模型的创意。在这位消息人士所在的公司,评估投资策略的过程是使用MATLAB来采集并转换数据。接下来每位研究员仍可使用他们喜欢的软件(如本例中的Excel、EViews或MATLAB)来定义策略并进行测试,但之后研究员会转回使用MATLAB来做回溯测试分析及演示成果以便与同事合作。基于这家公司的经验,增加通用工具的使用扫除了合作的障碍,分析员可以花更多时间来改良他们的策略。

收集想法
Phil Zecher来自于康涅狄格州格林威治的Periplus LLC,他为对冲基金工作,是一位基金行业顾问。以他的经验,金融行业中的每个人,尤其是在交易领域,某种程度上只是个“模式分析器”。在这里他指的并不一定是技术分析,而是所有为捕捉初始趋势及值得深究的创意所做的工作。位于多伦多的QTS Capital Management的对冲基金经理,《算法交易:成功的策略及其原理》的作者,Ernie Chan验证了这个说法。他经常阅读大量关于交易和金融出版物及学术期刊,并从客户及其博客读者那里获取点子。“我就像一个吸尘器,”他说,“我只是从许多渠道汲取信息及创意。”
Chan会遵循一套程序来判定文章或学术论文中提及的方法是否值得进一步研究。他的检查项目包括文章的作者是否考虑了交易成本,以及在选股模型中是否存在幸存者偏差。然后他会凭经验来确定此方法是否合理。其他人也强调了要避免盲目笃信某个策略或模型,因为你可能没有完全理解其背后的含义。只有通过初始检测的方案,Chan才会考虑对其做进一步研究。
如果策略通过了**轮筛选,Chan会采集必需的数据,为回溯测试做必要的转换。在这个阶段他使用MathWorks公司的MATLAB软件,但他指出,使用其他计算工具如R和Python也可以。另外,用户还可选择那些用于创建交易策略的专业软件,如MethodTrader和QuantHouse。“这些平台是由量化投资组合经理开发的,在某种程度上,使用这些平台会令你的研究工作更加容易且富有成效,”Chan解释道,“但是这些平台也有个缺点,就是他们经常在可研发的策略种类上做一些限制,所以使用它有利有弊。不过仍有许多机构交易员喜欢在这些平台上研发策略,所以这真得是见仁见智了。”
买入并持有的投资者也可以使用集成的开发,测试及投资组合管理平台。例如,位于以色列宾亚米纳的Alpha Vee Solutions最近发售一款全球股票研究管理软件。这个软件提供约20,000家上市跨国公司数据。分析员可以使用软件自带的模板建立定价模型或者使用软件设计并回溯测试他们自己的模型。这套软件旨在为价值投资者而非短期交易者服务。“我们并不涉及高频交易,”这家公司的CEO兼创始人Moshik Kovarsky如是说,“我们也不涉及技术交易领域,本质上我们关注的是基础价值……这是为中长期投资者所设计的。”
目前有一些关于回溯测试的争论,而Chan也承认了其局限性。例如,客户可能请他回溯测试一个模型,测试期间长达20年,并要求他说明那段时期内市场结构及监管上的变化,会导致相较于3年或5年期的测试而言包含更少的信息。他也小心地注意到一个模型可能在回溯测试中表现很好但是未来使用中表现很糟。即便如此,他认为回溯测试是关键的一步,可以用来识别那些无法达到期望夏普比率的策略和表现逊于他本人使用的**跌幅指标的模型。他说:“最起码如果一个模型在过去表现差的话,我们也不必在未来使用它,因为事实上没有任何证据证明它是可行的。”
避免重编码
假定一家机构批准使用一个策略或模型,下一阶段开发可能带来一系列新的问题。MathWorks的合伙人Jim Tung将其描述为“重编码”——他主张这个步骤应尽可能避免。设想这样的情景,研究员或分析员已经研发了健壮的算法,研究员接着将工作交给程序员,而程序员将其重新编码以符合IT部门的语言要求,接下来是新一轮测试。Tung表示这一步可能会事与愿违。“重编码,重新编写算法及实施带来的问题在于这个过程本来就有缺陷,”他说,“重编码会引入新的错误,(甚至)有时你会丢失算法作者的本意。”­
 
Zecher承认模型的重编码是金融行业长期存在的问题。他将其描述为一个迟早会发生的灾难并且说这是由于“技术人员和产生创意的人员”之间的分歧长期存在。风险在于,即使拥有高超技能的编程人员也无法真正理解算法背后的业务目的,他们可能不小心修改了算法,而这些修改根本不会被算法的开发者认可。“创建模型的业务人员并不具备撰写规格说明书的经验,而程序员通常不会鉴别交给他们的说明书其实有多么不足,”Zecher说,“因此业务人员要额外花费大量时间来检查并测试程序员的工作。”
 
Zecher建议两个可能的解决方案。**个是让业务人员事先提供更好的规格说明书给程序员。另一个是让某人作为业务人员,程序员及IT人员间的纽带。这个人需要理解业务及技术并能“有效地用双方的语言表达”,Zecher这样说。
 
Tung提出另一个选择是使用自动化工具避免重新编程。如果开发人员能够按一个按钮就将算法转化成IT部门使用的语言——如C++——这样做将节省时间并减少重编码的风险。MathWorks的调查主张“将技术计算软件直接应用于关键业务运行系统可以加速上市时间并获得成本优势……通过将模型直接投入运行,就不用花时间用另一种语言重新编码,这样消除了重新编码的潜在风险。对这些自动运行过程的测试也可以是自动的。自动化加速了模型实施及整合过程并释放了宝贵的IT资源,而这些IT资源可以重新部署去做诸如数据框架及通讯引擎方面的工作。”
MathWorks的调查补充说明,虽然这个方法可以加速开发时间,它还是可能遭到抵制。“卖方的内部代码库通常使用C++编写,并有数十年历史,他们习惯上反对采用可以立即投入运行的模型,更愿意重编码,尽管这种态度有改变的迹象。另一方面买方则更灵活,他们愿意将代码更快地投入使用。”
自动化也保护着分析员所做的分析质量。Tung指出:“当你能够自动化实施算法并将它做成例如Excel宏或是.Net组件或任何可自动运行的控件,你能确保其质量因为自动化意味着你不会引入手工错误。”

 
成本考量
市场变化意味着模型必须适应变化,否则将会失去其价值。Chan监控**下跌和触发止损指标,以衡量策略是否失败。他引用了一个例子,其中一个策略在回溯测试中**下跌了10%。但在上线后,这个策略产生了20%的跌幅。这个差异使Chan怀疑这个模型是否可行并且中止使用它进行交易,这会持续到他复审模型并可能对其做出修改为止。
 
触发止损是策略表现不佳的另一个信号。即使一些交易者可能只是暂时停止使用用该策略交易,Chan还是认为触发止损是不该被忽略的。“如果因为某些原因你正式使用的交易策略触发了止损,你要做的不该是忽略这一现象,也不仅仅是在某天暂停交易又在隔天恢复交易,”他指出,“止损的发生标志着我们应该重新考虑这一策略。它包含的问题远比暂停交易要严重得多,实际上它意味着所用的策略应该被重新检视。”
 
然而,复审或替换算法有经济成本,机构应该事先考虑怎样最小化这些成本。Tung指出每次迭代都需要重新编码,重新测试且在最终部署前进行合规测试,机构如何能够提升软件开发及管理流程使之能够迅速有效地做出变化?Tung回到以上的想法,即让流程尽可能地自动化。“如果你能自动化大量的步骤从而可以自动部署所开发的模型,那么进行一次开发迭代或是一个模型改进周期的障碍或成本就会非常低,”他说道,“由于风险及工作量都最小化了,机构在改变和改进他们的工具和技术时就变得敏捷、灵活得多了。”
部署及维护
这些意见并非要淡化IT部门的价值。当一个算法通过了测试并被合规部门批准实施,它仍要被转化为一种能运用大规模数据并能在全机构范围内部署的形式。除非机构规模很小,否则这项工作不可能由算法开发人员或分析人员来承担。这意味着IT人员将承担把算法整合进公司的计算框架并管理它的职责。“有些人称之为生命周期管理,有些人称之为IT基础建设,但是(它是)这样一个思想,即对所有东西进行源代码管理,变化管理及单元测试,” Tung说,“IT人员非常在意这些软件组件管理的相关内容。如果你要设立一个工具,你要确保通过一个部门来管理它。”
Zecher赞成那些还没有这么做的投资管理公司应采用软件行业的软件开发标准。这些标准包括版本控制(即保留较早版本的代码),强大的文档记录,单元测试及回归测试。他解释说这不是数学意义上的回归测试。这项技术是指用之前输出的结果来测试代码的改动以确定这些变化是否会引入某些缺陷或错误。
 
分享:

更多 >热门文章

CFA考生交流群
扫一扫进群有福利