8.5 主要顺势交易系统的比较模式
顺势交易策略在算法交易和期货管理的领域起着主导的作用,但是哪种方法是最好的呢?稍后在本书中,我们会看到很多交易规则,它们都可以被添加到一个基本的顺势交易策略之中,其间包括止损规则、止盈规则、入场时间以及改变回报和风险结构等。在某些情况之下,完善的风险管理策略以及明智的入场时间的选择方式可以将标的资产的亏损转化成盈利;然而,我们最好还是先熟悉一下比较良好的跟踪趋势的方法,因为其所附带的大部分风险特征是可接受的。
本章将不会说明哪些顺势交易的方法是最好的。其实最好的交易策略可能也并不存在,这里只有对风险和回报以及交易速度快慢的权衡模式。我们会在同一时间周期选择相同的计算周期来测试一些小样本资产的行情走势,如此则可以使我们理解各类主要顺势交易方法的不同特点,其中最受欢迎的方法是两个事件驱动(在第5章中讨论)模式以及四个时间驱动模式,即
(1)N天的动量模式——以M的形式显示;
(2)简易型移动平均线——以MA的形式显示;
(3)指数平滑模式——以EXP的形式显示;
(4)N天的破位模式——以NDB的形式显示;
(5)波段破位模式——以SWG的形式显示;
(6)线性回归的斜率模式——以LRS的形式显示。
我们应用IBM公司股价、福特公司股价以及美国银行(Bank of America)的股价代表股票市场;同时,用欧洲美元利率价格、标准普尔500指数价格、欧元货币交易价格(欧洲美元)以及原油价格来代表期货市场,其中,股市的数据已经进行了拆分调整,而期货行情所相关的都是经过回调的连续数据。前述这两个系列数据的调整方式都不会影响计算趋势或生成交易信号,且相应的时间周期是最近的20年。相对于基于时间的交易系统而言,计算周期的起始时间是5天,每隔5天测试一次,直至160天;如果在一个测试平台不易进行前述这样的操作,那么,我们可以选取5个具有代表性的样本,然后按与计算周期相同的变化比例进行加倍,即5、10、20、40、80、160,这样,在我们查看平均测试结果时,也可以免除失真效应的困扰,因为计算周期越长,测试结果会非常相似,如此则会覆盖短期的行情效应。而对于波段交易方式而言,我们将使用百分比的形式来测试波幅的规模,一般从0.25%开始,向上翻倍至4%。我们所使用的数据来自CSI信息通道;同时,我们会应用TradeStation交易平台来完成相关的测试。另外,尽管初始计算所需的5日测试数据要小于160天的测试数据,但是,我们会将所有测试的初始交易时刻设置在同一日期之上。
8.5.1 顺势交易规则
我们发现每个交易系统的特点是,相关的交易规则会尽可能地简单一些,其只会使用基本的买卖信号(所谓卖出是指平掉多单或直接做空)。同时,在所有的金融市场中,所有6个交易系统都在被使用,也就是说,一旦交易者以多头或空头的形式建仓,相应系统则总是反向给出新的交易信号,即从做多信号变为做空信号或从做空信号变为做多信号。但是,相应的每个交易系统都没有止损或其他风险的控制方法,因此,其将显示自身的天然的风险结构。另外,所有的入场点和离场点所选择的都是收盘价,而且每笔期货交易的费用是20美元,每只股票的交易佣金和利差是0.01美元;如果取消交易的费用,那么,非常快捷的交易系统会显示比实际交易更好的测试结果。下面我们结合系统的类型对相关的计算方法和交易规则进行一个简短的描述。这里需要注意的是:相对于移动平均线、指数平滑以及线性回归效率等模式而言,相应的交易信号是以趋势线的方向为基准的,而相关的交易规则如下:
(1)在N天的动量模式,即M项下:
a.当今日收盘价closet >n日前的收盘价closet-n 时,买入;
b.当今日收盘价closet <n日前的收盘价closet-n 时,卖出。
(2)在简易型移动平均线,即MA项下:
a.当今日移动平均值MAt >昨日移动平均值MAt-1 时,买入;
b.当今日移动平均值MAt <昨日移动平均值MAt-1 时,卖出。
(3)在指数平滑,即EXP项下:
a.当今日指数平滑值Expt >昨日指数平滑值Expt-1 时,买入;
b.当今日指数平滑值Expt <昨日指数平滑值Expt-1 时,卖出。
(4)在N天破位模式,即NBD项下:
a.当今日高点hight >昨日高点highest(high,t-1,n),且今日收盘价closet >昨日收盘价closet-1 时,买入;
b.当今日低点lowt <昨日低点lowest(low,t-1,n),且今日收盘价closet <昨日收盘价closet-1 时,卖出。
(5)在波段破位模式,即SWG项下:
a.当前波段高点high>前期波段高点previous swing high时,买入;
b.当前波段低点low<前期波段低点previous swing low时,卖出。
(6)线性回归斜率模式,即LRS项下:
a.基于n期的截至当前收盘时刻的线性回归斜率Slope(close,t,n)>0时,买入;
b.基于n期的截至当前收盘时刻的线性回归斜率Slope(close,t,n)<0时,卖出。
上述交易规则所使用的高点函数highest以及斜率函数slope相关的参数为价格、当前日期以及计算周期,那么,前一日高点函数highest(high,t-1,n)则须返回追踪n日周期,且截至前一日(t-1)收盘时刻的最高价点。
8.5.2 相应电子表格的范例模式
电子表格是审视波段交易模式以外的所有策略回报的一个简单方法,其平仓函数OFFSET可以改变相应的计算周期(位于F列第3行),从而使所有的计算结果和相关收益率发生变化,即此种表格可以测试不同的计算周期,且方法也十分简单。相应的5种交易策略 [1] 所相关的计算方法可以显示在单独的数列当中,且相关设置和指令如下:
(1)A列(第1列)为日期;
(2)B、C、D和E列是开盘价、最高点、最低点以及收盘价;
(3)单元格F3 [2] 标注了计算周期,其将被用于相应5个交易策略之中;
(4)F列用于计算相关动量,其始于第163行,因为表格所允许的最大计算空间是160天的数据,而相应的指令语言如下:
(5)G列计算的是移动平均值,指令为:
(6)H列需要对数据进行指数平滑,指令为:
其中,单元格H3的计算指令为$H$3=2/(F2+1),此为天数向平滑系数的标准转换模式 [3] 。
(7)I列计算的是回归斜率,指令语言为:
SLOPE(E163:OFFSET(E163,-$F$3,0),A163:OFFSET(A163,-$F$3,0))
(8)J列记录了最近期的上破(+1)与下破(-1)的行情走势,相应指令语言为:
IF(E163>MAX(E162:OFFSET(E162,-$F$3,0)),1,IF(E163<MIN(E162:OFFSET(E162,-$F$3,0)),-1,“”))
接下来的五列,即K~O列显示了基于F~J列数据所计算的、具有连续性的方向趋势(+1或-1);一旦存在一个初始的方向,相关单元格的数值要么是+1要么是-1。相对于破位交易策略而言,J列在识别第一个趋势之上需要耗费77天时间。
表格最后的五列以点数的形式给出了累计损益值,也就是说,其中没有将相应数值转换为美元,而对于欧洲美元利率工具而言,期货市场的转换方法是:一点为2500美元,即97.00~98.00的价值是2500美元。虽然相关的交易成本会对比较的价格影响很大,但是我们这里没有计算相应的佣金。同时,关于欧洲美元、标准普尔以及IBM公司股价的测试结果可以在三张电子表格当中显示出来,它们都可以在英航网站中TSM软件内的Trend Systems Comparisons ED/SP/IBM程序中被发现。
1.欧洲美元、标准普尔、IBM测试结果相关的电子表格
图8-12显示了160日计算周期相关的欧洲美元期货的累计收益,这是时间最长的一项测试。而通过对20年数据所进行的测试,我们发现移动平均模式的表现是最好的;n天破位模式的绩效第二;n天动量模式的性能是最差的,其中,最好的收益率是26%,最差的收益率是11%。如果用美元来计算的话,我们可以划定一个简单的回报范围,即每年在1375~3250美元。现在,我们假设相关投资属于典型的三倍杠杆,其初始保证金为1500美元,那么,年化收益率则居于30%~72%,当然,这里没有包括佣金,也没有点差,而且欧洲美元的行情也存在显著的追踪趋势的特点,所以,此种测试结果并不能代表所有交易策略的实际性能,在下一节中,我们会对此进行更加完整的解读。
图8-12 五种交易策略相关的电子表格所生成的欧洲美元期货的累计收益率
通过观察上述五个交易系统模式的性能表现,我们可以得到一些有趣且有价值的结论,即
·长期的顺势交易模式可以盈利;
·如果市场行情存在趋势的话,那么,所有顺势交易策略都是有利可图的;
·当为系统添加其他属性时,那就需要证明添加这些特性能够使测试结果得到改善,因为简单的交易方法看起来似乎会很好。
2.标准普尔指数期货相关的测试结果
图8-13显示了相对于绩效功能而言,标准普尔的噪声比欧洲美元市场的噪声要大得多。同样,在测试期间,移动平均动量模式只会带来直接的亏损,而单纯的移动平均模式的性能则飘忽不定:2007年4月24日,其出现了一个做空信号,并指示要一直持仓至2008年10月16日,虽然这显示了长期趋势的优点,但是,大部分交易者在持有股票阶段则很难观察到每周以及每个月的数据变化情况。
图8-13 标准普尔迷你电子期货交易盘所相关的各类顺势交易模式的测试结果
3.IBM公司股价相关的测试结果
图8-14所显示的是最后一个范例,即IBM公司股价相关的测试结果,其与标准普尔指数期货之间应该存在一些相关性;同时,该只股票价格有一定的上限,且其行情走势中的噪声因子要相对高一些。事实上,相应测试结果表明:IBM公司股价的收益率比不上标准普尔指数的收益率,其中应用移动平均模式是唯一可以盈利的方法,这很可能是由于指数行情可以平滑掉单一个股行情的不稳定性。但是,如果你只使用一个计算周期来观察测试结果的话,那就无法显示整体的行情走势。
图8-14 1998年8月~2011年2月IBM公司股价所相关的各类顺势交易模式的测试结果
8.5.3 各类测试结果的比较模式
为了比较各类顺势交易模式的性能绩效,我们使用四个期货工具,即欧洲美元利率期货(ED)、欧元货币期货(CU)、标准普尔指数期货(SP)以及原油期货(CL);同时我们选取三只股票:IBM公司、美国银行(BAC)以及福特公司(F),由于可视化的行情走势能够比较容易地被读者所了解,因此,相关的测试结果均以图表的形式来显示。
因为每个人都想知道各个交易系统和相关金融工具到底能够提供多少回报,因此,我们首先要对相应的净利润进行比较。如果单看移动平均模式的测试结果的话(见图8-15b),我们发现在大多数的计算周期内,欧洲美元利率期货、欧元货币期货以及原油期货均在不同程度上获取了一些利润,但是,它们在较短的时期内,往往容易出现亏损;标准普尔指数期货交易所造成的亏损最多,但这些亏损大都发生在短期之内。另外,三只股票的交易几乎在所有周期之中都存在着亏损(见图8-15a)。相对于持续性而言,在25~160天的周期之内,与其他六种金融工具的测试结果相比,欧洲美元利率期货的表现则非常稳定,这一点就像我们在第2章中所讨论的那样,可以归因于和其他金融工具相比,欧洲美元利率期货行情中的噪声相对较低。由于股票市场处于噪声频谱的另一端,所以判断其趋势的进程非常艰难,且很容易导致交易的失败。那么,前述这个结论相对于所有的顺势交易模式都适用吗?或者说,相对于某个特定的金融市场而言,一种交易模式就一定比另一种交易模式要好吗?
图 8-15
8.5.4 对趋势理念的另类解析模式
移动平均线、指数平滑以及线性回归模式都是传统的时间序列过程,也就是说,一天的价格行情在所有计算的总额中只占一小部分,相对于某种单一的、较大的行情趋势所引发的价格方向的变化的情境而言,其影响力是非常小的,同时,它也难以生成一个后继的交易信号。另外,它也具有一个延迟的属性。而与慢线趋势相比,在快速运行的趋势行情当中,每一个价格都会显得格外的重要。
对于依赖于n天破位模式的交易系统以及波段破位型交易系统而言,它们都是由相关的新高点与新低点所触发的,所以,在此情境之下,一种大幅度的价格运行模式通常会生成一个新的交易信号。总之,依赖于行情破位的交易系统属于事件驱动型,而移动平均交易模式属于趋势进化型,因为当价格走势出现新高或新低时,事件驱动型交易系统就会给出相应的交易信号,且其间不存在延迟。
8.5.5 对风险结构的另类解析模式
在各类顺势交易的方法中,其最大的不同点就是它们各自对风险结构的定义。即使收益率相似,但是,移动平均交易模式所面临的风险与依赖行情破位交易系统的风险结构之间也存在着明显的不同之处。区分各类交易系统彼此间风险结构的最好指标是信息比率(年化收益率除以年度风险);另外,利润因子(利润总额除以损失总额)则是唯一可用于衡量测试结果的数据。然而,从性能绩效的角度出发,相应的系统测试结果也会给出一些相对不同的、好的见解。图8-16a就显示了欧洲美元利率期货市场相关的五种交易模式所生成的利润因子(6种交易方法中的5个);而且,所有相关的计算都基于相同的周期;同时,相应数据期限是20年,截至2011年。图8-16b显示了波段交易方法所生成的利润因子,其是以百分比的形式来展示波段行情的变化幅度的。
图 8-16
尽管我们认识到欧洲美元利率的市场行情具有高度的趋势性,但是,与其他市场相比,其利润因子存在非常显著的相似性,n天破位交易模式似乎略优于其他方法。但是,各类交易模式所生成的利润因子都聚集在一起,而且随着计算周期的增加,其聚集度也在以同样的速度提高,这就带来了一个问题:“我们所使用的顺势交易方法真的很重要吗?”顺势交易模式所获取的收益来自公式计算吗?或者,测试结果是市场行情控制的吗?
相对于利率而言,波段交易模式存在一个问题,因为其测试结果是基于不同波段百分比的变化值而得出的,但是,利率期货不是以收益率的形式出现,而是以价格的方式出现的,所以,当价格上涨时,波动率就会下降。图8-16b显示了在其他市场上,我们应用百分比波段交易模式项下的波幅进行分析——当波段行情高于1.375%时,相关价格所对应的测试结果是没有交易;如果要使用收益率分析法,我们则需要用100减去价格,如此,则可使之随处便可交易,但相应收益则少得可怜。包括前述这个范例在内,我们看到使用百分比形式对利率期货价格所做的任何分析都会出现相关的问题。 [4]
基于利润因子且相对于欧洲美元利率期货而言,五个交易系统的测试结果看起来都是相同的,但是,其他金融工具的表现则并不一致——对于较长的计算周期而言,图8-17a和图8-17b中的欧元货币交易相关的数据显示了n天破位交易模式的情境则存在明显的不同之处。依赖于行情破位系统的交易规则是,在新的高点和新的低点之处变换仓位;而且,一个超过125天的计算周期就是等于6个月的周期。那么,在超过了6个月以来高点的价位处,我们可以植入一张多单;在低于6个月低点的价位处,我们可以平仓。如此,则会面临很多风险。而在某种程度上,波段交易模式也是一样,例如,如果原油期货价格是30美元/桶,那么,5%波段数值是1.50美元;在100美元/桶的点位处,波段数值是5.00美元,尽管一个波段百分比的灵敏度可以自我调节,但是,其相关的风险度也在继续升高(见图8-18a和图8-18b)。
图 8-17
图 8-18
与欧元货币期货以及原油期货相对应,标准普尔指数相关的图表显示了于大约85天的最快捷的计算周期以内所有顺势交易方法所生成的利润因子,其测试结果大致相同(见图8-19a和图8-19b)。在此期间之后,各类交易模式所生成的收益率开始呈现离散状态,并且变得更加的不稳定。相对于较长的计算周期来说,n天破位模式一直都是最好的方法,但是,其间也存在着高度的可变性。
图 8-19
图 8-20
但是,以上的论述并没有涵盖所有的理念,而交易频率、盈利交易占比以及利润均值等指标都会显示各类交易模式的不同属性。仅以欧元货币期货为例,我们发现这个金融工具似乎最具有代表性,其中,图8-20a显示了每个计算周期的交易数量,图8-20b显示了盈利交易的百分比率,而图8-20c则显示了每笔交易的平均利润。另外,破位交易系统当中的突出特点是:其所生成的交易数量不足其他顺势交易模式的一半。而如果将移动平均模式作为一个范例,我们会发现在趋势发生改变之时,由于价格的上下移动,其会频繁地生成买卖交易,直到出现一个新的趋势,如此所造成的损失会很小,但发生损失的频率可能很快。破位交易系统的风险数值是n天的价格高点与n天的价格低点之间的差值,其计算结果可以很大,但是,其间很难生成适用于交易的目标价位。因此,在破位交易系统中,我们所能预期的交易很少,但实际的亏损可能非常大。
由图8-20b可见,获利交易占比也被称为可靠性,其所相关的各类交易模式的测试结果存在着很大的差别,其中,移动平均交易模式和动量交易模式的可靠度最低,大约是34%左右(两种模式的测试结果几乎相同),而且破位交易系统所对应曲线的顶部位置的可靠度也不到50%,同时斜率模式和指数平滑模式的可靠度为43%左右。这个图告诉我们:虽然破位交易系统可以使我们长期地持仓,且同时也伴随着更大的风险,但是,此种模式更有可能以获利的形式收尾。
图8-20c是每笔交易的平均利润,其反映了每个交易模式的持仓期限。相对于每笔交易而言,虽然存在着平均风险,但是,你所持仓的时间越长,平均的利润也就越大;移动平均模式、指数平滑模式和动量模式的测试结果都很相近。在图形上,我们几乎无法区分,回归斜率模式似乎会带来更大的利润,这里只有破位交易模式可以在所有的计算周期之中作为一种能够获取较大利润的策略方法而独领风骚。
我们应用简化的电子表格和160日的计算周期所能够看到的初步测试结果不如整体交易系统结构所展示的清晰,其中,移动平均交易模式的性能仍居首位,而使用破位交易模式往往会得到更高的回报,但同时也伴随着较高的风险。这里有一个不可否认的事实是:顺势交易系统的各类模式所相关的长期订单都是有利可图的。
大型图表的观测模式
当试图决定交易的快慢节奏时,我们必须认清重要的一点,即较短的计算周期会生成更多的交易次数,且每单所获取的利润也不大,其相对于交易成本、利差以及佣金的敏感度非常高。即使就欧元货币期货交易而言,虽然此类金融工具的行情走势比较中性,但是,快线交易仍然会将其每笔交易的利润降低至边际的水平,同时也会降低相关的利润因子。在图8-21中,其显示了五个交易相关的交易数量(交易的频率)以及由此而生成的利润因子。另外,该图显示出在20年间,快线交易模式生成200多笔交易,而它们的测试结果确实不如慢线交易那么好。
图8-21 欧元货币交易相关的利润因子与交易次数
注:如果将五种交易模式结合起来进行观测的话,我们会发现:交易次数越少,利润因子越高,而图中1.0以下的利润因子所相关的交易都是亏损的。
8.5.6 预期模式
当所测试的结果发生错误,甚至当实际交易结果与测试结果相差甚远时,相应的预期模式则可以帮助我们识别这种功能是非常重要的,而相关的常识则会为我们提供正确的交易方法。现在假设有一条大河,我们要横跨此河建造一座桥,如果程序员错误地输入数据,将小数点向左移了一位,那么,最终的计划会显示10英尺 [5] 的一座桥将被搭建在100英尺宽的河上;不过,这里幸运的是,相关工程师会事先估算结果并预期相应答案应该在80~120英尺。因此,当不同的系统测试不同的计算周期之时,我们应该对测试结果进行相应的预期。同时,快线交易和慢线交易都有其各自的交易模式,而且破位交易系统和移动平均交易系统各自具有不同的风险结构,而了解其间的差异对成功交易而言是非常重要的。
8.5.7 系统稳健性的测试
为了在相关测试当中获取最具价值的结果,我们需要于测试之间尽可能地保持前后的一致性,如此,则可使用下列的标准。
(1)测试周期。
所有的金融工具和系统测试所使用的周期都是相同的,即20年,且截至2011年2月,数据越多,测试结果则越有效。同时,在这些数据之中,其既包括了牛市行情与熊市行情,也包括了横盘的价格走势,从而可以为相应交易系统的良好运行提供有效的实施方案。
(2)无论计算周期是多少,各类交易系统的初始测试日期均在同一天。
所有的测试程序都应在同一日期开始,而本章最长的交易周期是160天。
(3)测试趋势运行的速率。
计算周期所相关的检验模式应该从测试几笔交易开始,直至衡量完大范围的交易而结束。其实,在一年之中,我们所进行的交易没有必要少于两笔或三笔,但是,也没有必要超过100笔,因为交易过少或过多的情境不太可能出现。
(4)使用真实的交易成本。
交易成本很重要,因为你不可能免费交易。而如果所设定的交易成本过高,那么,你可能会把一个盈利的交易系统变成一个亏损的交易系统。另外,如果交易成本设定得过低,那么,你就会得到一个不切实际的乐观的测试结果。所以,我们需要尝试使用能够代表实际情况的交易成本。
(5)将测试的结果进行分类。
在前面的章节中,相应的测试结果分为净利润、利润因子、交易次数、平均利润以及获利交易的占比等,如果你只能选择其中一个指标,那么利润因子或信息比率就是最重要的。相对于风险而言,前述这些统计数据能够给交易者带来回报,并且使其在一个平等的基础上对相关的交易策略进行比较。完整的测试程序将在第21章中讨论。
8.5.8 哪种交易系统是最好的
我们回到本章开始所提及的问题,即通过对各种顺势交易策略的研究,我们能够确定哪个系统是最好的吗?通过选取金融市场工具和交易模式的样本,我们看到移动平均交易系统和n天破位模式似乎是最好的选择,但是两者的内容却是完全不同。如果依赖于移动平均模式的话,其会生成更多的交易,但也会带来许多损失,同时获利也不多,此种模式被认为是一种保护性的投资方法。破位交易系统看起来更可靠,且每笔交易也可获得更大的利润,但是,此种模式要承担非常大的风险。而线性回归的斜率模式则似乎介于前二者之间。
许多交易者喜欢破位交易系统所带来的回报,但发现其风险过高且持仓的时间也太长,与其说一个100天的破位模式是交易,还不如说那是投资。虽然移动平均模式所带来的亏损较快,但是在一段相对较长的期限内,此种模式却是最大的赢家。交易者总是在寻找一种方式,并且希望其能够获取长期趋势的优势且持仓的时间也不长,而所承担的风险也不大,这个问题将在下一节中讨论。
我们这里的答案是:金融市场没有最好的交易系统,只有相应利益的权衡模式。同时,每个投资者都有不同的风险承受能力:一些交易者需要应用获利交易占比较高的交易系统,而其他人只想承担较小的损失。因此,我们这里所要强调的重点是使用一个潜在的方法来构建一个交易策略,使之满足你的交易目标。
8.5.9 六种交易系统的编辑程序
除了比较六种交易系统的性能的电子表格以外,在英航网站中,有一些单独的程序可以提供更多的编辑细节,它们是:
·TSM软件中的Momentum程序(动量交易模式相关);
·TSM软件中的Moving Average程序(移动平均交易模式相关);
·TSM软件中的Exponential程序(指数平滑模式相关);
·TSM软件中的N-Day Breakout程序(n天破位模式相关);
·TSM软件中的LinReg Slope程序(线性回归的斜率模式相关);
·TSM软件中的Swing程序(波段交易模式相关)。
这里需要强调的是,移动平均的编辑程序是从趋势线中获取相关的交易信号,而不是从价格的穿透模式中获取的,每个编辑程序中都有其各自的可用选项。
[1] 波段交易模式除外。——译者注
[2] F列始于第3行。——译者注
[3] $H$3表示对H3单元格的绝对引用模式。——译者注
[4] 欧洲美元利率期货价格是基于伦敦同业银行间拆放利率(LIBOR)而确定的,例如,如果3个月期年化的LIBOR利率是5%,那么,欧洲美元利率期货价格=(1-5%)×100=95,反之,(100-95)÷100=5%。——译者注
[5] 1英尺=0.3048米。——译者注