在量化交易中,多因子策略是一种常被提及且应用广泛的选股策略。我们会经常使用某种指标或者多种指标来对股票池进行筛选,这些用于选股的指标一般被称为因子。顾名思义,多因子模型是指使用多个因子,综合考量各因素而建立的选股模型,其假设股票收益率能被一组共同因子和个股特异因素所解释。
添加图片注释,不超过140字(可选)
一、数据预处理
在构建多因子模型之前,我们首先要准备好待检验的原始因子池以及它们的数据,并根据要求对它们进行初步的整理。
1.1基础数据采集
风格因子是指该种类因子具有一种独特的总体表现,根据Barra的定义可以分为9类,分别是Beta,动量,规模,盈利性,波动性,成长性,价值,杠杆率和流动性。每个大类因子里面还有细分的因子。除此之外,还有各种被探索出来的新因子,以期能更好的分析不同市场时期所展示的特征表现。
表1:部分初始因子池示例
1.2
离群值处理
离群值的处理方法是将其调整至上下限,其中上下限由离群值判断的标准给出。离群值的判断标准有三种,分别为MAD、3σ、百分位法,主要思路是先界定上下限,再将超过界限的离群值调整至上下限。比较常用的是MAD法。
1.3数据标准化
即使同属于一种风格因子,各个细分因子间的量级和单位也可能会有很大的差别。为了更好地对因子们进行比较和回归,我们需要对因子进行标准化处理。
标准化(standardization)在统计学中有一系列含义,一般使用z-score的方法。处理后的数据从有量纲转化为无量纲,从而使得数据更加集中,或者使得不同的指标能够进行比较和回归。
对因子进行标准化处理的方法主要有以下两种:
1、对原始因子值进行标准化;
2、用因子的排序值进行标准化。
实际上方法一更加常用,因为可以保留更多的因子分布信息,但是需要去掉极端值,否则会影响到回归结果。回归的方法一般使用z-score,将因子值的均值调整为0,标准差调整为1。
二、单因子检验
2.1特征分析
2.2中性化处理
2.2.1市值分析
除了暴露度的市值分析,我们也可以对因子的IC值进行市值分析,查看在不同市值区间中因子的IC值是否有显著变化。
2.2.2行业分析
与市值分析类似,我们需要对因子暴露度和IC值做行业分析,并观察其行业分布结果。如果表现出明显行业分布差异,则使用该因子进行选股时,可以采取行业中性化处理。
图3:行业、市值中性化处理对比图
2.3回归法分析
在进行回归法分析中,我们需要对数据进一步处理。除了在对数据进行标准化及离群值处理,我们还需要对因子的缺失值进行填补,从而提升回归结果的可信度。同时,由于可能存在小盘股的影响以及回归的异方差性,我们采用加权最小二乘回归(WLS),权重为个股流通市值的平方根。
如果因为出现缺失值就将该个股删除,可能会导致不同因子回归的股票池差距较大,或者导致股票池大大缩水。对于缺失值的填补比较常用的方法是设为0、均值、上下数据、插值法,和算法拟合进行填充。
评价方法:
a.t值绝对值均值:判断显著性
b.因子收益率大于0的占比:判断该因子对股票收益率的正向影响是否明显
c.t值绝对值中大于2的占比:判断显著性是否稳定
d.因子收益率零假设的t值:判断该因子的收益率序列是否显著不为零。
2.4IC法辅助分析
因子有效性是指因子是否可以获得持续、稳定的alpha收益。本部分主要使用IC分析及其衍生的指标对因子的有效性进行评估。
第一步,进行IC统计分析。
第二步,进行IC特征分析。
2.5分层回测
通过分组累计收益图,就可以简单的知道因子是否和收益率有着单调递增或递减的关系。回测结果有很多评价标准,例如年化收益率、夏普比率、信息比率、最大回撤等。
三、大类因子合成
3.2同种因子下的细分因子合成
四、构造模型
4.1确定因子权重
确定权重的方法有四种:
a.各因子等权处理。缺点是未考虑各因子的有效性和稳定性差异。
b.因子IC均值加权。此方法考虑到了因子有效性的差异,将在表现更显著的因子上分配更好的权重。
c.IR_IC法加权。此方法根据收益-风险这一基本准则,综合考虑到了因子有效性和稳定性。
d.最大化复合因子IR。通过最大化多因子模型的IR来获得各因子的最优权重,并利用求解构造最佳多因子模型。此处可使用普通的协方差矩阵或者Ledoit-Wolf压缩方法得到协方差矩阵。
通常而言,方法四即使用压缩矩阵最大化复合IR的权重配置方式的选股结果表现最佳。
4.2个股打分并筛选
在最开始的数据预处理中,已将各因子暴露度标准化,故可以通过权重算出个股的分值。根据打分后的结果,通常是按照一个比例(例如前30%),或者一个分值门槛作为筛选标准,买入评分高的股票。
此时可以通过简单的分配权重完成多因子模型构建,个股间的权重分配一般是等权,或者是按照市值大小进行加权得出。
五、组合优化
我们已经得到了打分法会使用到的基础数据,但这样很可能会出现我们不希望的情况,例如风险过多暴露在某一行业,所以需要对模型进行优化。
5.1添加约束条件
如果单纯地采取等权买入,风险可能会过多地暴露在某一不被希望的方面。常见的约束条件如下:
a.行业权重约束
b.因子暴露约束
c.个股上下限
d.收益目标
e.风险目标
其中最后两项一般用于回归法的多因子模型构建中。
5.2二次规划求解权重
其中:
H:需要求解的目标向量
Q:为最优化问题的二次项系数的对称半正定矩阵
c:为与线性目标方程有关的系数向量
A:为约束等式与非等式的系数矩阵
b:为约束值的向量矩阵
二次与线性最优化的问题都可以通过一般二次规划最优化程序来解决。对于线性最优化问题,只要令Q=0,则问题变成一个线性规划问题。
由此,我们已经得到了添加各种约束后的个股权重,可以由此建立相应的多因子模型。
结语:
通过上文的五个步骤,我们建立了以打分法实现的多因子模型,而实际上大部分的工作量主要集中于确定有效因子这一步。多因子策略也可以配合卖空对应的股指期货进行套保。