因本文涉及公式较多,建议大家点击文末“阅读原文”,或移步社区搜索“基于PLS的多因子合成及应用”进行阅读。
导读
A. 研究目的:本文提取25个财务、量价因子,利用PLS(Partial Least Square)方法合成因子,验证能否提升因子表现。参考《Aggregation of Information About the Cross Section of Stock Returns: A Latent Variable Approach》(原作者Light)中的研究方法。当面对多因子回归问题时,大家常选用OLS(Ordinary Least Squares)、WLS(Weighted Least Squares)方法,但这两种方法都要求因子间具有非共线性。而PLS(Partial Least Squares, 也称为Projection to Latent Structures)方法的优点是不再需要满足这个假设,PLS主要通过引入隐变量并做多步回归,回归结果会更为准确;但问题是隐变量的含义并不直观。
B. 研究结论:
用PLS合成因子,在HS300投资域,可以提高每期平均多空(long short)组合收益;
通过等权、等市值方法构建组合,测试回测效果。
C. 文章结构:本文共分为4个部分,具体如下,
数据准备和预处理。通过调用DataAPI或自算的方式,得到投资域内个股对应各期因子;
单因子分析报告。测试每期平均多空组合收益;
OLS合成因子测试。OLS合成因子作为一种baseline模型,方便后续对比;
PLS合成因子测试。验证通过本方法能否带来组合收益的提升。
D. 运行时间说明:
数据准备和预处理,需要20分钟
单因子分析报告,需要10分钟
OLS合成因子测试,需要30分钟
PLS合成因子测试,需要3小时
1第一部分:数据准备和处理
*该部分耗时:20分钟
我们先从DataAPI中提取&计算相关财务、量价原始因子,相互之间不做去除共线性的处理。该部分内容为:
提取论文中所述的25个传统财务、量价因子
缓存为pls/pls_single_factor.data,避免重复计算
25个传统财务、量价因子(因公式较多且不便展示,大家可点击文末阅读原文移步至优矿社区进行阅读):
(完整版可点击文末“阅读原文”获取)
2第二部分:单因子分析报告
*该部分耗时:10分钟
为了后续比较OLS/PLS合成因子算法,我们将每个因子分为5组,做多Q1并做空Q5,记录该因子每期平均收益及标准差。该部分内容为:
为每个因子进行单因子分析,包括覆盖度、分组超额收益、多空平均收益及标准差等;
将因子分为质量、技术、估值、成长等几大类,分别观察各类内因子覆盖度、分组超额收益。
(完整版可点击文末“阅读原文”获取)
从上图可见:
我们计算或提取的因子数据,在HS300投资域的覆盖度,大概可以达到90%以上;
部分期数覆盖率少于90%,是因为因子计算公式至少需要前N个月的数据做rolling,而uqer中相应财务因子从07年有值;
分组超额收益对比图,也可看出ROE,B/M,E/P,C/P等因子有正向的超额收益贡献能力,而S市值因子有负向的超额收益贡献(即小市值表现好);
平均对冲收益最高的为E/P因子,可以达到0.012左右。
3第三部分:OLS合成因子测试
*该部分耗时:30分钟
有了上述多个因子后,我们希望合成一个更有预测能力的alpha信号。通常做法是假设因子间已经不再共线,分别回归因子收益、个股预期收益,得到合成的因子值。再进行单因子测试,验证是否可以提升选股能力。该部分内容为:
利用OLS(作为评价基准/baseline)合成因子,得到每期因子预期收益后,测试分组long-short平均收益;
用不同历史期数的移动平均得到平滑后的因子收益,进一步回归得到每期个股预期收益(即合成后的因子),进行测试。
1、Baseline/OLS模型
2、实验环节
(完整版可点击文末“阅读原文”获取)
3、实验结论
我们的实验结果,由上表可见:
用过去12个月的因子收益平滑作为预测值,平均对冲收益最高为0.123,超过了第二章节的E/P因子,说明用OLS因子合成有效;
用的历史数据过多或过少,平均对冲收益都会变差。论文中显示用越长的历史数据,平均对冲收益会越好,可能是因为美国市场因子较为稳定。
4PLS合成因子测试
*该部分耗时 3小时,由于我们进行了多组实验
尽管第三部分的合成方法带来平均对冲收益的提升,但仍需因子间满足非共线性这一假设。故此,我们引出PLS合成因子的方法,并进行实验验证。该部分内容为:
引入隐变量,逐步回归因子在隐变量上的暴露,依次回归隐变量的因子收益,最终回归得到下一期个股的预期收益
针对隐变量的代理变量,隐变量收益,测试用不同周期历史数据平均值作为当期预测值,所带来的平均对冲收益变化。
关于PLS算法相关文档(点击文末阅读原文移步至优矿社区获取):
http://scikit-learn.org/stable/modules/generated/sklearn.cross_decomposition.PLSRegression.html
https://www.stat.washington.edu/sites/default/files/files/reports/2000/tr371.pdf
1、PLS合成因子
2、实验环节
(完整版可点击文末“阅读原文”获取)
3、实验结论
4、策略回测
接下来我们使用上步合成后的因子,每月初调仓,每次买入因子值排序靠前的60只股票。
(完整版可点击文末“阅读原文”获取)
5总结
我们对Light的论文进行了复现,从第四部分实验结论可得,PLS合成因子后能带来平均对冲收益的提升;
以沪深300为投资域,对合成后的因子,每月初调仓,做多排序前60的个股。通过优矿回测,表明能获得年化41%的收益,并且17年后比较稳定。
-- the end --
利用平台强大的资源,优矿特推出2018量化精英养成计划,培养最优秀的Quants,寻找夜空中最亮的那颗星!来自毕业于牛津大学、北京大学、香港大学等高校的地表最强量化金工团队,手把手带你从0到1玩转量化。点击下图了解详情:
(点击图片了解详情)
优矿是由通联数据出品,覆盖研究、回测、模拟、实盘交易全流程的量化平台。优矿不仅拥有通联海量的金融数据、动态丰富的策略框架,同时还通过知识库信号库提供持续的知识输出,满足用户在研究过程中高效获取、迅速验证、多维度挖掘、多策略并行的迫切需求,为投资决策提供重要支持。
扫二维码,立即预约试用!
↓↓↓ 点击"阅读原文" 【查看源码】