多因子选股分层回测

时间:2024-04-09 21:08:27

接之前的显著性分析和IC值计算

进行显著性和有效性的分析以后,可以初步判断因子对股票的收益是否有显著的影响;但是不能判断单调性,例如,某因子值排名在中间 1/3的个股表现比前 1/3 和后 1/3 的个股表现要好;但是分层回测法是可以确定因子单调性的。分层回测法逻辑简单,结果清晰,操作方便,并且具有能区分因子单调性的独特优势,是接受度非常高的一种单因子测试手段。

分层回测的步骤为:

测试模型构建方法如下:
1. 股票池、回溯区间都与回归法相同。
2. 换仓期:在每个自然月最后一个交易日核算因子值,在下个自然月首个交易日按当日收盘价换仓。
3. 分层方法:在每个一级行业内部对所有个股按因子大小进行排序,每个行业内均分成 N个分层组合。如图 4 所示,黄色方块代表各行业内个股初始权重,可以相等也可以不等(我们直接取相等权重进行测试),分层具体操作方法为 N 等分行业内个股权重累加值,例如图示行业 1 中,5 只个股初始权重相等(不妨设每只个股权重为 0.2),假设我们欲分成 3 层,则分层组合 1 在权重累加值 1/3 处截断,即分层组合 1 包含个股 1 和个股 2,它们的权重配比为 0.2:(1/3-0.2)=3:2,同样推理,分层组合 2 包含个股 2、3、4,配比为(0.4-1/3):0.2:(2/3-0.6)=1:3:1,分层组合 4 包含个股 4、5,配比为 2:3。

以上方法是用来计算各个一级行业内部个股权重配比的,也就是说,行业内部按照以上方法算出的股票的权重买入。

股票不同行业之间市值差别较大,在回测时,要按照行业市值对不同行业的个股配比权重。行业间权重的计算方法是:将沪深300成分股按照行业进行分类,对每个行业内股票市值求和,再除以沪深300成分股的总市值之和,得到行业的权重。

4. 回测过程:将股票按照申万一级行业进行分类,字行业内部按照因子值对股票进行排序,然后进行进行五分位回测(按照因子值将股票分位5组),将第i个行业中在分组1(或2/3/4/5)的股票*行业i权重买入,即实际回测时,行业间市值配比,行业内等权重买入。每个月最后一个交易日根据因子值对股票进行排序,下个月第一个交易日重新建仓,卖出不在相应分位段的股票,买入重新分入该分位段的股票,直到回测结束。

5.计算指标:回测年化收益率、夏普比率、信息比率、最大回撤、胜率等

多因子选股分层回测

 

总结一下就是:

将个股按照行业分类,按照因子值对个股排序;

行业内部:将个股按照权重累加值进行N等分;

行业间:将沪深300成分股按照行业进行分类,用行业i内个股市值之和/沪深300成分股市值之和作为行业i的权重;

将第i个行业中在分组1(或2/3/4/5)的股票*行业i权重买入,在测试期每个月最后一个交易日重新按照因子值对个股排序,在下个月第一个交易日调仓,直到回测期结束