1、什么是量化选股?


        每个投资者在投资生活中有着这样或那样的选股原因,有的着重看财务指标,比如只买PB小于2的股票,有的则喜欢依赖于技术分析,喜欢买入近12个月跌幅超过一定幅度的股票。量化选股并不神秘,它只是把您心中那个心照不宣的原因给标准化、在每个周期按照机械化的流程选出股票而已。



        就像Pascal语言之父N.Wirth提出的“程序=数据结构+算法”,实际上,量化选股的本质=因子+算法,因子就是你觉得影响股价变动的一个或多个原因;算法则是您心中遵循的那个原则。当您把心中认为影响股价的N个原因归纳成N个因子(每个因子都是个量化的数值),通过对这些数值加工整合,再严格按照心中的选股原则选出股票池时,您的行为就算是量化选股了。


2、什么叫因子筛选?


        可能您听说过因子筛选这个名词,这就好比您在择偶时,本来要参考5个因子:颜值、身高、气质、学历、脾气,后来发现5个因素全都考虑后,市场上剩下不了太多的“股票”了,于是您开始抓取主要因子,从中选股了代表性最强的、且相关性最低的3个因子:颜值、学历、脾气,这个过程就是因子筛选。



        因子筛选就是一个突出主要原因,忽略次要原因的过程,把心中认为影响股价最主要的因子赋予更高的权重,就类似人脸识别,用局部的高相似度预测整体的一种行为。


3、单因子选股vs多因子选股


        这就好比您在择偶时是用一个因素来选人还是多个因素选人。多因子选股基于单因子选股之上,在大部分情况下用多个原因选股总会比用一个原因选股要靠谱、稳定一些,但这个结论也并不绝对。比如:在某些小国,平均身高都很低,那么身高因子就没有什么效果了,加入择偶模型后反而降低了模型整体有效性,又如在乌克兰,平均颜值都很高,那么颜值因子择偶的效果也就不需要进入多因子体系了。

事实上,在A股市场过去10多年间,最靠谱的单因子选股毫无疑问就是市值因子,选小市值的票大概率能远远跑赢大盘,所以过去10年,多因子选股如果和市值因子选股比,就会逊色一些,但如果和其他诸如价值因子等因子比,就会优秀不少,所以从纯收益的角度看,多因子选股未必好于单因子选股,那为什么还要多因子选股呢?因为从平抑波动和回撤的角度看,多因子的确增加了更多稳定性,可以避免了某个单因子在一段时间内因市场风格切换而导致的持续失效。



4、什么叫数据预处理?


        量化选股通常遵循如下过程:


        其中第二步就是数据预处理。所谓数据预处理,大致包括几个步骤:

        1)去极值

        这非常好理解,就像跳水比赛或体操比赛中,通常会去掉最高分和最低分,在剩下的裁判打分中取平均值,同样的道理,对于某个单因子,3000多只股票就对应3000多个因子值,有些高的离谱,有些低的离谱,这些异常值就像跳水和体操比赛打分里的极端值,通常给予剔除的处理。

        2)因子值标准化

        试想一下如果小王同学用两个因子来择偶,一个是身高,一个是颜值,身高的取值范围在150-180cm,颜值的取值在0-10分,这两个因子的单位(量纲)都不同,自然不能够相加,这可怎么办呢,小王想了个办法,身高180cm对应10分,150cm对应0分,中间的身高对应得分则用下图的函数映射给出,这个过程就是因子值的标准化。



        3)市值、行业中性处理

        每个单因子对股价的影响力都有着千丝万缕的联系,比如市盈率因子与市值因子对股价都有影响,小市值的股票里也有市盈率低的股票,市盈率低的股票也不都是大票,怎么样才能剔除市值因子对市盈率因子的干扰,把市盈率因子对股价的影响单独拎出来呢?这就要用我们高中时学的射影的概念了,具体看下图:



        由图可见,把市盈率和市值因子看成两个向量a、b,市盈率因子可以分别投影到市值因子向量b上,和垂直于市值因子的直线上行程向量c,于是用向量c去代替原来的市盈率因子,这样就避开了市值因子的干扰,称为市值中性处理。同样地,把市值因子换成行业下标因子,进行相同的单因子射影处理,就称为行业中性处理。


