1703559252
机械式交易系统:原理、构建与实战 在不同市场测试
1703559253
1703559254
商品交易系统的专业化成为时下的流行趋势。原因在于设计一套适用于不同市场的系统十分困难,而针对某单一市场设计一套拥有绝佳历史绩效的系统则相对简单。系统的设计者辩称,每个市场均有其特有的交易特性,因此都需要一套适用于自身的交易规则。然而,这是值得信服的理由吗?我将于第12章详细讨论此问题。
1703559255
1703559256
1703559257
1703559258
1703559260
机械式交易系统:原理、构建与实战 交易成本
1703559261
1703559262
我曾在第1章里经讨论交易的固有成本,这是交易者在通向盈利之路上难以克服的重大障碍。这些成本是佣金费用与滑点,后者包括买卖价差。在评估历史交易绩效时,这些成本经常容易被忽略。虽然交易成本相对于一笔成功的交易微不足道,但时间一长必然会积少成多。当你交易得越多,而平均盈利水平下降时,交易成本就显得非常重要。它们可能成为关乎整体盈亏的关键,具体则因交易系统与交易市场而有差别。因此,为了历史测试更为有效,你必须从实际出发,扣减佣金费用与滑点。
1703559263
1703559264
每位市场人士都必须考虑其本身的佣金费用,以得出合理的测试结果。如果你是通过折扣经纪商进行交易,则每笔交易的佣金费用少于25美元。滑点则随着当时市场流动性的变化而有所不同。我以每笔交易100美元来体现这些成本。某些交易者认为这个金额太高,而有些人认为又太低。在评估任何系统的绩效时,你必须知道要扣减掉多少佣金费用与滑点。你可以根据自己的经验调整上述金额。总之,为了模拟实际的交易状况,每笔交易都必须扣减某种合理的成本,否则测试便毫无意义。
1703559265
1703559266
1703559267
1703559268
1703559270
机械式交易系统:原理、构建与实战 测试日线数据时的特殊问题
1703559271
1703559272
以日线数据来进行测试时,有两项重要因素会干扰测试的精确度。为了评估历史测试的可信度,你必须了解这些问题,并知道如何用特殊的测试来处理。
1703559273
1703559274
我先前曾经讨论过设定止损单的概念,即在价格走势不利时止损出局以减少损失。因此,如果你在每蒲式耳2.00美元的价位上建立玉米的多头头寸,决定将止损设于1.90美元,如果止损单能够确切执行于1.90美元,则每手合约的亏损将限于500美元加佣金。有几种方法可以用来限制亏损。你可以开口委托单的方式递入止损单。这意味着当价格触及1.90美元之后,你立即以市价卖出。如果你递入开口委托单,一旦价格跌至1.90美元,交易厅的交易员会立即执行该委托。某些交易者偏爱使用心理止损,这意味着他们或其经纪人并未实际将委托单递入交易厅。他们会观察价格的变化,发现价格触及止损点时,立即拨电话下达市价卖出的指令。
1703559275
1703559276
使用心理止损通常是因为以前使用开口止损单时造成不愉快的经验。行情经常在触发止损单之后,又恢复先前的走势,导致行情虽然最终朝向你所希望的方向运行,你却已经认赔离场了。有些时候你恰好在当天最极端的价位上被止损出局,而行情随即恢复其原有走势。这真是令人怒火中烧。在这种情况下很容易产生偏执的想法,认为其中必有阴谋,场内交易员故意将价格推至你的止损点,让你离场后再恢复原来的走势。你可能这样推想:如果你没递止损单,场内交易者便不知道你的止损价位,因此也不能对你施展阴谋。请相信我,市场不会出现针对你的阴谋。多数市场的规模都极为庞大,场内交易者并没有能力随意操纵它们。不论你是设定心理止损,或是将止损单递给场内经纪人,行情都一样可能触及你的止损点。
1703559277
1703559278
我并不赞成使用心理止损,有太多事情可能发生,从而破坏你的止损计划。你或你的经纪人可能未能及时发现价格已经触及离场点。当你发现了错误,并试图更正时,亏损可能已经加大了。更可能发生的情况是,止损价位出现时,你会找理由推翻你原来的计划。你可能会告诉自己:“如果2.00美元是买进玉米的好价位,则1.90美元当然更好。我应该再买进,而不应该认赔离场。我再稍微观望一会儿,价格说不定会回升。”它并未回升,结果你在1.70美元离场,而亏损为之前预计的3倍。
1703559279
1703559280
如果你使用机械式交易系统,就更没有理由使用心理止损。系统会在特定时点告诉你离场,或反转你的头寸。你必须遵从系统的指示。然而,即使你听从我的建议下达了止损单,也不保证可以在你指定的价位或附近成交。如果价格在交易时段内触及你的止损点,那么在价格触及止损点与经纪人执行止损单之间可能会出现时间误差。除去不寻常的情况,在流动性好的市场该误差的金额都很小。
1703559281
1703559282
然而,从市场收盘到下一交易日开盘之间可能会发生一些事件,此时问题也就产生。假定在你持有玉米头寸时,价格跌至1.92收盘。价格虽然接近你的1.90止损点,但尚未到达。收盘之后市场传闻苏联今年将不再从美国进口玉米,改从其他国家进口。市场第2天开盘时,价位可能降为1.82——因为交易所对玉米每天的走势规定了10美分的涨跌停板限额,当天的交易价格不能低于1.82。由于这条令人震惊的消息使得该价位可能并无买盘,你的经纪人无法执行你的止损单,因为没有人愿意接手。最后,价格会进一步走低以吸引买盘,然后你离场了。你的亏损将会高于原先所计划的500美元。这种所谓的“停板走势”(limit moves)是交易的风险,虽然并不经常发生,然而在某收盘与隔日开盘间出现跳空缺口的现象则甚为普遍。这类跳空缺口会使你蒙受预期以外的亏损。
1703559283
1703559284
在测试交易系统的过程中,如果委托价位于开、收盘价的跳空缺口内,则测试者或电脑程序不得假定止损单能够以指定价位成交。以先前的例子说明,在消息传出之后,隔天早晨的开盘价若为1.86,则你设定于1.90的止损单将成交于1.86附近,而非1.90。如果电脑程序设计者了解这种情况,则测试程序中很容易纳入正确的逻辑。为了尽可能确保精准的结果,你应该确定电脑程序已经考虑开盘跳空的现象。本书中的所有测试,对止损单的执行已经考虑了这类的开盘跳空缺口。
1703559285
1703559286
处理日线价格数据的另一项潜在困难则更不好处理。它来自价格数据的局限性。你虽然知道开盘价、最高价、最低价与收盘价,却不知道它们之间发生的先后顺序。
1703559287
1703559288
假定你以某套系统来交易标准普尔500股指期货,使用300点的止损转向,这意味着当你建立多头头寸,但行情出现300点或者11500美元的不利走势时,该系统即会要求你反手做空。你得在该价位上做空两手合约——一手轧平原多头头寸,另一手建立新的空头头寸。如果行情振荡之后又回升,你还要采取相同的方式而建立多头头寸。假定你的多头头寸最初建立于250,你的止损转向则位于247。如果在你进场的当天市场以250.50收盘,隔天价格振荡走低,其开盘为248.50,最高为249,最低为246,而收盘为246.25。根据系统的规定,你的多头头寸在247平仓,并在该价位做空。另外,你会在250设定止损转向。由于当天的最高价为249,因此你于247做空之后,止损转向不可能被触及。
1703559289
1703559290
如果最高价是250.25,而非249,则问题便出现了。因为当天的低价低于247的止损转向,所以247的止损必然遭到触发。但是,在247做空之后,我们无法确定价格不会回升至250而改持多头头寸,因为市场是246.25收盘。如果我们在250建立多头头寸,则价格必然又回挫而再度触及300点的止损转向,于是造成两笔额外的损失。图5-1说明了这种不确定性。
1703559291
1703559292
1703559293
1703559294
1703559295
图5-1 日线价格波动的不确定性
1703559296
1703559297
在历史价格测试中,有两种方法解决此问题。第一种方法,你可以规定该系统一天仅能进场一次,止损单则至隔天才有效,这也确保历史测试的明确性。而当系统在一天之内出现数笔交易信号时亦不至于产生困扰,因为系统根据规定仅准许在一天之内进行一笔交易。这种方法有所缺陷,在价格波动剧烈的行情中,在你进场的同一天之内,你可能希望离场或建立反向的头寸。如果必须等到隔日,你可能无谓地增加亏损或减少盈利。
1703559298
1703559299
另一种可能的方法是根据高、低价与开、收盘的关系,来推测高、低价发生的先后顺序。如果开盘价较接近最高价,则假定高价先于低价,而在低价出现之后,价格便未再回升至收盘价之上。如果开盘价比较接近低价,则假定低价先于高价,而在高价发生之后,价格便未再回挫至收盘价之下。图5-2说明了这些假定的情况。这通常是行情发展的方式,这些假定将使测试的结果近乎精确,只要你不是用非常近的止损。相对于每天的平均价格幅度而言,你的止损设得越低,则你的系统在一天之内遭触发的价格笔数越多。如果仅使用日线的价格数据,则任何历史测试也无法精确地反映这类系统的实际绩效。
1703559300
[
上一页 ]
[ :1.703559251e+09 ]
[
下一页 ]