量化选股策略的研发流程
图2-1中所展示的是一个较为松散的一般性框架, 用来总领性地说明量化交易策略的基本研发流程。在具体的策略研发过程中,这个框架经常会因为具体研发设置和策略设置的不同而产生变化。例如,当量化交易策略的主要作用不是在时间轴上选择具体的买卖时点,而是在同一个时间点上对多个资产进行选择和配置时,图2-1中的一些说明就显得有些含混不清。
在本书中,作者将在后面介绍的选股策略就是这一类策略中最为常见的形式,因此这里在整体框架不变动的情况下,针对图2-1进行了文字上的调整,用以说明量化选股策略的运行框架与研发流程。当然,使用选股策略的框架体系来处理多个资产甚至多个策略的挑选、配置也是可以的,在不复杂的情况下读者只需要稍做联想即可。
买卖和仓位虽然是更为通用的说法,;但是更适合于描述择时策略,放在选股策略的研发框架中会显得比较突兀,图2-2将买卖换成了选股,仓位则换成了配比,这样更容易让读者领会该研发流程的含义。实际上,对于每一期的选股而言,如果选择了原先没有仓位的股票,那么对应的操作就是买人该股票,如果已经建仓的股票没有被选入这一期的股票池,那么对应的操作就是卖出该股票。而配比则是在买卖的基础上,通过仓位大小的变化来实现具体配置。因此,选股和配比实际上可以算作买卖和仓位选择的特殊情况,只是这种说法更为贴合量化选股策略本身。
风险在量化选股策略研发流程中的具体含义则略有不同。由于选股策略的仓位操作涉及多个股票之间的配比问题,因此这里的风险不仅包括单只股票的风险,也涉及多只股票之间的风险程度,后“种风险一般采用股票收益之间的相关性来进行描述。例如在一般性的最优投资组合理论当中,经常使用协方差矩阵来刻画整个资产组合的风险水平。
虽然从实际情况来看,相关性这一度量方式与风险的直观感受之间有一定的差距,但是在多资产环境下,一般都将资产间的相关性视为风险的来源之一,这是一个偏学术的约定俗成的做法。
就实际意义而言,我们可以这样理解。当我们知道了一个投资组合中各个资产间的协方差矩阵之后,就可以根据公式计算出整个投资组合的方差,这代表了投资组合这-整体的风险水平。其他情况也是类似的,当我们已知多资产的风险和资产间的相关性程度时,就可以估算出投资组合整体的风险。
由于这种风险刻画的方式主要针对多个资产的投资组合,因此在第9章论述风险时并不涉及,而在第12章讨论投资组合决策时进行有针对性的说明,并在第13章介绍实际的量化选股策略时给出具体的协方差矩阵估计方法。
量化交易策略研发流程的变化形式
上面的例子是针对选股策略进行的文字上的变动,实际上量化交易策略研发流程的变化更多来自各个研发组成部分不同的结合方式。而不同的结合方式,对应的是策略研发过程中不同的月标和需求。
例如图2-1所介绍的松散的研发流程,是在确定好买卖行为和仓位设定之后,再针对实际交易中所产生的交易成本进行二次测试。这样的做法虽然简便易行,但是忽视了交易成本本身对于收益的影响,以及更进一步对于买点和卖点的影响。
因此,在确定买卖设置的步骤中就考虑交易成本的影响,应该是一个更贴近实际的研究框架。特别的,当某些情况下交易成本对整体业绩影响非常之大时,如交易频率较高的情况,这样的考量就显得很有必要了。
图2-3给出了相应的流程刻画,如图所示,在判断收益因素时,同时考虑交易成本对于收益的影响,从而优化出更为实际的买卖设置。再根据相应的风险控制,结合买卖点的选择,得出最后的仓位设置。在确定了买卖和仓位这两个部分之后,就获得了一个完整的量化交易策略。
图2-4给出了一个更紧凑、更贴合实际操作的量化交易策略研发流程。在该流程中,买卖和仓位的设置是同时作为参数进行优化的,优化的目标函数也进行了唯一化,即量化交易策略的风险调整后收益。而在确定需要优化的目标函数时,交易成本也如同上一个研发流程一样同时被考虑进去,从而保证买卖和仓位优化结果的准确性。
毫无疑问,相较于上面所涉及的研发流程,特别是图2-1中较为松散的研发流程,该量化交易策略研发流程的各个组成部分更为紧密,因此在优化过程中所产生的与实际操作的偏离也就越小,买卖和仓位设置的准确度也就更高。但是在实际工作中,如果想参照这一流程进行研发,
那么就需要比较强的计算能力,数据量的大小也要达到一定要求,同时优化方法和目标函数的设定要能够同时覆盖买卖和仓位的所有参数,因此往往也只有极为简单的策略可以采用这样的流程框架进行研发。例如后面会详细介绍的双均线策略,实际上是可以通过这样的研发流程来完成的,有兴趣的读者可以自行研发。