开拓者量化网 资讯频道 程序化交易 交易心得 交易策略的构建不止是测试与优化

[转] 交易策略的构建不止是测试与优化

2015-02-13 10:16 来源: 量投网 浏览:1404 评论:(0) 作者:hjh1350

在程序化交易的过程中,我们大部分交易员都会遇到这样的情况:一个关于交易的精彩想法突然冒了出来。这也许发生在工作一整天后,也许在开车回家的途中,或者在晨浴中突然冒出一种念头,又或者有时是睡觉时冒出来的。但是无论它发生在哪里,交易员的正常本能是冲向电脑急忙来检验这个想法,并快速分析结果,如果该想法似乎是成功的,那么便会开始进行交易。

然而,在量化投资领域,这是一种最糟糕的方法。即使交易软件(有简单的策略发展和优化特征)能够缩短创建交易策略来观看历史结果的时间,可以缩短到仅仅几分钟的时间,但是这并不意味着它是一种正确的方法。事实上,快速测试和浅显评估通常是完全错误的方法。

长远来看,交易员必须像构建房子一样对待策略的创建,没有住宅施工人员一发现一块区域且得到一些物资后就开始进行构造,在开始建造之前,需要经过许多步骤,而这种概念同样也适用于交易策略的开发。对于住宅建筑公司而言,制定计划和打地基是首要的两个步骤,而交易员在测试和分析之前也必须要这么做。​

开发交易策略的绩效目标应该是明确性、可测量性、可实现性、相关性和时效性。

向任何建造者讨教,他都会告诉你建房子应以计划或蓝图开始,蓝图会显示成品的样子,这也同样适用于构建交易策略。它必须以设计图开始,来显示其最终结果,可悲的是,许多人认为设计图意味着“开发一个可以赚许多钱的交易系统”,这样说可能太宽泛了,“许多钱”到底是多少钱?关键是要具体说明而不是用一种模糊的概念。

为成功创建交易策略,对策略的预期性能,交易员首先需要有一个详细的计划、目标或愿景。这样,当交易员开发策略时,将会有明确的方法来衡量其进展。因此,良好的战略发展始于牢固的目标。个人发展教练经常会提到SMART目标,这是一个很好的方法。SMART如上图所示,是一个首字母缩略词,目的是帮助人们记住杰出目标的重要特征:明确性、可测量性、可实现性、相关性和时效性。那么SMART目标这一例子是用于开发交易系统的吗?

SMART中的“S”意味着我们的目标必须要有明确性,“开发一个可以赚许多钱的交易系统”一点也没有明确性。没有明确目标的交易员永远不知道何时可以达到目标。相反,像“该交易系统需要平衡每合同每年12,000美元的净利润,并且至少需要测试7年”的目标就当然是够明确的了。需要完成两个目的才能达到明确性:帮助交易员确定何时可以达到目标;在浪费太多时间在未执行策略之前,应该帮助其过滤掉不满足计划的系统

SMART中的“M”是可测量性。简而言之,它意味着在计划中策略必须要满足的目标数目和性能标准,创建一个“最小化跌幅”的策略是相当容易的,但是却很难去创建一个有“30%最大跌幅”的策略来在交易边缘基础上进行测量。​


A”代表可实现性,这是许多交易员会误入歧途的地方。开发一个“在E-mini S&P 500 期货中每合同每天至少赚20点的”交易系统当然是明确且可测量的,但是它离可实现性却相距甚远(至少对于大多数交易员来说是这样)。在程序化交易的过程中,设定一个不切实际的目标只会造成失望,并且不可避免地会导致开发人员缩短开发进程。此处的问题在于不仅要胸怀大志,同时也应切合实际。​

SMART中的“R”代表相关性。对于交易系统设计,交易员必须确保计划中的细节能够帮助创建一个牢固系统。如果计划中包含“不超过连续三次的失败交易”,那么请问“该标准真的与开发一个交易策略相关吗”?虽然它可能是交易方法中的一个不错特征,谁不会喜欢一个从未超过连续三次失败交易的系统呢?但是它可能真的偏离了重心,记住:交易计划必须与创建长期有利可图的交易策略要相关,这是第一点也是最重要的一点。而其他非关键项可以放在意愿清单上,但不应该是策略发展的重点。​

