第4章 机械式交易系统的创建
今天你可以用不到1000 美元的价格买到个人电脑系统,任何市面上卖的商品交易软件都可以在个人电脑上使用。只要大约2000 美元就足以购买一部功能更强的电脑,其运算速度可达1000 美元的电脑系统的两三倍。只要5000 美元就可以买到数年前只有昂贵的迷你级电脑才能做到的电脑系统。加上目前快速的各式语言,这些电脑可以在数秒钟内完成令人惊异的工作。
价格低廉的个人电脑的出现对于商品交易系统的使用者既是赐福也是噩梦。它之所以是上天恩赐,有两个原因。第一,电脑使得任何交易者都能用上人工计算过于复杂且耗时的交易系统,它能让交易者同时使用多个交易系统,也能兼顾更多的市场,而且使用的方法包含了复杂的数学公式。第二,也是重要的一点,电脑可以让交易者在实战之前先对交易系统进行严格的历史价格测试。我会在第5 章中探讨交易系统测试的主题。
电脑成为噩梦的原因是,由其创建的交易系统的历史模拟交易成绩令人侧目,但交易者依据系统在未来进行实战交易时却无法创造同样战绩。这些交易系统称为曲线匹配系统( curve-fitted system) 。曲线匹配系统是由系统开发者检验历史价格, 寻找有效的规则所建构成的交易系统。以下是一些我称为曲线匹配系统的例子。
曲线匹配系统
假使某个人在6 个星期前的一个星期天下午打电话给你,并且告诉你下面的话: "你好,我是格雷格·格林贝克。你是否想轻松地赚到钱呢? 我是Futureland 商品公司的经纪人,而且拥有一套奇妙的交易系统,这套系统在预测黄金价格方面有不可思议的纪录。在证明了我对这套系统的评价完全正确之前,我不会要求你寄给我任何资金。够公平吧?这套系统对本周黄金价格的预测是:明天早上开盘时买进黄金,因为本周金价会上涨。"
接下来5 个星期的每个星期天,他都会打电话来,并且对该周黄金市场操作提出建议,每一项建议都已证实正确无误。如果你依据每项建议进场交易一手合约(保证金约为2000 美元),即使扣除佣金,都还能赚到4650 美元。你可能因此而急于想知道如何才能实际运用这套系统来赚钱,甚至可能预备支付相当的价钱来换取这个秘密。
以下就是格林贝克先生准确预测黄金市场走势的秘密。第1个周末,他打电话给320 个人,告诉其中一半的人进场买入,告诉另一半的人进场做空。第2 个周末。他再打电话给前一周收到正确建议的人,告诉其中一半的人进场买入,告诉另一半的人进场做空。以后每一个周末,他都打电话给前1周收到正确建议的人,而这些人也是从第1周起每一周都收到正确建议的人。到了第4 个周末,他就会拥有20 个急于进场的投资者。到了第6 个周末,他仍然拥有5 个预备将自己的房子抵押借款来圆迅速致富美梦的投资者。不论相信与否,执法机关已经指出: 过去几年内,这个号称"伟大预言家"的商业骗子在全美各地不断使用相同的手段犯罪。
我们只要看看过去6 周的黄金价格数据,找出每个星期一开盘时买进还是卖出即可当周盈利,就能建立所谓的"格林贝克机械式黄金交易系统" 。该系统会告诉你第1 周买进,第2 周做空,第3 周做空,第4 周买进……如果用过去的价格测试这套系统,我们会发现它100% 准确,并且获得4800 美元毛利润。如果我们在下周一开始依据这套系统的指标交易,而不是在6 个星期之前,很明显,我们无法期待因此而致富。这套系统不会比用掷硬币来决定买卖更有效。这就是曲线匹配交易系统的基本实例。
许多商品交易都有季节性影响因素,这种因素常被交易者用来判断价格未来可能的变动方向。由于这种研究方法有认知方面的吸引力,因此广受交易者的重视。例如,农产品市场一直都有一年一度的收获季节。价格在接近收获季节时会受到预期心理的影响而下跌,收割过后价格则会反弹上扬。这是收成导致供给增加的自然结果。其他像铜和木材市场则出现与天气有关的季节倾向: 价格在冬季来临前有下跌的倾向,到了春季则受建筑与制造业活动增加的预期影响而上升。咖啡豆和橙汁市场所受影响更大,冬季霜冻期价格可能剧烈变动。这种一年一度的季节性趋势并非绝对可靠。它们只是一般的趋势。你无法正确地指出它们是从哪一天开始发生作用。市场中其他影响价格的因素实在太多了。
以季节性因素作为交易决策基础颇为流行,导致了某些经典的曲线匹配式交易系统诞生。借助电脑,我们可以轻易地对过去5~10 年的特定市场价格进行检验,然后从中找出盈利最大的季节性交易策略。现在让我们看看如何建立一套季节性交易系统。它首先包含了两项规则。第1 项是在每年的第n 个交易日收盘时,进场买入或做空; 第2 项是头寸建立之后,持有特定的天数,然后以收盘价平仓。
我们的电脑可以为我们检验所有的可能性。它会从每年第1 个交易日进场买入开始检验。然后找出持有多头头寸1~250 天的结果。接着进行在每年第1个交易日进场做空的各项测试。随后再向下对第二第3 、第4 个交易日……进行测试。电脑也可以将进场或离场的价格改为开盘价,重新进行检验,测试的次数可能高达数百万次,但是对电脑来说这件工作简单快速。
可能的交易方式如此之多,对于电脑能筛选出测试结果在过去5 年或10 年内准确率为80%~100% 的许多交易规则,你应该不会惊讶。如果我告诉你,过去7 年之中,每年2 月的第1个星期二收盘时买进白银合约,持有该头寸一星期后卖出均可盈利,你是否预期这种趋势在未来几年当中会持续下去呢? 如果恰巧过去7 年中,每年2 月的第3 个星期四做空白银合约,然后持有该头寸一星期后回补也均能盈利,这是否表示存在着一些神秘的市场力量幕后操纵白银价格,使其价格在每年相同的时段上涨和下跌?或是这一切都只是巧合而己,下次出现相同价格变动的概率只有50% ? 如果你拥有一部电脑并且勤勉地对30 个商品市场的历史价格数据进行检索,你将发现许多胜率100% 的日期巧合。如果你对胜率的要求水平只有75% ,很明显,你所发现的数目会更多。
有些研究人员利用这种方法发掘"季节性"套利交易的可能性。所谓套利交易就是在同一时间买进某个商品合约,并且卖出另一个相关商品的合约;或者是同时买进某个月份的合约,并卖出另一个月份的合约。套利交易涉及许多不同的合约月份与所有不同的商品市场。例如,你可以买进3 月白银合约,同时卖出6 月白银合约,希望能从两种合约价格关系的有利变动中盈利。你也可以为了相同的原因而同时买进向银合约与卖出黄金合约。套利交易使"季节性"交易的可能性呈几何级数增加,但是研究的方法完全相同。
如果市场当真存在一股季节性的力量,倾向于在每年同一时间制造类似的价格变动, 这些日历式的交易系统才可能让你盈利。然而,过去所发生相似的价格变动并不能确实证明季节性力量的存在。这些交易大多是由于巧合。
这种季节性的操作建议通过许多渠道销售,虽然通常并不是以交易系统之名出售,它们也会告诉你将止损价格设在何处,而这个价位是过去从未触及的。有几家咨询公司对这种交易方式情有独钟, 其中一家公司曾被一份主要金融杂志热忱地评论过。许多人依据这种方式交易,原因是他们认为这种系统过去的表现足以预示其未来表现。这种预测可能准也可能不准, 仅凭过去的高准确率说明不了什么问题。
我们很容易理解这种简单的日历交易系统属于曲线匹配性质。电脑对过去的价格数据彻底检视,寻求在过去有效的规则。然而当交易系统变得更加复杂与数字化,交易者却忽视了电脑究竟在做些什么。由于电脑研究有些神秘,反而增加了它的可信度。
在电脑的应用普及化之前, 要分辨曲线匹配交易系统很简单。它们具有可怕的复杂规则、例外以及例外中的例外。它们之所以高度复杂,是因为系统发明者要找出较多情况下持续奏效的方法。他从一组简单的规则开始进行研究,每一次发现某种规则元法适用,他就必须建立例外的条件,或是恰到好处地变更规则,使这组规则对先前检验过的价格数据仍然有效,同时避免刚发现的失效情况。到最后,这套规则在所有检测过的历史价格中都有效,却也难免因此而变得非常精细。以下是一套季节性交易系统的例子,这套系统曾应用于特定的商品市场,你可能曾经在1976 年买过它。一位经纪人曾经向我介绍过这套系统:
7 月1 日收盘时以市价做空10 月份的合约。下达一张75 点的止损单。再下一张于7 月份有效的100 点获利了结委托单; 如果指令无法执行,则重新下一个直到9 月份都有效的80 点获利了结指令; 如果还是无法执行,则再下一个60 点获利了结的指令。如果空头头寸在7 月份被平仓,就在原先做空价位之上15 点处下一个买进指令; 如果买进指令被执行,使下达60 点的止损指令以及200 点的获利了结指令。如果空头头寸被止损并转成多头头寸,则再下一个75 点止损指令以及一个350 点获利了结的指令; 但是如果买进指令是在空头头寸建立后的10个交易日内被执行,则下一个8 月底前有效的1000 点获利了结指令; 假使无法被执行,则重新下一个9 月底前有效的500 点获利了结指令,或是在9 月最后一个交易日当天,以收盘市价结清多头头寸,如果买进指令被执行而建立多头头寸,可以等待8 个交易日后再下一个175点的止损指令;如果在等待的8 个交易日内价格朝不利于你的方向(下跌)移动超过175 点,则变更指令的盈利价格为350 点的利润。如果空头头寸未于建立后至10 月份合约最后交易日之前回补,使需以最后交易日的收盘价将该空头头寸平仓。
你可以从这许多的规则和例外中确信这套系统在前几年持续盈利,但是过去稳定的杰出表现不应该视为可以在1976 年或之后继续有效的保证。
非曲线匹配系统
要判断交易系统是否属于曲线匹配,关键在于看该系统的开发者如何制定规则。如果他根据历史价格来寻求当时有效的交易规则,并据此对规则进行调试,这种交易系统就属于曲线匹配式的系统。交易系统的曲线匹配特性越强,越不可能在未来发生作用。我们已经讨论过几个这样的例子。相反地,如果交易系统的开发者并未参考任何特定的历史价格数据,而是基于市场如何运作的原理去建立系统的规则,这个系统就不是曲线匹配的系统。假使一个非曲线匹配交易系统在对足量的历史价格进行测试时能发挥作用,则它在未来持续发挥作用的概率会比曲线匹配交易系统高出许多。
下面是最基本的非曲线匹配交易系统的例子及其运作所依据的原理。市场趋势会由上升转变为下降再回升。我们想要在市场开始上升时买进,并且持有这个多头头寸直到市场停止上升且开始下降的时候,此时,我们要出清多头头寸而且反手做空,并持有该空头头寸直到市场下降趋势的力量耗尽而反转上升的时候。这时候我们就会将空头头寸出清。然后开始买进,重复前述的过程。由于上升趋势市场的最佳指标就是价格实际上涨,因此我们会在价格上涨一定幅度之后买进。下降趋势市场的最佳指标则是价格确实下跌,我们会在价格下跌一定幅度时做空。这套交易系统会永远在市场中持有多头或空头的头寸。这种交易方式保证我们会在市场出现强劲上升趋势时持有多头头寸,而在市场出现强大下降趋势时持有空头头寸。以下是交易系统的规则。
首先要判断最近5 天的趋势方向是上升还是下降。如果今天的收盘价高于5 天前的收盘价,则趋势向上。假使今天的收盘价低于5 天前的收盘价,则趋势向下。若最近5 天的趋势向下,则第1笔交易将是买进。当价格比最近5 个交易日所出现的最低价格高2% 时,进场买入。一旦买进,就持有该头寸,直到价格比最近5 个交易日的最高价位低2% 的时候。当价格到达这一点,使将多头头寸了结并且进场做空。一旦做空,就持有空头头寸直到价格比最近5 个交易日的最低价高2% 的时候。价格到达这一点,便回补空头头寸并且进场买入。继续以此方式交易下去。
如果开始交易时最近5 个交易日的趋势已经上涨过,你的第1 笔交易应该是做空。依照前面提到的规则改变交易的方向,由空转多,周而复始。(你只会在决定第1 笔交易的方向时才需使用5 日趋势指标。)如果规则显示交易方向改变一一价格比过去5 天的最高点低2% ,又比过去5 天最低点高2% ,你就在当日继续持有原先的头寸,待下一个交易日再以前述规则重新做判断。当然发生这种情况的概率不大。
图4-1 说明了"2% 转向系统"如何发生效用。我们将在第8 章看到这种系统过去5 年在几个市场中的交易成绩。

