测试Ⅱ只用SAR指标决定买/卖
前文中我们只用SMA指标做了交易系统测试,现在进行下一个测试。这一次我们只使用SAR指标来决定买进和卖出。抛物线指标SAR起初是基于价格的加速和趋势的持续,作为一种移动止损而设计的。尽管SAR指标代表了止损和反转,它仍可以作为进场指标来使用。
为了测试方便,我们需要确定SAR指标是如何计算加速设置的(在下列窗口中查看计算的具体细节)。一般默认加速度开始的步长为 0.02,而且最高限定在 0.20。在具体测试中我们实用的步长范围是,从 0.01到 0.10,每步0.01,以及最高限定范围从0.10到1.00,使用间隔为 0.10两种。
正如在表7-5中所看到的那样,纯SAR交易系统的某些测试结果比纯SMA交易系统的测试结果表现要好。

抛物线指标SAR
SAR(i)= SAR(i-1)+ ACCELERATION * [EPRICE(i-1)-SAR(i-1)]
这里
SAR(i-1)=第(i-1)日的极点价
ACCELERATION=加速因子
EPRICE(i-1)=第(i-1)日的极点价(EPRICE=HIGH做多头寸时表示最高价,EPRICE=LOW做空头寸时表示最低价)。
如果当前k线的价格比前面涨得更高或正好相反(比前面跌得更低,SAR指标的值都会增加。加速因子(ACCELERATION)会随即翻倍,这会导致抛物线指标SAR和价格跟随运动。换句话说,价格涨得越快或跌得越快,指标的值越接近当前股价。
你可能会注意到这种方法的盈利率比SMA交易系统更高一些,几乎接近50%。尽管依然存在着盈利/亏损比率(平均盈利/平均亏损)的问题,而且通过统计数据面板看起来似乎有些太低了。
从我们的测试中可以看到,似乎限定最高步长(OPT2)一列的数据并不对系统测试结果产生主要的影响。因此作为结果我们决定使用系统默认的最高步长0.20,以使测试变得更加简单明了。
还有人注意到在我们的测试结果中,显然存在着对做多和做空之间的偏见。当步长是0.02(OPT1)或更高时,交易的次数明显比步长是0.01时多得多。加速度部分的计算决定了SAR指标线朝价格运动的速度有多快。较高的读数表明朝着价格汇聚的速度越快,这可以被理解为在交投活跃的市场系统出击的次数更多。图7-10就为这一行为提供了一个非常清晰的例子。
图中距离价格最远的虚线,从左边开始使用的是步长0.02。另一条虚线是步长0.01。注意到0.02步长的那根表现得更灵活,能随着趋势的加速更快地接近价格的变化。
在可选的步长设置为0.02以及限制最高步长为0.20时执行的交易次数非常多,因为它产生了比纯SMA交易系统多得多的交易次数。当然,在这一例子中,亏损/盈利比率也很高,因为活跃的交易测试的这一比率总是比不活跃的高一些。这意味着,如果我们将交易中的滑点和交易成本计算在内的话,0.02步长的结果仍然要优于0.01步长的结果。使用10个基点的滑点(在USD/JPY中为0.10),0.02/0.20为参数的测试结果表明,总净利润为27.43点,而0.01/0.10参数的净利润为8.15点。
因此我们的纯SAR交易系统的交易规则就是(请注意该系统固有的天性):
☆当0.02/0.20参数的SAR指标移动收盘价之下时清仓空头头寸并开仓多头
☆当0.02/0.20参数的SAR指标移动收盘价之上时清仓多头头寸并开仓空头
以上面我们列出的交易规则为基础,表7-6展示了我们的纯SAR交易系统的交易测试表现分析。很容易注意到实际交易中,亏损交易次数比盈利交易次数更多。你肯定不希望盈利率只是50%。而实际上,能看到8次连续盈利交易的概率,根据图中的数据分析,大约只有8%。这仅表明统计上的小概率事件一定会发生而已。


图7-11概括地描述了系统在我们所测试的时间段内的表现,看起来是什么样的。注意到某些地方确实抓到了漂亮的趋势,而其他一些表现毫无条理的交易结果是由假突破引发的。和任何其他趋势交易系统一样,尽管它发出的决策信号比纯SMA交易系统要少一些,但是这个纯SAR交易系统在非趋势运行期间的表现仍旧非常糟糕。
在图7-12中展示的是该交易系统的资金曲线。其中有一些非常明显的下跌区间,尤其是在图中间位置,但是同样也有几次快速漂亮的上涨区间。这个交易系统的资金曲线走势图完全不同于纯SMA交易系统。在后一个交易系统中,最大获利的交易往往发生在测试区间的前半段,其后半段的走时是非常平稳的。而纯SAR交易系统则完全相反。


交易执行的考量
在迄今为止我们所讨论的两个交易系统以及即将讨论的混合交易系统中,无论是SAR还是SMA以及混合交易系统,它们要考虑的最关键的问题都是进场和退场的时机问题。这些测试都有一个前提,即假定当交易执行之前已经有一系列的前提成立。因为这些特殊的交易系统中都包含以收盘价为基础的交易信号,所以题目暗示了交易者应该在交易日收市之前,或者在下一个交易日的开盘时执行交易。
在外汇交易市场(周末除外)的交易是持续不断的。一个交易日的开盘价正好是前一个交易日的收盘价(横跨周末的交易日除外),因此交易者可以非常舒适地执行精确到点位的交易,除非市场的实时运行走势非常剧烈。当然,对于证券交易所中的某一特殊的交易品种而言,一个交易日的收盘价和下一天的开盘价之间存在着明显的时间间隔,而且是确确实实存在着的大量的时间间隔。那么现在我们又重新回到了滑点的问题。
测试ⅢSMA进场/SAR离场混合交易系统
现在是时候对我们交易方法中的进场/离场条件进行组合测试了,看看是否这样使用比单独使用的效果更好。为了这一测试,我们使用SMA交易系统的进场信号和SAR交易系统判定的离场信号组合。我们的交易系统规则应该如下所示:
☆当收盘价上穿移动平均线时开仓做多
☆当SAR指标移动到收盘价之上时平仓多头头寸
☆当收盘价下穿移动平均线时开仓做空
☆当SAR指标移动到收盘价之下时平仓空头头寸
当然这一系列交易规则中,无论是SAR指标还是SMA指标都没有提及参数设定。我们将测试它们每一个的复杂的组合,但是为了初始值测试的简单化考虑,我们为什么不把前文的两个测试中的条件拿出来直接组合使用呢?这样我们很容易得出以下交易规则:
☆当收盘价上穿92天移动平均线时开仓做多
☆当参数为0.02/0.20的SAR指标移动到收盘价之上时平仓多头头寸
☆当收盘价下穿92天移动平均线时开仓做空
☆当参数为0.02/0.20的SAR指标移动到收盘价之下时平仓空头头寸
当然,整合两个交易系统的最大问题在于,它们交易的时间级别不同。请记住SMA交易系统只有77次交易,而同时期同品种的SAR交易系统则一共交易了138次。这一读数表明前者和后者比较起来,更接近长期交易系统。由此引发的结果是,两个交易系统并不是非常同步。
在表7-7中,读者可以明显发现它们的不同,该表格展示的是上文提供的组合交易系统的测试结果。一共有77次交易,感觉有点像纯SMA交易系统给出的结果,因为正是它提供了离场信号,它同样有77次交易。
然而问题是较快的SAR离场指标(和SMA离场指标相比较)会使得交易被打断。这个系统抓住的趋势较少,极大地降低了系统盈利能力。

这意味着我们不得不重新开始,做一个全方位的各种参数组合的测试,看看我们是不是能找到更好的选择。这一次我们减少需要的迭代运算以增加测试的速度,使用0.01到0.10作为SAR的步长(OPT2),并且使用0.1到0.9作为最高限定值(OPT3)。这些数值距离我们测试过的纯SAR交易系统的数值不远。真正可能会发生变化的数据,可能来自于我们调整SMA的参数指标,范围从5到100个时间周期,每隔5个测试一次(OPT1)。一共我们要测试1700组数据,而总共解决问题仅需8分钟。最终测试结果如表7- 8所示。
数据结果非常具有戏剧性。净利润最出色的交易系统表现出的是非常活跃的交易次数。交易次数最高的是基于10天移动平均线的系统,一共有275次交易。其盈利率和纯SMA交易系统比较起来一一实际上只是略有提高而已。
我们再次注意到时间级别对交易频率的影响。表现第二好的交易组别是设置为20天移动平均线的系统。以这种方式追溯移动平均线的参数加倍,结果找到了更少的交易次数,110次。在净利润上只是适度下跌,但是如果交易者考虑到滑点和/或交易成本等因素的话,较长时间级别的测试将会是赢家。为了说明这一点,我们将在读使用10个基点作为每次交易的滑点。
现在如果我们看一下表7-9中的结果就会发现,交易表现最好的数据中并没有10周期的SMA系统。因为所有的利润都被滑点吞噬掉了。
现在我们再重新回到原始的测试,当然,这一次我们必须为以后的对比,选择一个相当有代表意义的系统。如果我们仅适用20天移动平均线系统的测试,作为包含一切的测试表现的话,那么我们基本上不可能从中挑选到什么有价值的交易系统。有趣的事,SAR的步长设置(OPT2)在0.09或0.10都已经很高了。那些参数实在是太具进攻性了,所以我们不得不小心翼翼。
如果采取一种更稳妥的方法,我们可以用0.09步长和0.50为最高限定值(OPT3)为基础设置来选择测试结果。对于所有的20天SMA测试系统而言,这并不是最理想的交易表现,但是我们并不想在这个阶段就让结果表现得太好。我们只不过是为了和以后的交易系统相比较时,事先打个基础。
这样就有了下面的交易系统:
☆当收盘价上穿20天移动平均线时开仓做多
☆当参数为0.9/0.50的SAR指标移动到收盘价之上时平仓多头头寸
☆当收盘价下穿20天移动平均线时开仓做空
☆当参数为0.9/0.50的SAR指标移动到收盘价之下时平仓空头头寸
该交易系统的最终交易结果统计如表7-10所示。纵览数据只是没有发现有什么特殊的夺人眼球的数据,其盈利率并没有比纯SMA交易系统更糟糕,然而也并没有和纯SAR交易系统一样好。自两个交易系统结合以来,我们并没有发现什么实质性的惊喜。倒是其资金曲线的走势颇为有趣,如图7-13所示。该图在测试时间的前半段,基本上处于不盈不亏的状态,但是到了后半段它的走势却出奇的好,而且基本上所有的盈利都在此时获得。图7-14展示了该系统的交易行为。



测试ⅣSAR进场/SMA离场
现在开始步入我们四个测试环节的最后一个环节。本环节中我们会研究一下使用SAR来决定进场信号,使用SMA来决定离场信号的情况。上文我们已经展示了将纯SAR和纯SMA交易系统结合在一起的效果并不理想,理由是它们操作适用的时间周期差距太大。正因为如此,我们下面仅专注于寻找正确参数的测试。
这次我们再使用0.01到0.10作为SAR指标的步长(OPT2),使用0.1到0.9作为最高限定值(OPT3),而且SMA移动平均线参数从5到100周期,以每5个周期(OPT1)累加的方法进行测试。现在问题变成以如下的方式进行进场/离场规则的设定了:
☆当SAR指标移动到收盘价之下时开仓做多
☆当收盘价下穿SMA指标时清仓多头头寸
☆当SAR指标移动到收盘价之上时开仓做空
☆当收盘价上穿SMA指标时清仓多头头寸
进场/离场规则的设定条件
在看到结果之前,所有我们测试的系统案例都一文不值,做多/做空的进场规则将取代其离场规则。这段叙述是为了表述,如果有一个做多交易正在进行中,并且此时出现了一个做空的进场信号,那么无论退出多头头寸的规则是否指示应该这样做,做多头寸都应该离场了。尽管这一点从表面上看起来非常明显,但是我们也不是必须要这么做。我们所做只能是对交易条件的些许修改。这样我们可以改变交易系统的规则,使之适应下列的模式:
☆如果没有做空,那么当SAR指标移动到收盘价之下时开仓做多
☆当收盘价下穿SMA指标时清仓多头头寸
☆如果没有做多,那么当SAR指标移动到收盘价之上时开仓做空
☆当收盘价上穿SMA指标时清仓多头头寸
这一案例中的进场规则已经被修改,添加了一个先决条件一一即是否已经有一个活跃的交易正在进行中。当交易者认为该交易的进场方向与市场运行方向一致时,这样做是自然而然的。而实际上开仓空头的规则并不会写成“如果没有做空……”,但是这个条件通常被隐含包含。同样地,做多开仓的交易规则也是如此。
对于我们已经实用的进场规则而言,仅有一个没有一点回旋余地的不连续的进场条件。即为什么我们的进场规则总被写成穿过和移动到收盘价之上或者之下。穿过在一个方向上只能发生一次,而且同一类穿过再次发生之前,必定存在一次相反方向的穿过。
当然,如果我们将“移动到……之上或之下”或“上穿/下穿”改为“在……之上或之下” 那么就不会出现不连续的一次性信号。当价格移动到SMA均线之上时,举例来说就会出现一个买进信号。如果下一个收盘价仍然在移动平均线之上,那么将继续产生一个买进信号,两个信号之间没有间隔多头离场或空头开仓信号。这就是为什么交易者必须非常详尽地定义交易规则和评估交易指令的原因。
在某个案例中,比如它使用的正是我们刚刚描述的进场交易规则(如果没有做空或如果没有做多,当考虑一个相反方向的交易头寸时),就必须提供一个明确的信号检测指令。如果交易者在检测离场信号之前先检测进场信号,那么就会有类似的信号被错过或者忽略掉。
想象一下,现在你在做多,但是现在出现了一个做空信号。如果交易系统首先要看进场信号规则的话,它会发现系统已经有一个多头头寸,并且忽略掉做空信号(“如果没有做多”)。当然假使与此同时系统产生了一个退场信号将会怎样?当然是多空清仓离场,但是因为这一过程发生在处理进场规则之后,所以当允许进场做空之时已经太晚了。交易者必须抛弃这样处理订单的方法,这样离场规则首先处理,借以避免发生这样的情况。
以上所述虽然稍显冗长,但是却能非常清晰和详尽地表明你的交易系统规则,并且也同样地保障了你的测试。
现在我们回到交易系统。
SAR进场/SMA离场交易系统的测试结果如表7-11所示。因为在纯SAR交易系统的测试情形中,默认设置0.02和0.20参数给出的测试结果最好,而且其中0.02的步长设置对测试结果有着决定性作用。其交易频率在我们进行的四个测试中处于较高的位置,然而随之而来的净利润数字也是如此。
选择60天作为移动平均线的参数,并且使用0.02/0.2作为SAR指标的参数,我们得出以下交易规则:
☆当参数为0.02/0.2的SAR指标移动到收盘价之下时开仓做多
☆当收盘价下穿60天SMA指标时清仓多头头寸
☆当参数为0.02/0.2的SAR指标移动到收盘价之上时开仓做空
☆当收盘价上穿60天SMA指标时清仓多头头寸

表7-12包含了这一特殊交易规则的测试结果。没有什么特别突出的惊喜,或者说和我们前文中已经进行的测试有着完全不同的结果。
当然,在考虑到图7-15的资金曲线走势图时,你可能会对这幅图和以前的纯SAR交易系统的相似度程度感到震惊。这种情况表明,SMA参数虽然存在但是似乎并没有经常起到作用。而这一点在我们的参数设置前提下并不奇怪。

因为这次的交易系统使用的是60天移动平均线,并裹携一个相对较快的SAR参数。所以这个系统的结果在绝大多数情况下,已经存在的交易信号并没有被激发,但是当遇到反向进场信号(做多到做空,做空到做多)的时候,只是简单地将持有的头寸清理掉。图7-16展示了这种情况的大体情形。注意实体的SMA平均线和起伏不定的虚线的SAR指标线相对比走势是多么平稳。