从上面对推进分析的介绍中其实不难发现,推进分析的整个操作流程非常贴合实际交易的情况。在实际环境中如果使用量化交易策略进行交易,使用者常常会先根据最近的数据优化好策略设置和策略参数之后,再用其来指导当前的交易,而在下一次需要判断是否交易时,再重新优化一遍策略设置和策略参数,从而使得策略更好地反映最近的市场情况。
从宏观来看,市场是在一直变化的,因此针对距离交易时刻更近一些的数据进行特征的挖掘和策略的开发,就能更好地保证特征的存留以及策略的及时有效,是一个符合基本直觉的做法。而在交易资产或者金融市场出现转折点时,转折点前后的优化结果会根据转折本身的特性进行变化,这样的做法就可以更好地应对这种性质或环境的突然转变。同时,市场虽然不停地变化,但是这种变化本身在大多数情况下又是趋于稳定的,因此从过往一段时间内提取出的数据特征和相应的策略在一次交易周期内仍然有很大可能是值得信赖的。
从操作的选择上来看,用来优化的时间段越长,则提取出的特征和策略就会由于数据量的增加而更加可信,而时间段越短,则提取出的特征和策略就越具有时效性,策略越灵活,也越容易快速地度过转折点前后的失效期。
本书主要讨论的是中低频的量化交易策略,由于交易频率较低,交易的及时性要求不是特别高,因此在使用量化交易策略进行每一次的交易判断之前, 用来进行策略优化的时间和计算空间往往是比较充足的,最近数据的延迟也基本可以忽略,因此量化交易策略的实际使用者会更倾向于做这样的优化处理。
相较于较为简单的样本外检验,推进分析可以在回溯测试的过程中更为精准地反映出这种实际的处理方式。每..次优化都推进一个周期的形式,实际上就是在回溯的环境下复制实际交易中每次判断前都优化策略的做法,这也是作者在第3章3.3节中曾经提到过的,让回溯测试环境尽量与真实交易环境保持致的最优解决方案。正是由于这种贴近真实交易的特性,在判断策略盈利能力时,推进分析下的模拟交易情况具有更高的参考价值。
当然,同样本外检验的初衷-样, 推进分析的首要目的实际上也是判断量化交易策略具有多大程度的过度拟合问题。仍然用图6-2来做演示,对于推进过程中的每一行而言,具体的操作都相当于一次样本外检验。如果回溯测试中所使用的量化交易策略的刻画超过了数据本身的内在特征,那么在所有样本内部分都会具有过度拟合的问题,实际的反应就是针对每一行的数据集, 灰色框的样本外检验结果都将大概率的劣于白色框的优化结果。当一个特征在每一行数据的检验过程中发生的概率较大时,将多行结果合并到一起就可能会出现统计上的明显表现。因此,假如量化交易策略并不具备挖掘数据内在特性的能力,也就是不具备真实的盈利能力或预测能力,那么综合所有灰色框一起考虑时, 整体结果就很可能会缺乏显著的盈利性或预测准确性。从上面的叙述中可以发现,推进分析的检验过度拟合和判断策略实际盈利能力这两个功能,在一定程度上是相互融合的。
同时,推进分析可以在回溯测试中较为有效地排除未来信息的存在。依然采用图6-2的例子进行说明,在每一行的数据集中,都是首先针对白色框的样本内数据进行优化,然后将优化后的具体交易策略代入与样本内数据无交集的样本外数据进行检验。这种回溯测试的方法完全不同于第4章和第5章中作者介绍择时策略、选股策略时所采用的简单框架,数据的优化和检验在时间轴上是分开而且具有严格先后顺序的.因此也就在很大程度上规避了回溯测试中存在的未来信息问题。总体来看,推进分析这一回溯测试工具比较全面地照顾到了第3章中作者介绍的几个需要注意的事项,是一个在研究量化交易策略时相对而言较为稳妥的解决方案。
在实际的量化交易策略研发中,有时候会由于使用的策略方法计算量过大而导致完全按照推进分析的流程进行检验出现困难。一般而言,样本内优化需要的计算量远远大于样本外检验的计算量,因此当出现计算量过大、计算机处理水平不足的问题时,可以通过降低最优化处理的频率来有效减小总体的计算量。图6-3基于图6-2中的示例,给出了一个经过改动的推进分析的例子用以说明。在这个例子中,仍然先基于周期1到周期5的数据进行优化,但在得到参数确定的量化交易策略之后,将其放置于周期6和周期7的数据上进行检验。也就是说,在周期7.上运行的策略同样也是经过周期1到周期5数据优化得到交易策略,那么图6-2中前两行的计算过程就简化为图6-3中的第-行的计算, 计算量几乎减少了一半。在图6-3中,第一行的数据处理完成之后,第二行中用来优化策略的是周期3到周期7的数据,样本外检验则包括周期8和周期9的数据,以此类推,每一次都推进两个周期。因此整体而言,计算量也就几乎减少到图6-2中推进分析的一半。
当然,这样的改动在节省计算量的同时,也会随之生成一些其他问题。首先,这样的回溯测试过程不能够再精细地体现出实际交易下不断优化更新策略的操作过程。当然,对于在实际交易中每隔一段时间优化一次策略的使用者而言,这样的改动反而能够更好地刻画现实情况,如何选择需要根据实际情况进行判定。最重要的是,在假设市场稳定变化的前提下,这样合并检验数据的做法会使得策略的有效性受到损害。
以图6-3为例而言,相较于图6-2中的标准推进分析过程,使用周期1到周期5的数据优化得到的量化交易策略,会由于交易资产和市场数据的变化而对周期7的数据适应能力变差,周期9、11、13下的检验情况也类似。因此,这样的改动虽然会降低量化交易策略回溯测试的计算量,但是也会同时增加判断策略真实能力的难度,在计算能力可以支撑的情况下作者并不推荐这种做法。
另一方面,如果实际交易也是间隔一段时间优化一次策略, 那么对于相隔较远的交易决策而言,策略的适应能力同样会降低,进而弱化盈利能力。鉴于在真实交易环境下优化操作只需要进行一次,因此硬件的计算能力往往并不是策略运行的制约因素之一, 在这种情况下,作者其实更不推荐在实际操作中降低中低频量化交易策略优化的频率。对于作者的这一观点, 读者可以自行进行判断。