我并没有做任何历史价位测试,就选用2% 的价格变动作为判断趋势改变的条件。基于我本身的经验,这个数值似乎是一项可以适用于各个市场的合理数字。如果我利用历史价位数据进行彻底的测试,然后寻求最佳的数字来建立交易系统,这系统就不再是合格的"非曲线匹配"交易系统。
非曲线匹配交易系统的一些最佳实例来自J.韦尔斯· 怀尔德( J. Welles Wilder) 1978 年出版的经典之作一一《技术交易系统的新概念》 (New Concepts in Technical Trading Systems) 一书中。怀尔德在书中介绍了6 种数理交易工具和6 种纯机械式的交易系统。每一种工具和系统都将先前的每日开盘价、最高价、最低价和收盘价,以不同的运算规则加以处理。虽然书中并未拿出证据显示这些交易工具和系统在实际交易中确实有效,但是这本书已成为有史以来最受欢迎的期货交易书籍之一。怀尔德对每一套系统都利用一份历时1~2 个月的演算表来展示该系统的运作,而不是用演算表来显示系统的盈利性。在怀尔德所选择的时段中,交易系统都能有净利产生,这当然不足为奇。这些简短的演算表是交易有效性的唯一证据,但由于取样的时间太短,因此不能证明系统的有效性。随后其他人利用电脑对这些交易系统进行测试,结果令人大失所望。这本书被人称道,并不是因为书中所介绍的交易系统具有盈利能力,而是它对分析历史价格变化理论的重大贡献。
书中最简单(也是最有效)的交易系统是"抛物线时间/价格系统" 。怀尔德是以移动止损点作为这套系统的理论基础。系统的运作方式与前面提到的"2% 转向系统"类似。这套系统建立头寸后,它所设定的止损转向位与当时价格距离较远,以便容忍较大的价格振荡(这种情况通常出现在趋势发生转变时)。然后,当趋势逐渐发展成形,市场也变得比较有方向性时,该系统就会开始调整它的止损转向位,使止损位越来越靠近市场价格。当趋势日益成熟,其产生反转的机会与日俱增。这套系统所设定的止损转向位会非常接近市场价格,以保护当前趋势下已产生的利润,并且尽快捕捉趋势反转的信号。假设趋势发生改变, 一旦市场折返至紧随在后的止损点(或是止盈位),系统便会发出建立反方向头寸的信号,并且在与新趋势相反的方向上设定止损点。图4-2 展现了这套系统在趋势强劲而平滑的市场中运作的情形,该系统很自然地在这种市场状态下胜率最大。若是换成图4-3 中多变的市场,这套系统所设定的跟随止损点逼近市价的速度就不够快,因此无法产生盈利。


