21.2 参数的识别模式
一旦所测试的交易策略是已知的,那么相应的测试参数则必须被识别。所谓参数是可变交易策略当中的值,其可以改变相关系统的速度或时间,例如相应的参数包括:
·移动平均计算周期(以天数或棒线数计);
·指数平滑常数(以百分比值计);
·移动平均线的带宽(以标准差的数值或百分比值计);
·RSI计算周期(以天数或棒线数计);
·止损点(以固定点数、百分比值或波动率因子计)。
·交易相关的最长的持有期(以天数或棒线数来显示)。
我们现在假设:相应策略将使用移动平均线来识别趋势,以RSI指标决定进场时机和止损点。这里最基本的检验方法是选择某只股票或某种期货合约,将RSI指标的计算周期固定在14天,止损率设为3%,同时变换移动平均线的计算周期。然后,该方法将生成模拟交易策略的测试结果并逐步设定移动平均的天数规模,例如1~250天,这就是所谓的单参数优化模式。
大多数系统设有多个重要的参数。在上述范例情境之中,移动平均周期、RSI指标周期和止损值都是重要的参数。如果止损保持在3%,那么,移动平均线和RSI指标可以在一起测试,其优化模式则是一个连续的测试过程,即选择第一个移动均值,然后测试所有的RSI值,而未来的移动平均值则需被再次测试,直到所有的RSI值验证完毕。接下来,重复前述过程,直到移动平均计算周期和RSI计算周期的所有组合情境都经过测试为止,这是一个二元参数的优化模式。
21.2.1 参数范围的设置方法
我们用大量的测试来创建一个优化情境并不需要花费太多的精力,因此,优化的测试时间将急剧地增加,例如,如果应用250日的移动平均值(1~250天)的测试、30进制的RSI计算周期(5~34天)以及30个单位的止损值(0~3.0且区间步长为0.1),那么相应的测试规模=250×30×30=225000。如果每次测试需要0.01秒(相对于盘中数据的时间而言要长得多),那么每天的总测试时间大约是36分钟;其间,更多参数的测试会很快失控,这需要我们更加仔细地选择较少的数值来进行参数的测试。限制测试规模的方式实际上存在一个优势,因为它会迫使测试者能够提前为相应策略设定相关参数的范围,没有这些限制措施,测试过程将会偏离方向。同时,其探索模式则属于那种不加选择的类型。
21.2.2 待测值的分布状态
我们不必测试移动平均线项下所有的计算周期或任何一种顺势交易方法,但是相应数值的间隔不应该是均匀地分开。相对于移动平均趋势线而言,我们最好使用所有那些对应较小数值的天数,然后天数越大,则相关价值越小,例如,我们设定序列为:
1,2,3,4,5,6,8,10,12,15,20,25,30,40,50
如此,上述序列就是一种比使用1和50之间所有数字更好的选择模式。考虑到49日和50日周期之间只有2%的差值,而2周期测试值和3周期测试值之间的差值是50%,因此,居于测试序列两端的周期的灵敏度就存在很大的差异。相对于1日周期和2日周期明显的性能差异而言,49日和50日趋势线之间的差异则可以忽略不计。
接下来,我们可以应用等量的增幅为多头仓位相关的一组测试结果配以相应的权重,即测试结果的均值或收益/计算周期的比较情境将始终映射于较长的计算周期之中。同时,通过使用递增的百分比测试值,我们则可以解决相关的问题:如果初始测试值乘以1.5,则可得到第二个值;再乘以1.5,则可得到第三个值;最后,测试序列就可以得到改进。如果我们设初始值为1,那么该序列为:
1,1.5,2.2,3.3,5.0,7.6,11.4,17.1,25.6,38.4,57.7
上述模式通过使用增量百分比值来确定测试方法,如此,则不仅减少了测试时间,而且也能提高测试结果分布的准确性。
给测试参数排序
每次只测试一个参数的方式可以使你更好地了解系统的动态特性,而如果五个参数被同时测试的话,那么相应的结果会各自不同,所以它们之间很难达成一致。对于测试顺序来说,最重要的影响因素必须被首先测试,这是一个顾全大局且影响最大的测试结果,例如在移动平均线、RSI指标和止损点相关的系统之中,移动平均线是主要的部分,相关交易策略成功与否则取决于选择一个能够获取收益的趋势周期,那种认为一个策略会随着止损点规模的改变而变化的想法是不切实际的;同时,其他指标和风险控制的改善也会提升相应的测试结果。同样,第二个重要的测试参数应该是RSI,以其来改进入场和离场的时机,应用止损机制的风险控制方法也会改变最终的测试结果。
21.2.3 测试变量的类型
测试变量可以有三种形式:连续的、离散的或属于编码指令的(α)。为了正确地解析和显示测试的结果,相应形式需要被事先确定,即,
·连续参数 指的是数值,例如百分数,它可以在定义范围内取任意的分数。如果止损水平被定义为百分比,那么它可以用0.02%的小数值开始相关测试,相应步长可增加至0.005%,直至2%。
·离散参数 是整数或整型值,如移动平均线的天数。
·指令参数 代表一个操作类别,也称为一个状态。例如当参数值为A时,我们会使用单一的移动平均线;B值对应的是二元移动平均测试系统;当参数值为C时,我们则使用线性回归模式。
前两个连续的以及离散的参数类型应区别于最后一个指令参数。分析师可以预期:在测试参数的结果时,相关的结果会逐渐变大或变小,例如,1日移动平均线可能会出现最大的损失且于30天后逐渐转为盈利;其绩效峰值一般出现在第80天左右,然后开始衰减。另外,指令参数可以转换每一个相关数值,但是,我们没有理由改变系统的运行规则,改变系统运行规则的方法将导致任何一种功能模式超越其运行范围,其中参数相关的第一规则可能是盈利的,第二规则是失败的,而第三规则又是盈利的。稍后讨论的结果将会显示只适用于连续或离散参数的增量型的递增或递减的测试方法。