这一章中,作者将向读者介绍最基本的择时策略是如何构成的,以及相应的一些实际案例。首先需要说明,这里所谓的最基本的择时策略,指的是只判断买卖、不涉及仓位优化的择时策略,图4-1通过灰色区域说明了基本的择时策略在研发流程中所处的位置。由于不考虑风险的问题,因此择时策略完全是通过优化收益情况来形成相应的买卖决策的。
另外需要注意的是,这一章的主要目的是为读者提供较为清晰易懂的量化择时策略案例以供入门,因此会在策略的优化过程中使用全样本数据进行设置的优化,并直接使用最优化下的买卖决策作为模拟交易的结果加以分析,这也是章名称取为“简单”的意思。这种做法会产生出未来信息的问题,希望读者暂时忽略,后面的章节中会有相关内容来处理这一问题。
一个基本的量化择时策略框架如图4-2所示,无论是回溯测试还是实际交易,每一次做出交易决策时,都根据决策时刻的已知数据,通过策略构建的分类器或分类函数将当前的状态分为两类。第一类,在分类为多的情况下,如果当前仓位为多头,则保持不变;如果不是,则通过买人操作将仓位变为多头。第二类,在分类为空的情况下,如果仓位为空头,则保持不变;如果不是,则通过卖出和卖空操作将仓位变为空头。另外,假如市场禁止做空,那么在分类为空的情况下,如果仓位为空仓,则保持不变;如果不是则通过卖出操作将仓位变为空仓。
这是一个相对而言比较简单的过程,期间不涉及对交易央策点之后收益情况的预测,交易决策仅仅和当前状态的分类有关,因此很多基于这种模式构造量化交易系统的从业者声称自己只跟随系统、不做预测。不过在作者看来,分类的做法本身暗含着对未来状态的分类,这种情况类似于一个条件预期的计算和判断,预测隐藏其中。当然,怎么理解一个框架是见仁见智的问题,并无优劣之分,量化交易策略的研究人员只需要明确自已的理念和判断即可。
有时候一个量化交易策略的使用者在整个交易的过程中并非只有买和卖这两种选择。例如在市场允许卖空的情况下,既不买也不卖、持币观望也是-一种很重要的做法。好在分类函数也并不是只能处理二分类的问题,通过组合多个二分类器或者直接引人多分类器,就可以将分类结果扩展为多种。图4-3的框架就加入了中立的类别,如果分类为多就保证仓位为多头,分类为空就保证仓位为空头,分类为中立则将仓位平掉保持观望。这实际上是图4-2中框架的一个顺理成章的演化,在大的思路不变的条件下,这个框架还能够进一步的复杂化, 从而适应具体的交易问题。
在图4-2和图4-3的量化交易策略框架中,分类器1分类两数的含义是比较广的。例如一个技术指标的使用,当该技术指标符合某一种判别形式时则看多,符合另一种判别形式时则看空,就是一种很典型的分类。对外部环境的判断也可以归于这样的框架之下,当交易资产的外部环境向好时则看多,当外部环境变差时则看空。对新闻事件的影响进行押注的交易策略也可以看作一种分类, 当某个特质的事件发生时就看多或看空,事件影响消失或者过去一段时间之后则分类回中立状态。
当然,只有使用量化的方法来对环境加以判断或者对事件加以处理,才能将其置于量化交易策略的框架之中。实际上,大部分的择时策略都可以纳人这样一个框架中,更复杂一些的择时 策略组成成分,如过滤器之类的辅助判别工具,可以看作分类技术的进一步细化。 而仓位建立之后的进一步加仓、 减仓、止损、止盈等手法,则可以看作分类类别更多的分类器所导出的结果。当然,在现实的量化交易策略研究当中,有时候把加仓、减仓当作另外一次开仓、平仓的过程来对待,然后将多次交易行为合并起来,可能会是一种更为高效的处理方法,逻辑上也更为清晰一些,不过这并不妨碍我们使用上面所述的框架来理解整个策略。
基本的量化择时策略还有一种比较特殊的形式,即基于对交易资产未来收益的预测来形成具体的交易策略,一个简单的框架如图4-4所示。图4-2和图4-3中的基本择时策略在表面上均不涉及对交易决策点之后收益情况的预测,交易决策仅仅和当前状态的分类有关。图4-4中的择时策略框架则不同,主要的工作往往就是在预期收益的计算和处理上。
由于这里讲解的基本择时策略不涉及风险的估计和仓位的设置,因此最后要做出的交易决策只包括买和卖。图4-4中就采用了一个简单的正负分类来判断多或空,如果预期收益为正则看多,如果预期收益为负则看空,买卖决策方面与图4-2中的情况相似。当然,也可以通过设定零上下的数值来形成多种分类,如同图4-3 一样判断出多、空、中立等类别,从而做出相应的交易决策。
需要注意的是,对于这一类的策略框架而言, 由于存在着预测未来收益这样一个中间步骤,因此在参数优化时既可以选择以收益预测模型拟合的最好为优化目标,也可以选择以整个策略最后得到的交易结果最优为优化目标。在实际的研究中一般都采用前一种优化方式,当然具体的选择仍需要针对具体的研究问题来加以判断。
从上述几种框架的特性出发,其实就很容易理解目前机器学习的一些算法在量化交易策略中不断应用的趋势了。机器学习和人工智能领域中一些在应用上较为成熟的算法,很多都是以分类为目标的,同时一些算法也可以用来进行非线性回归之类的拟合和预测,因此本质上就和量化交易策略的框架具有相容性。
但是即便如此,作者仍然不太认同行业中存在的拿来主义,一些量化交易策略的研究人员在没有搞清楚机器学习算法内在逻辑的情况下,简单地将现成的工具包直接套用到交易数据之上,其实是不可取的。例如使用支持向量机做分类,至少也应该先弄清楚使用支持向量机来判断类别所具有的优点和缺点,是否适用于自己的策略和实际情况。况且一部分机器学习算法在工业界的应用是有大规模的样本数据作为训练基础的,直接用来构造量化交易策略时,会有多大的可能性造成过度拟合,都是应该提前考虑的问题。