温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
因子
Alpha
系列
报告
三十六
机器
学习
动态
策略
识别风险,发现价值 请务必阅读末页的免责声明 1 1/3030 金融工程|专题报告 2018 年 4 月 26 日 证券研究报告 机器学习机器学习多因子动态调仓策略多因子动态调仓策略 多因子多因子 Alpha 系列系列报告报告之之(三十三十六六)报告摘要报告摘要:传统因子表现传统因子表现不佳不佳,因子择时因子择时大显身手大显身手 在历史上表现良好的规模、反转和流动性因子在 17 年以来都出现了明显的回撤,导致主流多因子选股策略表现欠佳。在这样的大背景下,如何把握 Alpha 因子的风格轮动,选择最有效的风格因子,成为重要的研究课题。基于机器学习基于机器学习的的因子因子择时择时框架框架 本报告选择常见的 7 个风格因子,通过机器学习方法,基于历史数据提炼因子风格轮动的规律,将因子 IC 历史信息、宏观经济变量、市场变量等信息作为特征,采用性能优良的 XGBoost 模型对因子未来的 IC 进行预测,来衡量不同风格因子未来选股的有效性。在因子配权时,赋予预期表现好的因子更高的权重,而减小预期表现不佳的因子的权重。基于基于机器学习的机器学习的多因子动态多因子动态调仓策略调仓策略 根据机器学习模型对不同风格因子未来一期 IC 的预测,对因子动态加权得到复合因子。根据复合因子得分进行调仓,等权买入复合因子得分最高一档的个股。与因子等权策略相比,因子动态调仓策略的换手率较高,导致多因子组合的部分收益被交易成本蚕食,降低每次调仓的换手率能够显著增强本报告提出的动态调仓策略。基于滚动样本训练的机器学习多因子动态调仓策略能够更好地追踪市场风格的变化,2014 年以来该策略累积收益率达到 107.89%,胜率达到63.21%,年化收益率达到 20.08%,最大回撤为 7.68%,信息比为 1.74,分别较因子等权策略和固定模型的多因子策略提高了 59.6%和 27.9%。结论结论 回测表明,限制换手率的多因子动态调仓策略的表现显著好于因子等权策略,而基于模型滚动训练的策略则进一步提升了策略表现,在胜率、年化收益率、信息比、最大回撤等各项指标上都显著高于因子等权策略。分年度来看,在市场风格稳定的年份里,基于模型滚动训练的多因子策略能够获得更高的超额收益,而在市场风格剧变的年份里,该策略也能做出相应调整,始终获得更好的表现。风险风险提示提示 本报告提出的机器学习多因子动态调仓策略基于历史数据进行回测,策略模型并非百分百有效,市场结构及交易行为的改变以及类似交易参与者的增多有可能使得策略失效。图图 1:机器学习:机器学习多因子动态调仓策略多因子动态调仓策略的样本外净值的样本外净值曲线曲线 图图 2:因子等权以及:因子等权以及两种动态调仓策两种动态调仓策略略的样本外净值曲线的样本外净值曲线 分析师:分析师:文巧钧文巧钧 S0260517070001 020-87555888-8400 分析师:分析师:安宁宁安宁宁 S0260512020003 0755-23948352 相关研究:相关研究:多因子 ALPHA 系列报告之(十二)-从 ICIR 角度探讨风格因子的均值回复性 2012-08-01 多因子 ALPHA 系列报告之(二十)-基于风格回复的多因子动态调仓策略 2014-08-25 多因子 ALPHA 系列报告之(三十五)-宏观视角下的风格轮动探讨 2018-04-08 -0.06-0.04-0.0200.020.040.060.080.10.1200.511.522.533.542014/01/062014/03/242014/06/062014/08/152014/11/032015/01/142015/04/012015/06/122015/08/242015/11/112016/01/212016/04/082016/06/222016/08/312016/11/182017/02/062017/04/192017/07/032017/09/112017/11/27对冲收益率多头净值对冲净值0.511.522.532014/01/062014/03/242014/06/062014/08/152014/11/032015/01/142015/04/012015/06/122015/08/242015/11/112016/01/212016/04/082016/06/222016/08/312016/11/182017/02/062017/04/192017/07/032017/09/112017/11/27500净值因子等权动态调仓(滚动模型)动态调仓(固定模型)识别风险,发现价值 请务必阅读末页的免责声明 2 2/3030 金融工程|专题报告 目录索引目录索引 一、背景介绍.4 1.1 主流因子历史表现.4 1.2 因子择时理论.5 二、因子择时框架.6 2.1 风格因子的选取.7 2.2 外部变量的选取.8 2.3 XGBOOST模型简介.9 三、多因子动态调仓策略.13 3.1 XGBOOST预测模型.13 3.2 特征重要性分析.15 3.3 模型预测效果评估.16 四、实证分析.19 4.1 多因子动态调仓策略实证结果.19 4.2 限制换手率的多因子动态调仓策略实证结果.23 4.3 模型滚动训练的多因子动态调仓策略实证结果.25 五、总结.29 识别风险,发现价值 请务必阅读末页的免责声明 3 3/3030 金融工程|专题报告 图表索引图表索引 图 1:主流因子历史累积收益率曲线.5 图 2:因子择时整体框架示意图.7 图 3:宏观因子处理前后分布对比图.8 图 4:CART 示意图.10 图 5:XGBoost 建树示意图.11 图 6:固定预测模型与滚动预测模型示意图.14 图 7:ROE 因子的 IC 预测模型(固定)特征重要性示意图.16 图 8:XGBoost 模型与风格动量模型的风格轮动秩相关系数对比图.17 图 9:因子等权策略的样本外净值曲线.20 图 10:基于风格动量的多因子策略的样本外净值曲线.21 图 11:基于 XGBoost 模型的多因子策略因子权重.22 图 12:基于 XGBoost 模型的多因子策略的样本外净值曲线.22 图 13:因子等权策略与动态调仓策略换手率对比图.23 图 14:不同换手率限制下动态调仓策略样本外的净值曲线.25 图 15:基于 XGBoost 模型(滚动)的多因子策略因子权重.26 图 16:因子等权策略与动态调仓策略(滚动训练)复合因子 IC 对比.26 图 17:基于模型滚动训练的多因子策略的样本外净值曲线.27 图 18:因子等权以及两种动态调仓策略的样本外净值曲线.28 表 1:常见因子历史 IC 统计表.5 表 2:所选因子及其分类.7 表 3:所选的外部变量及其处理方法.9 表 4:XGBoost 模型超参数.15 表 5:预测的因子 IC 与实际因子 IC 的平均绝对误差统计表.17 表 6:XGBoost 模型与风格动量模型的风格轮动秩相关系数.18 表 7:单因子选股与单因子择时选股表现对比.18 表 8:因子等权策略的样本外表现.20 表 9:基于风格动量的多因子策略的样本外表现.21 表 10:基于 XGBoost 模型的多因子策略的样本外表现.22 表 11:3 种多因子策略样本外的回测表现对比.23 表 12:不同换手率限制下动态调仓策略样本外的回测表现对比.24 表 13:因子等权策略和动态调仓策略的复合因子 IC 对比.27 表 14:基于模型滚动训练的多因子策略的样本外表现.27 表 15:因子等权以及两种动态调仓策略的回测表现对比.28 表 16:因子等权以及两种动态调仓策略分年度表现.29 识别风险,发现价值 请务必阅读末页的免责声明 4 4/3030 金融工程|专题报告 一一、背景介绍背景介绍 1.1 主流因子主流因子历史表现历史表现 多因子选股策略是A股市场最主流的量化交易策略之一,其本质是:市场中的个股行情会出现分化,对个股的分化特征进行提取得到所谓的风格因子。风格因子是Alpha收益的最终来源,而因子的有效性则直接影响Alpha策略的收益。通过对国内A股市场进行分析,我们发现在不同阶段,个股均出现不同的分化规律,这意味着A股市场长期存在Alpha。然而,股市是一个博弈的游戏,随着时间的推移和市场博弈,任何一个风格因子都不可能长期产生稳定的Alpha收益。在中证500成份股的备选池下,按月调仓,考察自2011年1月至2017年12月主流因子的表现,如图1所示,在历史上表现良好的规模因子、反转因子和流动性因子在17年以来都出现了明显的回撤,导致主流的多因子组合表现欠佳。本报告从常见的盈利、质量、成长、估值、规模、流动性、技术等7大类因子中各选择一个典型因子,表1统计了各个因子从2007年1月至2017年12月在中证500成份股内选股的IC值,其中负向因子的IC值取相反数进行调整,因而经过方向调整的IC值越大,表示因子选股的性能越好。如表1所示,速动比率、流通市值、月成交金额、一个月动量这四个因子在近一年的平均IC值较长期的历史均值有明显的降低,而ROE、ROE同比和EP这三个因子在近一年的平均IC值较长期的历史均值有明显的提升,这也说明了因子风格不是一成不变的。在这样的大背景下,如何把握Alpha因子的走向,动态地对选择最有效的风格因子,成为非常有意义的研究课题。国外的学者早在2000年以前就发现在美股市场,存在着明显的价值类因子(PE、PB等)和规模类因子(流通市值等)之间的风格轮动。G.Nalbantov,R.Bauer等人通过研究发现,因子风格轮动现象与系统的经济状况和市场状况有关。Keith Miller和Hong Li等人发现Alpha因子的有效性与动量、历史波动率等市场变量和原油价格、美元汇率等宏观经济变量紧密相关。本报告研究的是“因子择时”,通过机器学习方法,基于历史数据提炼因子风格轮动的规律,对因子的未来表现进行预测,在因子配权时,赋予预期表现好的因子更高的权重,而减小预期表现不佳的因子的权重。识别风险,发现价值 请务必阅读末页的免责声明 5 5/3030 金融工程|专题报告 图图1:主流主流因子因子历史历史累积收益率曲线累积收益率曲线 数据来源:广发证券发展研究中心,Wind 表表 1 1:常见常见因子因子历史历史 ICIC 统计表统计表 因子名称因子名称 因子因子方向方向 近近 1 1 年年 平均平均 ICIC 近近 2 2 年年平均平均 ICIC 近近 3 3 年年平均平均 ICIC 近近 1111 年年平均平均 ICIC 近近 1111 年年 ICIC标准差标准差 近近 1111 年年ICIRICIR 1 1 年年 ICIC 1111 年年 ICIC ROEROE 正 3.83 2.56 2.15 0.72 12.42 0.06 3.10 速动比率速动比率 正-0.62-0.39 0.66 0.68 11.22 0.06-1.30 ROEROE 同比同比 正 3.28 2.02 1.84 0.88 7.62 0.12 2.39 EPEP 正 4.95 4.84 4.06 3.01 12.14 0.25 1.94 流通市值流通市值 负-2.83 0.94 3.18 2.87 9.91 0.29-5.71 月成交金额月成交金额 负 2.41 5.98 6.55 5.87 13.55 0.43-3.46 一个月动量一个月动量 负 1.93 4.69 6.63 6.44 15.94 0.40-4.52 数据来源:广发证券发展研究中心,Wind 1.2 因子因子择时理论择时理论 市场上主流的因子择时方法主要有两大类。一类是从因子收益率时间序列本身出发,探究因子风格在不同的时间长度内可能存在的动量或者反转效应。因子IC指的是截面因子值与个股下期收益率之间的相关系数,能够反映因子提供超额收益的能力。多因子Alpha系列报告之(十二)从ICIR角度探讨风格因子的均值回复性中,我们实证了因子IC与ICIR之间存在显著的负相关关系,因此基于因子均0.811.21.41.61.822.22.4EPBPCSP流通市值总市值ROEROA流动比率速动比率ROE同比EPS同比一月换手率月成交量月成交金额一个月动量3个月动量 识别风险,发现价值 请务必阅读末页的免责声明 6 6/3030 金融工程|专题报告 值回复性的因子择时策略能够有效提高多因子Alpha策略的收益情况。而另一类,则认为宏观经济情况、市场情况等外部条件会对因子收益率有潜在影响,当给定这些外在条件的取值时,我们可以通过统计模型来预测因子未来的收益情况。影响因子风格轮动的宏观经济变量和市场变量有很多,比如CPI、汇率、国债利率、市场的波动率,等等。而且这些变量对因子收益率影响的方式各不相同,这种复杂关系很难通过线性模型来刻画。提升树模型是一个性能强大的非线性机器学习模型,相对于线性回归等模型,它不对输入特征的分布有过多假设,对异常值更加鲁棒,且能够学习到特征之间复杂的非线性关系。一般来说,我们可以通过对特征做交叉、采用核函数等方式,使得线性模型也能处理非线性问题,但是如何做特征交叉、选择什么核函数都需要人工干预,事实上要在模型学习前确定合理的特征交叉方式和核函数是很有难度的。而随着决策树的生长,提升树模型能够自适应地产生高度非线性的模型。此外,相对于神经网络等复杂模型来说,提升树模型的可解释性更强,可控性更好。因此,本报告中采用提升树模型来预测因子的有效性。本报告提出的基于XGBoost模型的多因子动态调仓策略是综合了以上两类因子择时思想,分别将因子IC序列本身、宏观经济变量、市场变量等信息作为特征,采用性能优良的XGBoost模型对因子IC进行预测,根据IC值动态调整各个因子的权值。二二、因子因子择时框架择时框架 在之前的多因子Alpha系列报告中,我们已经建立了一个完整的多因子Alpha选股模型,包括风格因子库的建立、风格因子有效性的检测、Alpha因子的整合以及组合优化和对冲等主要步骤。本报告主要侧重于Alpha因子的整合和赋权。如图2所示,我们首先选择了7大类常见的风格因子,然后将宏观变量、因子历史IC序列以及市场变量作为输入的特征,利用XGBoost模型来预测每个风格因子未来的IC值。在Alpha因子整合阶段,根据预期的IC值对各个因子赋权。识别风险,发现价值 请务必阅读末页的免责声明 7 7/3030 金融工程|专题报告 图图2:因子因子择时择时整体整体框架框架示意图示意图 数据来源:广发证券发展研究中心 2.1 风格风格因子因子的的选取选取 本报告从常见的盈利、质量、成长、估值、规模、流动性、技术等7大类因子中选取7个典型因子作为研究对象,所选因子如下表所示。表表 2 2:所选因子及其分类所选因子及其分类 因子类别因子类别 因子名称因子名称 因子描述因子描述 盈利盈利 ROE 净资产收益率 质量质量 速动比率 上期财报速动比率 成长成长 YOYROE ROE 同比增长率 估值估值 EP 市盈率的倒数 规模规模 流通市值 流通市值 流动性流动性 月成交金额 过去 20 个交易日成交金额算术平均 技术技术 股价反转 过去 20 个交易日涨跌幅 数据来源:广发证券发展研究中心 每个因子都采用分位数变换进行标准化,只保留因子排名信息,这种标准化方法的优点是可以避免极端值的影响。具体做法是,对于每一个因子,每只股票先根据因子值进行排序得到(,),这样,第i只股票在第j个因子上的取值为(,)=(,)其中N表示参与排名的股票总数。识别风险,发现价值 请务必阅读末页的免责声明 8 8/3030 金融工程|专题报告 2.2 外部外部变量变量的的选取选取 A股市场受市场交易行为以及宏观经济因素的影响较大,因此风格因子的有效性也与市场变量和宏观变量密切相关。本报告选择了6个市场变量,其中沪深300过去20日的涨跌幅和中证500过去20日的涨跌幅用来表征大小盘市场的强弱,沪深300过去20日的波动率和中证500过去20日的波动率用来表征市场波动性的高低,沪深300过去20日平均换手率和中证500过去20日平均换手率用来表征市场流动性的好坏。选择了7个关键的宏观经济变量:CPI同比、M1同比、M2同比、一周上海银行间同业拆放利率(SHIBOR1W)、PPI同比、PMI和美元兑人民币汇率。值得注意的是宏观经济类的数据通常在次月公布,因此实际应用时,此类数据有一个月的滞后期。此外,有些宏观变量在时间轴上的分布非平稳,不同时期的取值可能存在很大的差别,不具备可比性。如下图所示,2009年下半年M2同比创下新高,此后保持一种下降的趋势。可以通过对其作一阶差分,得到更加平稳的时间序列,使不同历史时期的取值具有可比性。假设因子Factor在第i个月取值为,第i+1个月取值为+1,则第i+1个月因子的一阶差分为diff=+1。此外,从实际的角度来说,人们有时候对变量取值变化的敏感度要超过对变量取值本身,因此差分处理是合适的。图图3:宏观宏观因子处理前后分布对比图因子处理前后分布对比图(%)M2 同比 M2 同比的一阶差分 数据来源:广发证券发展研究中心,Wind 不同的外部变量具有不同的分布特性,需要采取不同的处理方法,使他们具有相对合理的分布。对于本报告中所选的市场变量和宏观变量的处理方法如表3所示。51015202530352005/01/042005/09/292006/07/052007/04/022007/12/242008/09/172009/06/182010/03/152010/12/092011/09/012012/06/052013/03/042013/12/022014/08/252015/05/252016/02/192016/11/142017/08/08-4-3-2-101234562005/01/042005/09/292006/07/052007/04/022007/12/242008/09/172009/06/182010/03/152010/12/092011/09/012012/06/052013/03/042013/12/022014/08/252015/05/252016/02/192016/11/142017/08/08 识别风险,发现价值 请务必阅读末页的免责声明 9 9/3030 金融工程|专题报告 表表 3 3:所选所选的的外部外部变量变量及及其处理方法其处理方法 变量变量类别类别 变量变量名称名称 变量变量处理方法处理方法 市场市场变量变量 沪深 300 月涨跌幅 一阶差分 中证 500 月涨跌幅 一阶差分 沪深 300 月波动率 不处理 中证 500 月波动率 不处理 沪深 300 月均换手率 变化率 中证 500 月均换手率 变化率 宏观宏观变量变量 CPI 同比 一阶差分 M1 同比 一阶差分 M2 同比 一阶差分 SHIBOR1W 变化率 PPI 同比 一阶差分 PMI 一阶差分 美元兑人民币汇率 变化率 数据来源:广发证券发展研究中心 2.3 XGBoost 模型简介模型简介 提升(Boosting)是一种集成学习方法,它是基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家独立决定要好,实际上,就是“三个臭皮匠顶个诸葛亮”的道理。对于分类问题来说,给定数据集的情况下,求一个粗糙的分类规则比求一个精确的分类规则要容易的多,提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(也叫基本分类器),然后对这些弱分类器进行组合,最后构成一个强分类器。提升树(Boosting Tree)是以分类树或回归树为基本分类器的提升方法,它被认为是统计学习中性能最好的方法之一。多棵树的线性组合可以很好地拟合训练数据,能够刻画输入与输出数据之间复杂的非线性关系。因此它是一个高功能的学习算法,近年来获得了非常广泛的应用,在各大知名机器学习比赛上(例如国外的Kaggle平台,国内的天池平台),获奖选手几乎有一半以上都会使用到这个模型。由于提升方法应用广泛而且有效,关于这方面的研究很多,很多相关算法被提出,其中最具代表性的是AdaBoost算法和梯度提升算法(Gradient Boosting)。本报告采用的XGBoost模型是近年来非常火的一种机器学习模型,全称是eXtreme Gradient Boosting,由华盛顿大学的陈天奇博士发起,是梯度提升树的一种高效实现,曾经横扫Kaggle大赛。本节将对XGBoost模型做一个简单的介绍。2.3.1 决策树模型 CART分类器是一种流行的决策树模型,全称是分类与回归树(Classification And Regression Tree,CART),常被用作梯度提升树的基本分类器。CART每个节点只分裂成两个子节点,是一棵二叉树,可用于分类和回归问题。识别风险,发现价值 请务必阅读末页的免责声明 1010/3030 金融工程|专题报告 我们先引入生活中的一个简单例子来描述如何用决策树来处理回归问题。假如我们已知某个小区里N个居民的每周上网时长,每个居民分别对应年龄、性别、职业等特征,我们要预测某个未统计过的居民小王的每周上网时长。如图4所示,我们根据小王的年龄、性别等可以将其划入某个分组,假设该组里有n个样本,那么取这n个样本的均值来作为小王上网时长的预测值,这就是决策树回归。图图4:CART示意图示意图 数据来源:广发证券发展研究中心 下面我们来介绍一下用于处理回归问题的决策树生成的具体过程。假设X和Y分别为输入和输出变量,并且Y是连续变量,给定的训练集是 =(1,1),(2,2),(,)其中,=(1,2,),表示第i个样本的第j维特征。与图4所示的例子类似,一个回归树最终要把输入空间划分成K个空间(1,2,),在每个空间都有一个输出值,于是回归树模型可以表示为:()=()=1 其中当且仅当 时,()=1,否则取0。那我们怎么对输入空间进行划分呢?我们采用启发式的方法,选择第j个特征为切分变量,取切分点为s,则可以得到两个区域:1(,)=|和 2(,)=|对于寻找j和s,就是求解,1(1)2+2(2)22(,)1(,)对于固定的输入变量j,我们可以通过遍历可能的切分点找到最优切分点s。对于输出值,显然1=(|1(,),2=(|2(,)。这样遍历所有的输入变量,找到最优的切分变量j,构成一个对(j,s),依此将输 识别风险,发现价值 请务必阅读末页的免责声明 1111/3030 金融工程|专题报告 入空间划分成两个区域。接着对每个区域重复上述划分过程,直到满足停止条件为止。决策树的优势主要在于:1.训练速度快,使用简单;2.既可以处理离散特征,又可以处理连续特征;3.可以实现非线性分类和回归。但是如果决策树的深度太深,容易产生过拟合问题。一般我们可以通过设置树的最大深度、叶子节点总数的上限、每个叶子节点最少样本数、节点划分所需最小样本数等手段来控制过拟合问题,这些都可以作为决策树划分的停止条件。2.3.2 XGBoost模型的数学原理 以决策树为基本分类器的提升方法称为提升树(Boosting Tree)。XGBoost模型是提升树模型的一种高效实现方法,它不仅支持以CART为基分类器,还支持线性分类器。我们以一个简单的例子来说明以CART为基分类器的XGBoost模型在预测股票涨跌上的应用。假设输入为个股的对应因子值,如PE、PB、总市值、流通市值、月换手率、月回报率等,输出为20个交易日后股票的回报率,选择树的棵数M=2,则模型建立过程如下图所示。图图5:XGBoost建树示意图建树示意图 数据来源:广发证券发展研究中心 以上的例子是一个回归问题,常见的目标函数为平方误差函数,最后的预测值是每棵树上得分的总和。我们也可以选择交叉熵等函数作为目标函数,这样就可以处理分类问题。提升树模型(以下指代XGBoost模型)可表示为决策树的加法模型,采用前向分步法,首先确定初始提升树 0=0()=0,第t步求解的模型是:=()=1=1+()其中,表示总共t棵决策树组成的模型,()表示第t课决策树。识别风险,发现价值 请务必阅读末页的免责声明 1212/3030 金融工程|专题报告 求解第t棵决策树时,最小化以下目标函数:=(,)+=1()=1=(,1+()+=1()+其中,()表示决策树的复杂度。对上述目标函数在 1附近作二阶泰勒展开可得:=(,1)+()+122()+=1()+其中,=1(,1),=12(,1)如图5所示,每棵决策树都包含T个叶子节点,取值分别为1,2,那么第t棵决策树可表示为:()=(),:1,2,决策树的复杂度()定义为:()=+122=1 其中和分别都表示惩罚系数。然后,抹去常数项,我们将目标函数改写为:=()+122()+=1()=()+12()2+=1+122=1=()+12(+)2+j=1 其中表示属于第j个叶子节点的样本集合。上式是关于wj的一元二次方程,因此能够找到使目标函数取值最小的wj。定义:=,=,则可通过一元二次函数求极值的方式求出,当w=+时,目标函数取最小值:=122+=1。每一次决策树分裂时,一个节点分裂成左右两个子节点,该次分裂的信息增益可通过比较分裂前后目标函数值来表示,即:=2+2+(+)2+对于每个特征,事先已经按照特征取值,将所有样本排序储存起来。实际分裂时,遍历每个特征的每个可能的分裂点,使Gain值最大的特征及对应的分裂点即为该次分裂的最优切分变量和切分点。我们也可以给Gain设置一个阈值,只有当Gain 识别风险,发现价值 请务必阅读末页的免责声明 1313/3030 金融工程|专题报告 超过该阈值时,决策树才会分裂,否则停止分裂,这可以控制模型的复杂度,防止过拟合。2.3.3 XGBoost模型分析特征重要性 上一小节中讲到,决策树每次分裂时,都会从备选特征中选择使信息增益最大的特征和对应的切分点来作为分裂依据。而在整个提升树建立过程中,假设每棵树平均分裂k次,总共有t棵决策树,那么总的分裂次数为kt。在这个kt次分裂过程中,被用来当做切分变量的次数越多,说明该特征相对来说更重要。因此,提升树模型自带有分析特征重要性的功能。XGBoost提供了3种方式来作特征重要性分析:1)默认为方式为weight,即上文提到的,比较特征在整个建树过程中作为分裂依据的次数,这也是最常见的方式 2)gain,比较特征作为分裂依据时,使目标函数下降的平均值 3)cover,比较特征作为分裂依据时,平均的样本覆盖率。这是考虑到,通常情况下决策树都包含一定的深度,离根节点越近的节点处理的样本数越多,此时作为分裂依据的特征就更加重要。三三、多因子多因子动态调仓策略动态调仓策略 3.1 XGBoost 预测模型预测模型 因子择时的核心是动态地调整多因子组合中每个风格因子的权重,即赋予未来一期有效的风格因子更高的权重,赋予无效的因子更小的权重或者直接剔除。因子IC表示因子值与个股下期收益率之间的相关系数,能够反映因子提供超额收益的能力。IC的绝对值越大,说明因子取值与个股下期收益率之间的相关系数越高,选股能力越强。本报告选取7类风格因子,其中盈利因子(ROE)、质量因子(速动比率)、成长因子(ROE同比)、估值因子(EP)为正向因子,而规模因子(流通市值)、流动性因子(月成交金额)、技术因子(20日收益率)为负向因子。因此,本报告通过以下方式定义因子的有效性:对于正向因子,若未来一期因子IC0,则因子有效,且取值越大说明因子越有效,IC0则认为该因子无效;同理,对于负向因子,若未来一期因子IC0则认为该因子无效。如图2所示,本报告基于XGBoost模型,利用宏观变量、因子历史IC序列和市场变量等信息来预测每个风格因子未来一期选股的IC值,即预测个股下期回报率与因子当前取值之间的相关系数,然后根据预测的IC值对风格因子赋予权重。一般的,预测时间间隔越短,机器学习模型的预测能力会越强,但是短时间内 识别风险,发现价值 请务必阅读末页的免责声明 1414/3030 金融工程|专题报告 股票价格的涨跌幅度一般较小,可能不足以覆盖交易成本及买卖股票对市场造成的冲击。综合考虑到模型预测的准确程度和交易成本,本报告选择以周为换仓周期,机器学习模型也选择以周为预测周期,即在每天收盘时进行预测,预测中证500成份股5个交易日之后的回报率与风格因子当前取值之间的相关系数。在模型输入特征的选择上,本报告主要从因子历史IC序列本身及外部变量两个维度来提取,而外部变量又分为市场变量和宏观变量两部分。其中,从风格因子历史IC序列本身出发,我们提取了不同频率下(日频、周频和月频)每个因子上期的IC值,时间间隔分别为1天、5天和20天,总共得到21个特征(3*7=21)。其中,因子间隔5天的IC值表示中证500成份股过去5个交易日的回报率与5个交易日前因子取值之间的相关系数,其余不同时间间隔的IC特征与此类似。而外部变量包括6个市场变量和7个宏观变量,如表3所示。这样,整个模型共包含34个特征。此外,本报告对每个风格因子都建立了预测模型,因此总共有7个模型,模型输入为相同的34维特征,输出为下期的IC值。本报告中,多因子策略的选择股票池为中证500成份股,以2008年1月至2013年12月的市场行情为样本内训练数据,以2014年1月至2017年12月的市场行情为样本外回测数据。一般来说,对机器学习模型进行训练时,我们希望有更多的样本,这样训练得到的模型泛化能力更强、稳定性更高。但是,某些情况下市场风格比较多变,比较久远的历史市场行情可能与待遇测的市场行情差别较大。在这种情况下,相距比较久远的历史样本可能反而产生负面的作用,所以我们选择训练样本时,也需要考虑训练样本与待预测样本的关系。比如2017年以来,在历史上具有良好表现的规模、反转等因子表现不佳,我们希望模型能够在一定程度上跟随当前市场的特点。因此,如图6所示,模型的训练采用两种方式,一种是固定的预测模型,即模型在样本内训练完以后,不再更新;另一种是滚动预测模型,每个季度采用最新的数据更新模型,保持训练集样本数一致。样本内共有1456条样本,样本外共有972条样本。图图6:固定固定预测模型与滚动预测预测模型与滚动预测模型模型示意图示意图 数据来源:广发证券发展研究中心 识别风险,发现价值 请务必阅读末页的免责声明 1515/3030 金融工程|专题报告 在实际训练时,我们将样本内数据按照4:1随机切分成训练集和验证集,通过模型在验证集上的表现来确定模型的超参数。XGBoost模型需要调节的参数主要包括弱学习器数量(n_estimators)、学习率(learning_rate)、树的最大深度(max_depth)、子采样率(subsample)和特征随机采样比例(colsample_bytree)。最终的参数选取如下表所示。表表 4 4:X XGBoostGBoost 模型模型超参数超参数 参数参数名称名称 参数取值参数取值 n_estimator 通过验证集 early_stopping 确定 learning_rate 0.02 max_depth 3 subsample 0.8 colsmple_bytree 0.8 数据来源:广发证券发展研究中心 3.2 特征特征重要性重要性分析分析 在本报告2.3.3节中,我们介绍了利用XGBoost模型来分析特征的重要性。分类树每次节点分裂时,都会从备选特征中选择使目标函数下降最多的特征作为分裂依据。因此,特征被用来当作节点分裂依据的次数代表了特征的重要程度,即被用作分裂依据的次数越多,说明特征越重要。我们通过以下方式对特征重要性做了归一化:()=1 其中,N表示了特征的个数,表示第i个特征被用作节点分裂依据的次数。每个特征的相对重要性等于该特征被用来作为节点分裂依据的次数比上总分裂次数。在这里,我们以ROE这个因子对应的IC预测模型为例,分析特征的重要性。如图7所示,中证500波动率和M1同比增长率是相对来说最重要的特征,这也说明了我们将市场变量和宏观经济变量纳入模型特征是很有必要的。在某些情况下,我们可以设定一个阈值,将相对重要性低于这个阈值的特征删除,有时候能够起到抑制过拟合、加快模型训练速度的效果。而在本例中,特征维数不大,且没有相对重要性显著低于其他的特征,因此不作特征筛选。识别风险,发现价值 请务必阅读末页的免责声明 1616/3030 金融工程|专题报告 图图7:ROE因子的因子的IC预测预测模型(固定)模型(固定)特征特征重要性重要性示意图示意图 数据来源:广发证券发展研究中心 3.3 模型模型预测效果预测效果评估评估 为了评估XGBoost模型的预测效果,我们选择了四种评价指标,分别是因子IC值的平均绝对误差、风格轮动的秩相关系数、单因子择时选股效果以及多因子动态调仓策略效果。3.3.1 因子IC值的平均绝对误差 考虑到模型预测周期较短(5个工作日),风格因子具有一定的动量效应,我们拿上一期因子的IC值作为下一期IC值的估计值,将这个估计值作为基准,来比较模型的预测效果。我们选择的指标为平均绝对误差(Mean Absolute Error,MAE),即:=1|=1 其中,分别表示预测值和真实值,N表示样本外的样本数。模型在样本外的预测结果如表5所示,相对于基于动量效应的因子IC估计值,XGBoost模型预测得到的IC值与实际IC值之间的平均绝对误差明显更小,平均的误差降低率在20%左右。00.010.020.030.040.05ROE同比_1DIC300rewardEP_20DICEP_1DIC500rewardEP_5DICROE同比_5DIC流通市值_1DICSHIBORCurrency流通市值_20DICPMI流通市值_5DICROE_5DIC300turn月成交金额_5DIC500turn一个月动量_20DICPPI月成交金额_1DIC月成交金额_20DIC一个月动量_1DIC一个月动量_5DIC速动比率_20DIC300volROE_20DICROE同比_20DICCPI速动比率_1DICM2ROE_1DIC速动比率_5DICM1500vol 识别风险,发现价值 请务必阅读末页的免责声明 1717/3030 金融工程|专题报告 表表 5 5:预测的预测的因子因子 ICIC 与与实际实际因子因子 ICIC 的的平均平均绝对绝对误差统计误差统计表表 因子名称因子名称 风格风格动量动量 X XGBoostGBoost 模型模型 误差误差降低降低率率 ROEROE 0.1332 0.1046 21.51%速动比率速动比率 0.1250 0.1023 18.20%YOYROEYOYROE 0.0808 0.0631 21.84%EPEP 0.1435 0.1205 16.06%流通市值流通市值 0.1082 0.0854 21.05%月成交金额月成交金额 0.1651 0.1256 23.95%股价反转股价反转 0.1681 0.1291 23.21%数据来源:广发证券发展研究中心,Wind 3.3.2 风格轮动的秩相关系数 因子IC指的是截面因子值与个股下期收益率之间的相关系数,能够反映因子提供超额收益的能力。本报告提出的多因子策略根据模型预测得到的IC值给各个初始因子赋权,因此与因子IC类似,在这里我们定义风格轮动的秩相关系数,它代表了在横截面上,7个风格因子的IC预测值与实际值的秩相关系数。这个值越大,说明预测效果越好。如果风格轮动的秩相关系数为0,说明预测结果是随机的。从图8和表6从可以看出,XGBoost模型预测得到的因子IC值与实际值之间的秩相关系数在样本外的平均值达到18.19%,显著高于风格动量模型的7.79%,这说明模型能够很好的预测因子IC值之间的相对大小关系。图图8:XGBoost模型与风格动量模型模型与风格动量模型的的风格轮动风格轮动秩相关系数秩相关系数对比图对比图 风格动量模型 XGBoost 模型 数据来源:广发证券发展研究中心,Wind -1.5-1-0.500.511.52014/01/022014