系统优化
怀尔德运用一套线性加速方程式计算止损点,在方程式中,每当市场出现新的极端价格,止损点就以0.02 的加速系数增加。他并没有解释为什么使用0.02 这个数字,而不是0.01 或是0.03 。只要他不是经过历史价格测试后才选定0.02 这个数字,这套系统就不属于曲线匹配型。然而我们在设计交易系统时,想要找出过去价格变化中最有效的加速系数是十分自然的。这个过程被称为优化。电脑将测试你指定的每一个加速系数值,然后计算出对应的盈利结果。
假使你发现过去5 年中各个市场都有不同的最佳加速系数,你会针对不同市场的交易使用该市场的最佳系数吗?如果再将历史数据按份分解,对每个月份单独测试,你可能会发现每个月份都有自己的最佳系数,那么你会根据当前月的数据来调整系数吗?当你进行棉花期货交易时,是否会因为依据历史价格测试的结果,而在1 月使用0.15 ,2 月改用0.203,却在3 月使用0.146 作为加速系数?而你可以依照相同的测试方法找出每个市场每周甚至每天的最佳系数。毫无疑问,这样创造出来的交易系统简直就是前面介绍过的曲线匹配季节交易系统的翻版。
如果用电脑对过去5 年10 个不同市场的价格数据进行每月最佳加速系数的测试检验,结果很可能是每个市场都出现了12 套不同交易规则,即总共会有120 套交易规则。你仍旧可以将它视为一套系统。与怀尔德当初创立的对所有的市场都只使用单一规则的系统相比,拥有120 套规则的交易系统可以产生更高的历史模拟交易盈利。
如果让你来预测这两种交易系统中,哪一种在未来运作上盈利的可能性更大,你是否会选择复杂度较高的系统一一仅仅因为其在历史测试中盈利较多? 如果你的答案是肯定的,你最好将这一章的内容重新读一遍。如果你的答案是否定的,那么恭喜你答对了。曲线匹配交易系统正是利用历史价格轨迹来创建系统规则及最佳系数,这就决定了若将其放在同样的历史数据中进行测试,保证会有不错的盈利,但这根本无法保证未来交易的成功。
不同市场是否应该使用特定系数,这个问题则较难解答。假设你发现在过去5 年中,白银市场的最佳加速系数是0.025,黄金市场的最佳系数为0.108 ,美国长期公债( T-Bond) 为0.022,则你进行这些市场交易时,是否会使用上述的系数来取代原本的0.02 。如果这样做,你所操作的就是一套经过优化的系统。虽然这套系统属于曲线匹配型,但是与另一套针对不同市场各个月份合约使用特定系数的系统相比较,程度仍然较为轻微。
完全不考虑历史价格而设计出一套普遍适用于所有市场与任何时段的高盈利系统,这种好事只有梦境中才有。这种事是不会发生在现实世界中的,你还得从美梦中醒来面对现实。在面对数学式交易系统的复杂公式时,我们总会发现许多可变的参数。唯一能够让你提升交易系统绩效的方法,就是利用历史价格以不同的参数赋值对系统进行测试。因此,适度地优化系统是必要的。但如果过度优化,你的交易系统将是一套高度曲线匹配的系统,这将使该系统未来绩效的可信度降低。
我们对系统进行历史价格测试时,必须牢记什么是自己的目标。我们的目标并不是要建立一套在过去操作绩效最佳的系统。我们想要创造能在未来产生最大盈利的系统。未来才是你能赚到实际财富的竞技场。
大多数交易者不知道怎样分辨只能在历史价格测试中盈利和能在未来实际交易中盈利的系统。历史价格测试这个主题包含了许多交易系统设计者和评估者必须回答的痛苦问题。我们会在下面两章中检视这些进退两难的问题。