21.6 可视化测试结果的解析模式

    可视化的过程在规避系统开发所生成的严重错误方面是至关重要的。我们可以查看正在测试的价格图表,从而避免错误的数据并以某种逻辑形式呈现测试的结果,进而显示异常值、不稳定的测试结果以及各种连续性的水平。有些人认为这些操作都可以通过扫描测试结果和使用各种测量方法来完成,但是眼睛所能看到的东西并不能被真正地予以替代。

    对于那些不想开发自己的测试平台的分析师来说,某些平台则是很好的选项,比如TradeStation平台、MetaStock平台以及Ninja Trading平台。 [1] 前述交易平台可以通过用户指定的顺序范围来处理各种参数的组合模式并运行相应的优化机制。另外,测试结果可以用表格来显示,进而导出到Excel表;而且,如果其中一种组合参数与另一种组合参数彼此结合,那么相关的测试结果则被显示在同一行,例如,如果我们用百分比测试移动平均线,那相应的优化模式为:

    (1)移动平均计算周期以10天为增量,即10~50天;

    (2)百分比(基于移动平均值)以1%为增量,即1%~4%。

    当收盘价穿透上限时,系统则显示应该买入;当该价格穿透下限时,系统则标识卖出。在1996~2003年,纳斯达克100期货指数的优化结果如表21-1所示,用户可以选择表中所显示的统计信息。在这个测试中,相应的列(从左到右)分别是:移动平均(MA Per)、百分比的包络线(%Band)、净利润(Net Profit)、多方头寸净利润(Long NetPrf)、空方头寸净利润(Short NetPrf)、交易量(#Trds)、盈利交易数量(#PrfTrds)、平均盈利/亏损率(Avg W/L)、每笔交易平均的利润值(Avg Trade)、盈利交易的平均数量(Avg WBars)、亏损交易中平均数量(Avg LBars)、最大跌幅(MaxDD)、利润因子(PFact)和回报率(ROA),其中利润因子是毛利润与总损失的比率并且是净利润/最大损失的绝对值。

    上述优化报告是按完成测试的先后顺序来显示的,其中移动平均系统区间从10增加到50,但是百分比包络线则并不总是按升序排列的。然而,有一个清晰的模式显示:利润从30日移动平均线开始使用2%和3%的包络线,然后,较长的计算周期所对应的各个轨道值则显示出盈利的状态。当优化过程完成之后,最终报告则可以显示最佳组合相关的收益参数值,以及附带2%包络线的40日移动平均线。

    21.6.1 从测试结果之中发现相应的连续性

    正确地可视化测试结果可以使相关解析变得更容易一些。表21-1很容易地解读了相关测试的范例情境,但是,2个或2个以上的参数组合可以生成数百行不易组织的统计数据。图21-3已经给出了如何在二维情境中呈现测试结果,进而显示相应的连续性,但是,其不是一行连着一行的测试结果的列表。我们现在考虑最基本的测试规则:作为一个移动平均计算周期的单参数优化模式,图21-4则显示了可能生成的三种情境。

    在上述三种模式中,总利润/损失之比在左侧被显示出来,移动平均计算周期则显示在底部位置。图21-4a表示:快速和慢速参数都会产生损失,尽管中列数呈现盈利态势也不能改变,因为关于这一点有很好的连续性,所以我们能够很容易地选择生成最高利润的移动平均系统所相关的天数。

    图21-4b显示了两个可能成功的交易区间。由于二者的步长相等,所以它们之间的选择方式将取决于交易的频率和每笔交易的利润规模。如果计算周期短,那交易量就会很大;而持有期短,交易利润就会变得较小。同时,另一种可能性是:相关交易所依据的可能是由峰值而显示的移动平均线。如果必须选择一个交易区间,则较长的计算周期将被认为是一个更加保守的选择方式——快线交易系统可能会导致错误,即执行价格偏低、交易成本过大。除非前述这些因素已经被纳入相关的交易策略当中,否则,高度模拟的表格方法可能会生成令人失望的实际业绩。

    图21-4b中的模式在图21-4c中显得有些夸张,但其更为现实。快线交易系统可以在很窄的范围内获取较高的利润,而依据长期趋势则可取得广泛的成功。3日移动平均线区域内的峰值会被亏损所包围,这表明高利润可能由短暂的价格冲击事件或快线交易契机的实际窗口所生成。同时,前述这种模式也会出现在没有交易成本的情况之下。另外,有的快线交易策略可以在没有意外或佣金的情况下获取高额收益。图21-4c中的模式也被相同增量的测试周期所夸大。如前所述,与10日和20日的计算周期相比,90日和100日的计算周期将具有类似的测试结果。

    表21-1 应用纳斯达克指数相关的移动平均——百分比包络线系统的TradeStatiaon交易平台所生成的优化报告

    图21-4中的三种模式展示了较好的长周期的模拟结果的获利情境,其是一个不稳定的模式,即它不是平稳的回归模式,如此则表明基本交易策略是不可靠的,或者测试程序有错误。

    图21-4 只改变移动平均天数的测试过程所能生成的情景模式

    图21-5 二维优化的标准配置

    21.6.2 二元参数的测试方法

    测试中最常见的情境是:系统存在两个或两个以上的参数、一种或两种趋势的组合情境,还有时间指标、风险控制的止损机制,有时甚至是相应的利润目标。表21-1显示了移动平均系统项下的百分比包络线所相关的测试结果。而诸如移动平均线和止损机制一类的二元参数的测试结果则可以显示为网格形式(二维表格),如图21-5所示,左侧为移动平均计算周期(行),而顶部则是止损值(列)。图21-5表明最少的天数和最小的止损值将在左上角的框格之中给出结果。另外,右下方框图将显示最长天数和最大止损点位的测试结果,通过这样的演示,系统项下行情的各个方向均会显示出连续性,而如果系统是对称的,那么右上角的模式可能与左下方的相类似。

    虽然市场行情的综合情境、交易规则和参数值的组合模式可以创造出非常庞大复杂的测试结果,但是在这种二维表格中最有可能出现的只有三种模式。图21-6a显示了最简单的范例情境:单一交易成功的区域比较宽广且其逐渐向边缘扩散,这类似于图21-4a所示的单参数测试模式,而选择与最佳性能区域中心相关联的参数的行为似乎是最合乎逻辑的,因为价格模式的适度转变仍有获利的可能性。

    图中两个区域都能盈利的原因通常是行情高度波动的结果(见图21-6b)。在一个价格迅速变化,但却维持着相应趋势的行情之中,我们可以使用快线或慢线的模式进行交易。短线交易模式可以捕获更多的趋势并且能迅速改变交易的方向,所以它常常是盈利的,当然它也可能带来更大的亏损和更高的成本。较慢的顺势交易模式入场较晚且离场也比较迟缓,因此其所能捕获的行情移动幅度较小。但是,它有较高比例的盈利情境,因为它可以通过更大的价格波动来从事相关的交易,而且其信息比率可能也比较小。在实际交易中,我们所使用的参数的选择模式与图21-4b和图21-4c是一样的且理由相同。

    第三种情况如图21-6c所示,效应回报率并不稳定;同时,在相关效应的表现情境之中,其间没有一致性的模式,如此,相关数据对交易策略是不起作用的。

    图21-6 二维优化产生的结果

    21.6.3 可视化结果测试的替代方法

    图21-7 移动平均-止损的三维曲面图

    对用户来说,广泛的统计软件所提供的、易于理解的方式是:将测试结果显示为一个大致的轮廓或拓扑地图的形式,这种模式可以在图21-6中看到,即其通过不同的颜色来显示相关情境,其中一种颜色随着收益量的增加和减少而可以切换至另一个颜色,这使之能够更容易地看到效应相关的峰值和底值并获得一种平滑感。任何电子表格程序都能勾出曲面图,这会使你对二元参数测试的连续性有一个粗略的了解。如图21-7所示,这个三维图给出了表21-1中所示的移动平均-止损交易策略项下的利润因子,其沿着右下角的刻度(y)显示出移动平均系统的计算周期,沿左下角的x轴显示了止损机制的百分比值,同时沿纵轴z显示了相应的利润因子。当移动平均计算周期变大时,图形之上显示的收益值则是最优的,而最好的止损点位于正中间,大约是2.5%。最快的趋势和最大的止损点所对应的是最差的效应情境。总的来说,止损位的选择并没有对趋势做出多大贡献,而如果使用较小的增量模式来测试相关的变量,那么曲面图将会变得更加平滑一些。

    用散点图进行可视化处理

    不幸的是,当代的技术还不能让我们的图表超过三维空间。如果系统有三个参数:移动平均值、RSI指标和止损点位,那就需要有多个图表才能将测试结果可视化。在图21-8a和图21-8b中,其间只有两个参数:移动平均值和止损点,其中每个图表只能显示一个测试结果。为此,优化的结果被导出到PSI-Plot软件 [2] 之中,其实,应用双参数分析的X-Y图也可以凭借Excel形式来生成类似的结果。另外,图21-8中的每个圆圈所表示的是每个独立测试的结果,而其移动平均值或止损值则沿着底部位置被显示出来。

    图21-8 多个参数的可视化表现

    如图21-8a所示,除了最后两个情境40日和50日周期之外,移动平均系统的测试结果会随着计算周期的延长而增加其成功的概率。虽然相应测试结果所在的范围是相同的,但是50日周期集群皆靠近顶端位置,40日周期集群均接近底部,所以,图表情境更加偏好50日周期。总体而言,我们看到长期移动平均系统的表现优于短期系统。当然,其表现的只是一个市场和一个时期,同时,它也是一个非常小的测试,所以,我们需要做更多的测试才能对前述这个结论有信心。

    图21-8b显示止损点的测试结果远远没有说服力,4%的止损可以作为效应最差项而被淘汰,因为市场还有较低的高点和更低的低点;然而,其他三个止损设置的情境并不清晰。这里值得注意的是:大约80%的被测试的利润因子值高于1.0,即净利润(毛利润大于总损失)。另外,1%的止损结果所相关的测试范围最小、2%的最大、3%居于中间,所以,我们不能确定哪个是最好的。我们可以认为,如果均值相同,那么最小标准差所对应的止损因子的相关数值将显示出最高的稳定性。

    21.6.4 测试结果的标准化模式

    当测试单个系统之时,一组参数的结果可以轻松地与其他集合进行比较,因为测试周期、佣金和其他基本值都是相同的。然而,随着时间的推移,你将会测试许多不同的系统基期变换情境,如此,你需要将其进行比较,从而来确定哪个策略是最佳的,而这需要提前进行规划。标准化的测试结果是提高广泛测试的有效性的最佳方式,其中应该包括:

    (1)所有数值的年化情境。我们在完全相同的周期(例如10年和12年周期)所进行的测试或对不同期货市场所做的测试,可能会使用于不同日期开始和结束的数据。年化的测试结果将不能给出完美的比较形式,但是,其会使比较模式更具相关性。

    (2)风险的调整模式。如果准备金比较充足,那么1万美元利润减去5000美元的下降幅度实际上与2万美元减去1万美元的情境相同。我们可以将测试结果作为利润除以相关风险(被称为信息比率),而这是比较好的查看收益的方式。

    (3)标准差的调整模式。生成相同结果的两个测试之间的重要差异是:一个是两次交易的测试,另一个是50次交易的测试,其中仅对两个交易进行测试的结果则不太可靠。如果前述两种交易模式都有50%的盈利概率,那么,另一种亏损的交易将使得第二次测试的可靠性下降到49%,而第一种情况的将下降到33%。反之,测试结果应该处于相同的置信水平之下,这意味着我们应该从当前的测试结果之中减去标准差。

    上述这三个方式的计算过程可以在第2章中找到。

    1.测试结果的平均化模式

    由于测试过程与计算机相关,所以我们最好自动选择最佳的参数。在通常情况下,我们可以通过平均方式来测试图中所显示的年化回报率或收益率,从而有效地完成相关的操作。在移动平均系统之下,你可以选择消除由峰值所引起的性能失真情境,例如3日、4日、5日和6日的测试结果分别显示了1000、8000、3000和4000的利润。4日的情况似乎对应一个利润的峰值,而我们则可以通过三个数值的平均值来替换;或者,最好是通过两个相邻点的内插值来将其最小化(见图21-9)。一般来说,每个价值被其邻近数值的均值()所替代的过程将平滑相关的回报率,而一旦所有均值代替了原始的测试结果,那么最好的参数集是的最高值,这可能有助于发现整体的绩效模式,而不是离群值,相应的数理公式为:

    图21-9 用均值A或插值B替换峰值

    2.二元参数的平均模式

    我们也可以对二元参数的测试结果进行平均处理,从而创建更加平滑的组合数值,图21-10的二维网格显示,每个测试的原始净利润或损失将被表示为与显示器的i行和j列相关联的数值;测试对象则以PLij (相邻的平均值)值来替换每个PLij 的值。如图21-10a所示,其通过平均方法获取了第i行第j列数值所相邻的8个测试结果,以及相关的中心值。当第i行第j列的测试结果没有被完全包围,但处于测试网格周边之时,那就会出现特殊的情况。图21-10b~图21-10d显示出:当第i行第j列单元格位于顶部、侧面或角落之时,我们则使用平均的方法,这里显示的9格平均值与一元参数测试之中的3点均值是相同的。如果各种测试之间或更多测试的范例情境之间的增量相对较小,那么平均区域的面积则是越大越好,此类方法的综述将在本章的第21.9.4节中显现。

    图21-10 平均图表所输出的测试结果

    [1] 有越来越多的测试平台可被广泛地使用。许多类似产品将在《期货》杂志上登广告或已经被《期货》《股票与商品技术分析》《主动交易者》以及《技术分析师》等杂志所综述。

    [2] PSI-Plot和ProStat是保利软件国际(Poly Software Inter national)的产品,它们以合理的成本提供了优质的统计分析和相关图表。