5、选股的原则——核心的算法


        每个人心中的选股原则就像一个CPU、一个黑箱一样,充满了神秘。我们在把心中的原因因子化,并进行了预处理后,就要通过选股的原则选出最终的股票池了。

                
常见的选股原则有两个:


        1)多因子线性函数

        比如丁小姐在婚姻介绍所里依赖3个因子择偶,得出了5个候选人各自的3个因子值,并经过了数据预处理,由于丁小姐觉得颜值最重要,学历次之、身高第三,于是您给予这三个因子的权重分别是0.5、0.3、0.3,于是在列的维度上进行加权平均得出总分,并选出了总分最高的E先生准备一见。


        2)复合函数

        比如陈先生在婚姻介绍所里依赖3个因子择偶,得出了3个候选人各自的3个因子值,并经过了数据预处理,由于陈先生的怪癖,颜值低于7分或学历低于6分的都不考虑,于是根据下表,他的候选人就只剩B女士了。


6、为什么要因子轮动?


        俗话说:“花无百日红”,“天下没有不散的宴席”,要想构建一个相对持续有效稳定地多因子模型,等权重地分配给各个因子一定是不合适的,比如2014年11月券商股带动的大盘股行情,市值因子就会拖累选股模型的表现;创业板股灾前不顾高估值的疯牛也让许多估值因子死的很惨!所以如果内心相信10个因子,每次都等权分配,实际上就会让有效和失效的因子拥有相同的地位,无法突出重点,跟上大盘的风格切换。因此,为解决这个缺点,许多聪明的投资者想到了因子轮动,仍然是这10个因子,只是在每个季度、每个月或每两周,对这10个因子的权重进行动态地调整,不再进行一视同仁的“等权重”分配,让前期表现好的因子,超额收益衰减程度最低的因子赋予更高的权重,就像各个因子之间的接力一样。


7、量化选股的局限性在哪里?


        不论您是去挖掘新的因子,还是去动态轮动因子,不可避免的是,在大盘十分不给力的时侯,量化选股无法避免回撤和波动。最简单的例子就是去年的股灾,当全市场2000多只股票千股跌停时,您又“怎敌它晚来风急”呢!所以,选股里最大的谎言就是“我们有新的因子可以持续避免回撤”,因为这次避免了不代表下一次避免了。要永久地避免高回撤和高波动,仅仅凭借量化选股领域是无法做到的,这就需要另一大类策略——择时策略的辅助,或是股指期货、期权等对冲方案的保护。


8、量化选股与期权有什么关系?


        第7个小问里,我们提到了要控制选股策略的回撤和波动,唯有用择时辅助之。也就是当择时信号发出多信号时,根据既定的选股池买入操作,当择时信号发出空信号时,全仓卖出持仓,然而这样的缺点您可能一看便知,就是换手率太高,等于100%,如果择时模型反复切换多空信号,就会导致换仓成本太高,进而侵蚀已有收益。


        然而,天无绝人之路,这种同时享有上涨收益,又能防范下行风险的办法不是只有择时策略做得到,期权更是不二选择的工具。

相比于股指期货,用认沽的多头作保险可以在一定程度地防范下行风险的同时,保留股票带来的上行收益。举个简单的例子,买一份健康险如果遇到了伤病,你将获得一份赔偿金对冲健康风险,但如果每年健健康康的,无病无灾,那么我们仍然享受这健康身体带来的美好收益。保险策略的策略等式由下图所示:



如果您嫌弃保险策略的成本过高,那么您可以牺牲一部分上行收益,通过再卖出虚值认购期权构建领口策略进行套保,具体策略等式见下图:



下面分别是50ETF、以及某单因子下的股票池在期权对冲下的净值效果图。

1)50ETF多头+50认沽期权多头对冲


2)某单因子在50成份股中的股票多头+期权对冲