第二节 筛选有效因子...................................21
第三节 构建多因子打分法选股模型....................32
第五章 基于 Boosting 算法的因子选股.........................35
第一节 模型构建思路....................................35
第二节 基于 AdaBoost 算法的模型构建.................37
第三节 基于 GBDT 算法的模型构建...............................40
第五章 基于 Boosting算法的因子选股
第一节 模型构建思路
一、基本步骤
基于 Boosting 算法的因子选股模型的基本思路:相比于传统的多因子打分法选股模型,Boosting 算法将 19 个有效因子考虑在内,使用 Boosting 算法对每期的股票池进行筛选,对于分类算法,即对股票上涨或者下跌做一个二分类,由于上一章我们得到 19 个因子的 IC 值都是为负值,因此按照打分法所得到的总分进行升序排序,选择总分排名前 20%的股票和总分排名后 20%的股票,以历史股票因子值数据作为训练集,构建股票池。具体来说,在打分法构建股票组合的时候,月度股票按照打分法所得到的总分升序排列,排名前 20%的样本标签编为1,排名后 20%的样本标签编为 0,剔除掉中间的样本数据。这样一来,所有的样本集都会标上标签,从而转化为一个二分类的问题。基于 Boosting 分类学习算法在训练集上训练,将训练好的模型在测试集上进行预测,选取预测标签为 1中总分值最大的 60 只股票组成多头组合,预测标签为 0 中总分值最小的 60 只股票组成空头组合。
对于回归算法,即对股票收益率做一个非线性回归,选取回归预测值排名前20%的股票和预测值排名后 20%的股票构建股票池。具体为,将股票的 19 个因子作为样本特征,股票的收益率作为样本标签,基于 Boosting 回归学习算法在训练集上训练,将训练好的模型在测试集上预测,选取预测标签最大的 60 只股票组成多头组合,预测标签最小的 60 只股票组成空头组合。
对于训练集和测试集的划分,训练集从 2009 年 1 月开始到 2010 年 12 月所包含的所有样本数据,Boosting 算法用于对训练集进行训练,将拟合好的模型用于对测试集预测,从预测结果中构建多空组合,从 2011 年 1 月开始,以月度对股票进行调仓,每个月的最后一个交易日进行调仓,使用的收益率为月度收益。
第六章 总结与展望
第一节 研究结论
在量化投资领域迅速发展与机器学习技术不断更新的背景之下,无论是个人投资者还是机构投资者,量化投资在投资领域扮演的角色越来越重要。各种各样的量化模型也层出不穷。
本文使用沪深 300 成分股作为研究对象,使用传统的回归法和排序法来筛选有效因子,对得到的有效因子基于打分法构建传统的多因子模型,在模型回测期间策略的收益和风险评价指标表现均优于基准指数。接着,本文对传统的多因子模型分别使用 AdaBoost、GBDT 以及 XGBoost 算法进行优化,得到了如下的结论:
(1) 运用传统的多因子选股模型与 Boosting 类算法优化的多因子选股模型都能够很好地战胜沪深 300 基准指数,同时也说明了这四种模型的有效性与可行性;
(2) 将 Boosting 优化的选股模型与传统的多因子模型比较,可以发现基于Boosting 回归算法优化的选股模型在收益和风险评价指标上都表现得更好;
(3) 对三种 Boosting 优化的选股模型进行对比之后,发现 XGBoost 算法的表现最好,GBDT 其次,AdaBoost 算法表现最差,但他们的表现都优于打分法。
参考文献(略)