首发于 优矿金工 2020-06-22
A. 研究目的
:本文基于优矿提供的因子数据构建个股因子并探索将个股因子映射到行业构建行业轮动模型的方法,文中部分方法参考光大证券《基于股票因子映射的行业轮动方法》(原作者:胡骥聪)中的研究方法,通过实证分析该方法在行业轮动中的适用性。
B. 文章结构
:本文共分为4个部分,具体如下
- 一、数据准备和处理:个股因子映射到行业简介;利用uqer API获取研究所用的行情数据、个股因子数据、财务数据、行业分类数据;计算行业指数;
- 二、行业因子计算:个股因子映射到行业得到行业因子;
- 三、行业因子测试:结合行业收益率数据,对单因子和合成后的因子进行测试,测试内容包括计算IC、分组、多空收益等;
- 四、总结:对基于股票因子映射的行业轮动方法进行总结;
C. 研究结论
:
- 基于优矿提供的因子数据构建个股因子并探索将个股因子映射到行业构建行业轮动模型的方法,选出的单因子在行业轮动中表现均比较好,合成后的因子表现好于单因子的表现,周度IC为6.8%,IR为1.39,多空年化收益为43.3%, 相比全A指数年化超额收益达到44%。
D. 时间说明
- 本文共有四个部分,第一部分约耗时9分钟,第二部分约耗时20分钟,其它部分耗时均在5分钟以内,总耗时在35分钟以内
第一部分:数据准备和处理
该部分内容为:
- 个股因子映射到行业简介;
- 通过API取出所需要的数据:包括行情数据、个股因子数据、财务数据、行业分类数据;
- 计算行业指数;
1.1 个股因子映射到行业简介
个股结构层面的轮动实际就是选股,行业结构层面或风格结构层面上即是业界中的“行业轮动”或“风格轮动”。在个股层面上,多因子选股是主流的“轮动”方式,每个alpha 因子实际上都从一个角度表达了对股票截面收益的观点。由于每个行业都是由其相应的成分股组成,那么通过整合其成分股的观点来作为整个行业的观点,理论上也能达到行业层面的“轮动”效果。 在选取个股因子构建行业因子时,因子在逻辑上要在行业层面可比。我们挑选了20多个在个股层面有较强选股效果的因子作为底层因子进行尝试, 选出了5个个具有轮动能力的指标:
1)GREV:分析师盈利预测变化趋势,过去60个交易日内的DAREV符号加和;
2)FiftyTwoWeekHigh:当前价格处于过去1年股价的位置, 计算方法为个股当前价格与过去1年股价最小值除以过去1年股价最大值和最小值之差;
3)REVS250: 过去1年的价格动量;
4)gm_y: 毛利率同比;
5)dtar_y: 资产负债率同比;
上述5个因子在构建逻辑上去不受行业的影响, 因而在行业之间可以直接比较。
1.2 通过API取出所需要的数据
‘GREV’,‘FiftyTwoWeekHigh’,'REVS250’可以直接通过API取到数据,‘gm_y’、'dtar_y’两个因子在计算时需要先获取对应的财务项,然后再基于财务数据衍生得到。
![d6d356fbbdaa8617c5e47ff3a2c6d0ba.png](https://i-blog.csdnimg.cn/blog_migrate/9f8ce6751d4b817faec78b9c5f1ce98c.jpeg)
1.3 计算行业指数
1.3.1 通过API获取申万行业分类数据(已回填)
1.3.2 通过API获取个股行情数据
1.3.3 计算行业指数并绘制行业指数走势图
![db61b0288101d36765f430236c778449.png](https://i-blog.csdnimg.cn/blog_migrate/c0fdf08c0c4f1b4f7d498c9757e9d1a6.jpeg)
第二部分:行业因子计算
该部分内容为:
- 个股因子映射到行业得到行业因子的计算方法介绍
- 个股因子的处理:包括去极值、缺失值填充
- 行业因子生成
2.1 个股因子映射到行业简介
从股票因子映射成行业指标在逻辑上及构造上都非常容易理解:将行业的成分股股票因子通过一定加权方式求和即可得到该行业指标。为后文指代方便,通过这种方式构建的行业指标我们简称为SAMI(Stock Alpha Mapping Indicator)。
![409b118e770765159898eac863a2eece.png](https://i-blog.csdnimg.cn/blog_migrate/b6035b730ce88fe02fe14d233971d582.png)
下标 t 表示时期,i 表示个股;参数 sector 表示行业,alpha 表示个股因子;w表示权重. alpha 是经过预处理的个股因子值,需要进行如下处理: 1)个股因子不能做行业中性化处理 在股票因子构造中,我们经常默认进行市值与行业的中性化处理,使得因子ICIR 更高,选股效果更为稳定。但如果我们需要最终映射出的行业指标能反映出轮动信息,同时保有足够大的区分度,那中性化处理只会适得其反; 2)异常值处理 异常值不仅在个股选股层面会对alpha效果产生影响,如果不适当处理,在映射到行业后可能造成的偏差更为严重。由于行业池远远小于股票池大小,如果某个行业的某一只成分股权重很高,同时该成分股的因子值在量级上明显异常,那么构造出的该行业指标大概率明显异于其它行业,从而影响到行业轮动效果。 3)缺失值填充根据因子特征选用不同方式 因子所表征的意义不同时,对缺失值的填充方式应相应调整。一般采用的填充方式有三种:行业均值(中位数)填充、前值填充、补零填充。如果因子的缺失值是因为无覆盖造成的,则适合补零填充,例如分析师预期变化,对于没有分析师覆盖的公司,其预期变化补零更为合理。其它的场景基本用行业均值(或中位数)填充即可。
2.2 个股因子的处理
1)采用3倍标准差的方式去极值
2)对缺失值进行填充:分析师因子填0,其他因子按照行业行业中位数填充
2.3 生成行业因子
采用市值开方加权的方式生成行业因子
第三部分:行业因子测试
该部分内容为:
- 计算行业收益率、指数收益率
- 对单因子进行测试,测试内容包括计算IC、分组、多空收益、多头相对指数收益等
- 对合成因子进行测试,,测试内容包括计算IC、分组、多空收益、多头相对指数收益等
3.1 计算行业收益率、指数收益率
采用周度测试的方法,所以需要计算行业指数的周度收益率和指数的周度收益率
3.2 单因子测试
采用周度测试的方法,测试时间为2012年1月至2020年5月,测试内容包括IC、分组、多空收益、多头相对指数收益等
![63bc5fdf3336602fbc54d23d5fa94b53.png](https://i-blog.csdnimg.cn/blog_migrate/6b2a21a52621c7b631d52e45580287e7.jpeg)
![bcd242a3a0103adfa071a1b67157933e.png](https://i-blog.csdnimg.cn/blog_migrate/1a0e86ed2111f8b83927cc80e31037c6.jpeg)
![cc4bd2ad9ff3b2fe82a04fba7a12e834.png](https://i-blog.csdnimg.cn/blog_migrate/597d5230b3232f58cba2c1b810fb7f40.jpeg)
![9856e6f072818e1926da2d6cf6c217d8.png](https://i-blog.csdnimg.cn/blog_migrate/daa61a3552011f2d34d228b909b855ab.jpeg)
![465186f0bd98f13d2b10a88a330520c7.png](https://i-blog.csdnimg.cn/blog_migrate/7f7ba4632e7e9b7bca590ac02ed9f114.jpeg)
ic 统计:
![ef32050f31d8f5298986c2b0242a4369.png](https://i-blog.csdnimg.cn/blog_migrate/04fb4d944fffe7977f9cf7ddc5da756c.jpeg)
1)从5个因子的表现情况来看,价格类因子表现最好,FiftyTwoWeekHigh和REVS250周度IC分别达到6.1%和5.7%,多空收益为34.8%和21.1%;5个因子的IC的T值均在2以上,行业多头均明显跑赢全A指数; 2)从各分组的单调性来看,FiftyTwoWeekHigh因子值最大的分组表现并不是最佳的,但第一组和第五组区分度较好,总体分组区分度尚可; 3)从行业的选择来看,FiftyTwoWeekHigh因子在食品饮料上选择最多,钢铁、采掘上选择较少,从行业的走势上也可以看出,食品饮料板块近年来连续创出新高,而钢铁、采掘等周期行业持续表现低迷;dtar_y因子选择最多的行业大多属于TMT行业,行业内公司多处于成长阶段,有举债扩张的内在动力,从行业选择的时间序列来看,因子很好的捕捉到了18、19年通信行业的优异表现;gm_y因子能体现出行业毛利率的变化,从行业选择的时间序列来看,因子也捕捉到了19年至今由于非洲猪瘟影响,整个农林牧渔板块的高景气度。
3.3 合成因子测试
3.3.1 测试因子的相关性
![fbd1bb99f144350954e943a21f203772.png](https://i-blog.csdnimg.cn/blog_migrate/aa71019859a78330e1cef5062e37b0c5.png)
从因子相关性来看,只有’FiftyTwoWeekHigh’和’REVS250’的相关性超过0.7,其他因子之间相关性均比较低,所以合成因子时,价格类因子只保留’FiftyTwoWeekHigh’。
3.3.2 对以上5个因子做等权合成,测试合成因子的表现
![f3bfb05e6ecca6c4d56447466ad3cf71.png](https://i-blog.csdnimg.cn/blog_migrate/11f9d631ead802470e85c57bef9c55e1.jpeg)
ic 统计:
![49c9e1835bad11baca29cc3c498a9ddf.png](https://i-blog.csdnimg.cn/blog_migrate/eb7df1b34932b8462a1ea2bec56eb582.png)
合成的因子无论是IC、分组、多空、多头相对行业指数收益等都相比于单因子有明显的提升;行业多头选择最多的为食品饮料、计算机、传媒,空头选择最多的为采掘、有色金属、钢铁,从行业选择的时间序列也能看出,模型多头多次选择到了景气度向上变化的行业,如16年至今的食品饮料行业,19年至今的农林牧渔行业、14年下半年至15年上半年的非银金融行业、16年中至18年的钢铁行业等。
第四部分:结论
本文基于优矿提供的因子数据构建个股因子并探索将个股因子映射到行业构建行业轮动模型的方法,结果表明挑选出的5个因子构建的行业因子表现均比较好,IC的T值均在2以上,行业多空收益均大于8%,且多头均明显跑赢全A指数;合成的因子无论是IC、分组、多空、多头相对行业指数收益等都相比于单因子有明显的提升,因子周度IC为6.8%,多空收益43.3%,多头相对于指数的超额收益为44%;合成因子行业多头选择最多的为食品饮料、计算机、传媒,空头选择最多的为采掘、有色金属、钢铁,从行业选择的时间序列也能看出,模型多头多次选择到了景气度向上变化的行业。