2103年5月6日,瑞贝卡·亚当斯早上6:30醒来就为这一天做准备,她洗澡穿衣,拿上海滩装备然后下楼吃早饭。她7:45走进办公室,昨晚交易的结果显示在行业标准的OLED监视器上,有一面墙那么大。她从上海1000电子迷你期货合约获得的利润被孟买50期权的损失抵消了,但总体来说,一觉醒来纸上的利润不错。计算机告诉她发生过通讯差错,但后备线路介入,她的仓位一直很安全。如果有什么问题没解决,电脑就会用电话叫醒她或发出尖锐的警报,声音大到能把死人叫活。她满意地笑了,转身到海滩享受去了,她要在海滩排球中将朋友打得满地找牙。电脑在她外出的时候也会继续交易......
不少系统交易新手被这种美好景象吸引,由于之前的技术竞赛,这种美景的某些部分逐步迅速被实现。但是能实现交易人憧憬的可进行自我更正、自我调节、自动交易的生钱机器还是艾萨克·阿西莫夫故事里遥不可及的未来。目前系统交易人还要开发(或购买)一个或更多交易系统,形成按照交易信号执行的步骤和习惯。因此,鉴于系统交易人承担的耗时任务,本文会重点讲述开发和评估交易系统——这两方面要么是由终端用户编写,要么就是可以考虑购买或租赁。
审视现实
每天都有成千上万绝项聪明的人(相当于博士级别的)想要找到从市场无效中榨取利润的新办法,但他们还是没有开发出一个能够长期持续赚钱的系统。经验丰富的系统交易人对此心知肚明,因此他们会在多个时间段内用一揽子系统交易一揽子商品,从长远看这是利用机械性系统持续赚钱的唯一方法——至少在我们编出程序让机器替我们干大部分工作之前只能这样。
要想长期用一个机械性系统赚钱,不说不可能,也是非常困难的。一个健全的系统一般只有一点优势,并且会随时间的推移而消失,在调整风险基础上只能赢取小额利润,所以必须将系统与投资组合相结合,才能最大化收益并降低风险。
好好仔细研究系统
任何交易系统都能生成几百种统计测量数据,无论评估用的是交易系统的哪些数据特征,所有因素都要根据历史数据进行,我们没那个本事去窥见未来,所能做的就是检测系统,与历史常态比较性能优劣。系统开始脱轨的时候——将来一定会,交易人就要考察脱轨的原因,决定系统赖以建立的基本假设是否合理。
我逐渐形成了自己衡量系统的最常用参数,在几百(或许几千)个衡量参数中,我集中在这里列出的16个衡量标准上,尽管这些标准不是对人人都合适,但对我有效,对交易新人或许是个不错的开始。
1.基本假设。在考察系统时要问的第一个问题是:“系统的基本假设或出发点是什么?”然后还要问这些基本假设是否说得通。每个系统都有凭直觉就感觉正确的基本出发点。根据我的经验,大多数健全的系统一般都建立在非常简单的基本出发点上。
2.盈利性。看到这里很多人都会说:“废话!我当然会注意盈利性。”但我的意思是看看系统在一份合约上是否能盈利。很多系统的资金管理会根据每笔交易改变合约数量,不变的话,一份合约上的盈利就不那么吸引人了,很多情况下还会带来亏损。改变合约数是为了控制风险、平衡系统,但不应该用于将亏损系统变成盈利系统。
3.盈利因素。这是检测盈利性的另一个方法,用盈利交易总数除以亏损交易总数,如果盈利因素大于1.0,就是盈利系统。短期交易系统因为交易次数多,盈利因素总是不足2.0。
4.亏损率。获取1%的利润需要最大多少亏损率。在五年时间里亏损10万美元是为了要获得同等数额的利润,这笔交易就不那么有吸引力。最大亏损率何时会发生?是在资产曲线的开头、结尾还是中间?如果是在结尾(如最近),这就是警告信号,表明系统开始失效——意外事件造成的除外,如9.11。
5.盈利交易占比和每笔交易的平均利润。获利交易占了百分之几?盈利交易占比高相应的就是每笔交易的利润低、每笔交易的平均损失大。如果不是这样,你考察的系统很有可能不会长期有效。基本前提与这些数字对应码?例如,突破趋势跟踪系统的盈利交易百分比总是比较低,但平均盈利交易比平均亏损交易大。
6.测试期。测试期限该多长?应该测试哪些市场?对于日图交易系统,最好是有10年的数据。市场数据应该能显示多次上涨、多次下跌、多次盘整的价格运行,如此你才能看到市场如何处理每种运行情况。系统是否抓住了想要抓住的大部分运行?例如,如果系统是趋势跟踪系统,就应该抓住大部分趋势。
下面我们再看看如何开发和测试系统,理想的状况是开发者拿到了数据,并将其分成三组,中间的60%是开发组(在这一组进行首次测试),开始的20%和最后的20%是样本之外的组,样本之外的数据也测试系统,但不用于系统的首次测试。这一组的数据测试最好只做一次一系统要么有效要么无效。一些开发商只允许开发人员接触开发组数据,甚至不允许他们看到样本外数据,反而是把样本外数据交给其他人进行测试,为防止曲线拟合还需要做很多努力。
7.取样规模。系统开发商需要防范的最大和最困难的因素是数据的意外曲线拟合。大型取样规模为模拟风险经历了很长时间,因此取样越多越好。我在短期波动和日交易系统中,需要50多笔交易,取样可以在一个市场或者在多个市场。
8.连续亏损。这里我只关注一件事:我是否能主动控制控制系统过去出现的连续亏损数量?如果系统有过10次连续亏损,我能处理吗?我能在亏损5次后停止交易吗?
9.资产曲线。你不想看到45°直线的资产曲线,如果出现了,就有可能是曲线拟合,而且不会坚持多长时间。当然应该出现稳定的向上趋势,但健全的系统会不时出现亏损。这里还要注意的一个问题是从最大亏损中恢复需要的时间。
10.一年年的分析。看看一些年度绩效衡量标准。例如,我想看看一年中连续的交易数量,以及每年的持续盈利交易率。这里重要的是注意在一些市场系统,现在带来的利润可能小于10年前的绝对利润,一个重要的原因是波动降低。看看系统的基本前提,确定波动性降低是否造成利润降低。如果是这样,那就没必要放弃系统,因为盈利性可以通过影响波动性的资金管理原则储备起来。
此外,按比例确定第二年的收益。如果系统在市场历练了很长时间,你就会希望收益高于无风险的国债收益。
11.对异常事件的反应。系统如何应对1987年市场崩盘、9.11或1997年亚洲货币危机这样的异常事件?如果系统有盈利,盈利与市场的整个盈利性相比如何?如果排除这些交易,系统的表现如何?如果在异常情况下没有盈利,系统控制风险的能力如何?
12.摩擦成本。交易就像物理一样,摩擦会降低速度,交易中的摩擦就是下跌、佣金和错过交易的成本,这些问题在考察交易成本时都要考虑,每笔交易都要考虑恰当的下跌成本,小至流动性高的市场中的一个基点到流动性差的市场中多个基点。不少系统就是仅仅因为下跌而从盈利良好到实现平衡甚至到直接亏损。此外,还要确定在分析系统时想
着合理成本。最后还要考虑如果错过了10%到20%的交易,系统表现如何。如果手动操作形态或限价交易没有成交或只成交了部分,那错过20%的交易就不稀奇了。
13.多个时段。在交易时系统要用在哪个时段?使用长时间段决定主要趋势、使用短时间段决定入场点的系统,比仅用一个时间段的系统更稳健。
14.多种数据类型。系统用了哪些数据类型?用一些基本数据和技术数据的系统更全面。
15.多个市场。系统在多个市场的表现如何?例如根据标普数据开发的系统应该至少在Russell和道指等其他广泛市场产生利润。系统在非相关市场的表现如何?在非相关市场至少做到盈利的系统会更可靠。
16.蒙特卡洛模拟。蒙特卡洛模拟是相对简单的概念,是将系统产生的交易任意混合形成新的交易顺序,这是为了确保即使交易发生的顺序不同,系统还能进行交易。大多数的模拟都应该是盈利的,而且大多数的损失率和连续盈利或亏损应该在能承受的范围内。
综合
大多数系统交易初学者最后考虑的问题是多样化,评估系统已经够复杂的了,但这也只是最大范围内确保系统交易人不出差错。多样化能缓解交易系统的两个最主要的障碍:充分的风险控制和充分的资产回报。
通过多样化,系统间的亏损期分布一般能相互抵消,多样化可以是交易多种系统、交易系统的多种类型(短期、长期、趋势跟踪、反趋势等)、在多种时间段交易的系统和在多个不相关市场交易的系统。
系统交易人的投资组合最好包含所有三种多样化,但即使只有一种,也能为投资组合增加急需的多样化衡量标准。如何确定你的投资组合多样化选择消减了风险而不是增加了风险可以写上一本书,但这里要说明的是有多样化一般比没有要好。
充分利用机械性交易系统
对系统进行严格、系统的评估和相当的多样化组合,是机械性系统交易成功的两个基石,你对交易系统有了认识,面对销售或公开的其他几百种系统,你也将会花大量时间评估系统,为了高效利用时间,重点就是用固定的程序检验每个系统。
系统多种组合要想成功也需要长时间,市场会变化,某个系统会失效,这是系统交易的事实。与任何其他类型的交易人一样,系统交易人不得不适应不断变化的条件,多样化较好的系统组合确保了出现突然的变化时,你有机会适应,而不会一下子被踢出局。
包含了多样和系统评估的交易系统会增加机械系统交易人的成功机会,而且可能会让你几乎可以媲美未来强大的计算机。