SMART中的最后一个字母是“T”代表的是时效性。正如没有住宅施工人员想要花费十年来建造一所房子,也没有交易员想要花费数年来开发一个交易策略。所以好的开发人员会在策略创建上设定时间限制,适用原因有两个:第一,设置时间限制可以阻止开发人员不断调整和更改策略以对其进行改善,这种方法类型往往总是会造成拟合。第二,时间限制可以让开发人员保持忙碌。开发人员知道有许多潜在的策略有待评估,不应只是集中在一个策略上,所以重点是要评估想法而不是改善某一系统。

牢固基础

一旦策略发展计划和目标创建使用了SMART目标过程来完成后,就是时候开始进行详细的工作了。对于前面讨论的住宅施工人员而言,该计划就是他的蓝图,并且他的建造总是要以地基开始。在量化投资领域,对于系统交易开发人员来说,基础可以被视为策略构建过程。

向任何一个成功的住宅施工人员请教,他都会告诉你稳固房屋始于牢固基础。建造在流沙状态中的房屋可能开始看起来很有吸引力,但是时间久了之后便会开始变化和土崩瓦解,同理,在量化投资的领域,交易策略也同样是如此。如果没有牢固的开发过程,创建的任何策略最终都会土崩瓦解。​

例子如“保持真实的一面”(右)所示,所显示的两个交易策略看起来都是可接受的,理论上第一个策略有着大大的优越性。当然,外表有时是会骗人的,这也肯定了此处的情况。​

一方面,第一个策略是通过优化所有可用数据并为数据拟合规则来构建的。换句话说,它通过薄弱开发过程以及薄弱基础来支撑。另一方面,第二个策略是通过强有力的基础进行构建,包含限制规则、向前测试以及稀疏优化。因此更有可能会经得起时间的考验。

所以,仅仅只是看资金曲线是不够的——因为不知道它的交易系统是如何被开发的,交易员可能从不知道资金曲线是多么的实际,且不知道什么基础是至关重要的。​

所以,系统交易员如何为开发交易策略创建一个强有力的基础呢?首先,他必须通过使用相同过程来测试每个策略并以此消除所有倾向性。像其他想法一样,受宠的想法也应该要经过相同的开发过程,这样所有策略可以经历相同的测试和分析。于是最好的想法自然而然毫无偏差的上升到最高位置。第二,过程应该要采用客观绩效标准,并且被交易系统开发人员一贯使用。 

证明过程


证明交易开发过程的一个方法如“按部就班”(下方)所示,它包含下列步骤:​

交易理念:好的交易员会不断寻找新想法和新概念来进行分析。数据挖掘技术和头脑风暴法是新想法的两个主要好来源。​ ​

有限可行性测试:大多数新交易员对所有历史股票数据采用所推荐的策略,通常是进行过度优化测试策略的更好方法是在少量股票数据上进行。如果小样本的策略性能很差,那么在大样本上性能也有可能不好。


深入向前测试和优化:向前测试使用优化和交叉测试,将它们结合成一个方法来形成更好的实时性能。该方法要优于传统的优化或者单一小样本测试。

蒙特卡罗模拟:历史不会重演,所以运用随机数来模拟预期的策略性能是非常重要的,一般来说,系统交易员可以获得实现某种盈利率或忍受某一跌幅的可能性。

孵化/初始测试:开发完成之后,在将资金投入交易之前,最好先让策略沉淀一会。实时监控策略,从长远来看,如果没有实际交易,可以节约交易员数千美元,因为开发错误会在该步骤中会频繁暴露自己。​


全面实施:一旦一切准备就绪,可以开始全套尺寸的现钱交易,该阶段也包括使交易更顺利的增加位置大小的规则,当策略表现不佳时,减小位置大小。​

上述过程会因交易员不同而各不相同,但重要的一点是过程是存在且被记录下来了的,这就可以防止交易员绕过步骤以进行某种有利策略。​

在量化交易领域,开发战略性能目标和策略开发过程是很容易被理解的概念,但是对于交易员来说,在运用这些概念时,诀窍是要有有条不紊且又严格的方法。走捷径的交易员或者采用欺骗过程的交易员几乎都是不成功的。就是房子建在沙地上,未能正确开发的系统交易策略将会被现实世界的无情攻击而迅速崩溃和失败。另一方面,以合适方法构建的牢固的系统交易策略有很大机会在破坏市场中存活下来。


评分:     

评论列表(0)
第 1- 0 条, 共 0 条.

您需要 [注册] 或  [登陆] 后才能发表点评