当把因子做好,数据提出归一以后,我们就要做因子有效性,将无效以及有效冗余因子就应该做一个剔除,我们详细来看看具体操作情况:有效因子的检验一般检验方法主要采用排序的方法检验候选因子的选股有效性。
例如:可以每月检验
具体而言,对于任意一个候选因子,在模型形成期的第一个月初开始计算市场中每只正常交易股票的该因子的大小,按从小到大的顺序对样本股票进行排序,并平均分为n个组合,一直持有到月末,在下月初再按同样的方法重新构建n个组合并持有到月末,每月如此,一直重复到模型形成期末。
上面的例子就已经说明了这种检验的方法,同样的可以隔N个月检验,比如2个月,3个月,甚至更长时间。还有一个参数是候选组合的数量,是50支,还是100支,都是非常重要的参数。具体的参数最优的选择,需要用历史数据进行检验。有效冗余因子的剔除:
不同的选股因子可能由于内在的驱动因素大致相同等原因,所选出的组合在个股构成和收益等方面具有较高的一致性,因此其中的一些因子需要作为冗余因子剔除,而只保留同类因子中收益最好,区分度最高的一个因子。例如成交量指标和流通量指标之间具有比较明显的相关性。流通盘越大的,成交量一般也会比较大,因此在选股模型中,这两个因子只选择其中一个。
冗余因子剔除的详细操作步骤:假设需要选出k 个有效因子,样本期共m 月,那么具体的冗余因子剔除步骤为:
第一步:先对不同因子下的n个组合进行打分,分值与该组合在整个模型形成期的收益相关,收益越大,分值越高。
第二步:按月计算个股的不同因子得分间的相关性矩阵。
第三步:在计算完每月因子得分相关性矩阵后,计算整个样本期内相关性矩阵的平均值。
第四步:设定一个得分相关性阀值,将得分相关性平均值矩阵中大于该阀值的元素所对应的因子只保留与其他因子相关性较小、有效性更强的因子,而其它因子则作为冗余因子剔除。总结:当你把无效以及有效冗余因子剔除之后,你程序跑的才更加稳定,效果也会更好,回报概率收益率也会有一定提高。注意事项:多因子的模型最重要是两个方面:一个是有效因子,另外一个是因子的参数。例如到底是PE有效还是ROE有效;到底是采用1个月做调仓周期还是3个月做调仓周期。这些因子和参数的获取只能通过历史数据回测来获得。但是在回测过程中,要注意,不能过度优化,否则结果可能反而会不好。目前很多券商都可以开通量化,专业成熟的并不多。很多券商也是有资金要求门槛还有流量费的,那么这种零门槛的君若有需,随时详解,关注我,在线交流!