基于梯度提升树的多因子投资模型

2021-12-10 02:48徐凯赵旋王杰平严芬芳胡文芳
现代计算机 2021年30期
关键词:梯度标的排序

徐凯,赵旋,王杰平,严芬芳,胡文芳

(1.贵州财经大学信息学院,贵阳 550025;2.贵州财经大学大数据应用与经济学院,贵阳 550025)

0 引言

国内A股总市值成长迅速,从20世纪90年代仅仅24亿元,8个公司上市,GDP占比0.13%,到2020年A股上市公司规模居世界第二,共计83.83万亿元,有4112家公司上市,GDP占比增长为66.41%[1]。全球资产和财富管理规模,预计将从2016年的84.9万亿美元增长到20251年的145.4万亿美元[2]。随着国内、外投资市场的发展,对投资策略的研究和需求迅速增加。

Fama等人[3]最早提出因子投资模型,通过实证研究影响美国股市回报率的因素,发现市盈率。市值以及市值比这三个因素会影响美国股票市场的回报率。大量的投资策略研究基于Fama等人的因子模型。Wendong等人[4]使用遗传算法对因子特征进行加权,分别增大和减少影响较大和影响较小因子的权重,同时结合支持向量机模型,建立了GA-SVM多因子选股模型。该模型可以识别股价波动趋势,通过对中国A股数据进行模型验证,可以有效识别出股价的波动趋势。相关研究表明,更多的因子有利于提升投资模型的表现。Fama等人[5]进一步,采用五因子模型,整合了投资、盈利指标,研究发现,运营盈利能力较高且总资产增长率较低的公司具有高于平均水平的回报。Chen等人[6]结合深度信念网络和卷积神经网络的优点,通过深度信念网络构建多个隐藏层,增强模型的学习能力,通过卷积神经网络提升数据的特征提取能力,将模型用于预测股指期货价格变动,预测精度达到了60%以上。

相关研究已经证明多因子投资模型的有效性,如何更好的选取因子值得进一步研究。但多数的研究提出的因子分析模型往往较为复杂,可解释性不够明确。例如利用支持向量机或者深度神经网络进行因子分析,往往无法直观地看出因子对模型的影响。Chen[7]等人利用可解释性更强的随机森林模型,构建了结合随机森林模型,以及情感分析的投资模型RF-SA,获得了比上证指数更高的收益率。梯度提升树模型作为一种可解释较强的机器学习模型,可以有效地对投资因子进行分析。本文结合梯度提升树和多因子分析模型的优点,用以解决投资决策问题。首先构建出投资因子,然后通过信息增益对因子进行排序,对投资因子进行排序分析,最后通过梯度提升树模型对投资标的进行分类。通过设计合理的交易策略,分析近一年半的A股数据,对3101只股票进行了投资分析。和上证指数的收益相比,本文提出的投资策略收益高出20%,能够较好的提升投资收益。

1 梯度提升树模型

1.1 属性划分评估

信息熵定义如公式(1)所示,可以度量样本集合纯度。若样本集合A的第i类样本比例为P i(i=1,2,…,m),则A信息熵IE(A)定义为:

这里信息熵IE(A)值越小,则A纯度越高,显然IE(A)最小值和最大值分别为0和log2m。假设属性集为C={a1,a2,…,a N},即对于属性a,取值有N个,属性a有N个分支结点,这些结点划分了样本集A。序号为c的分支结点定义为Ac。

属性a的信息增益Gain(A,a)如公式(2)所示。其中分支结点的权重为

决策树属性划分选择通过信息增益评估,如公式(3)所示。通过计算出最大的信息增益选择出对应的属性。

1.2 梯度提升树

使用先验信息来初始化分类器,分类器初始为F0(x),如公式(4)所示,其中训练样本中的y=1占比为P(Y=1|x)。

损失函数负梯度r m,i如公式(5)所示,m=1,2,3,…,M。

最佳拟合值c m,j如公式(6)所示。使用回归树拟合数据(x i,r m,i),其中i=1,2,3,…,N,第m棵的回归树下的叶子结点为R m,j,其中j=1,2,3,…,J m,J m为第m棵回归树叶子结点数量。

通过公式(7)计算出分类器F m(x):

通过公式(8)计算出最好的分类器F M(x):

分类模型最后的计算形式如公式(9)所示。

2 多因子投资模型

2.1 多因子投资模型

多因子投资模型通过使用多种指标,用来对投资标的进行评估,评估指标也称为评估因子。多因子模型假设投资的收益率,会受到因子指标的影响。多因子模型需要先研究因子选取策略,根据选取的多个因子,通过设计因子分析模型,得到最终的投资标的评估结果。多因子投资模型通过投资标的共有的相关因子,可以建立有效评估模型,可以对众多投资标的按照评估模型的评级进行排序,从而组合出最优的投资策略。

对于多因子投资模型的建立,首先要选择有效的因子,在备选的因子里,找到对投资优化具有积极作用的因子。然后分析投资因子对投资收益的影响,通过量化投资因子影响,对多个因子进行排序,因子的排序依据根据公式(2)的信息增益的计算方法,换算出对决策树分裂的权重。最后通过模型对投资结果进行综合分析,综合考虑交易成本,因子的选择和排序,利用梯度提升树算法,计算出投资标的是否适合投资,最后确定投资标的。

2.2 投资标的选择依据

本文投资标的以股票为例。首先加载股票数据,根据每只股票的因子,结合梯度提升树模型,输入历史股票价格来训练模型的参数,评估收益率在10%以上、远期20天所有股票的概率。阈值我们定义为0.6,高于阈值则符合投资预期。如果不符合设置的条件,就放弃这只股票。

每天都进行交易分析,其中持续持股最多不超过20天,每次买入20%的仓位。持股的止盈和止损点分别进行设置,止盈点为15%,止损点为-5%。最后计算出所有符合交易条件的股票的概率,对概率大小的进行排序,从大到小买入。

3 实验

3.1 数据获取和标注

3.1.1 数据获取

通过wind数据库,获取wind股票数据。数据涵盖了近一年半的A股数据,日期从2020年1月1日至2021年8月13日,总共有3101只股票入选股票池,模型训练数据从2020年1月1日至2021年4月30日,回测时间从2021年5月1日至2021年8月13日。股票数据主要包括:

(1)股票基础信息。

(2)日线数据,含股票的开盘价、收盘价、最高价、最低价、换手率等。

(3)所有股票的每日涨停跌停情况。

3.1.2 数据标注

通过标注每只股票,我们将投资的选股模型定义为分类问题。这里我们把20天平均最高收益在15%以上,同时把亏损在-5%以下的股票,标注为True,其他的股票标注为False。

3.2 投资模型效果验证

3.2.1 因子重要性分析

对数据进行训练后,对特征重要性进行分析,图1为投资因子的重要性排序结果图。其中,换手率、个股成交量的历史前1天和2天、当日最高价个股收盘价历史前1天、当日最低价、成交量、涨跌停数,重要度比较大。

图1 投资因子重要度排序结果

3.2.2 投资收益分析

投资收益(Reurns)通过公式(10)进行计算,其中Pstart和Pend分别是投资模型开始和结束时所持有的总价值。

我们设定投资的初始资金为10万元人民币。在一年半的A股数据中,对股票池中的3101只股票进行投资分析,交易日期区间设置为2021年5月1日到2021年8月13日。

投资收益的情况部分统计结果如表1所示。从表1中可以看出,按照投资模型的分析结果,选择符合投资条件的股票进行持有和卖出,可以有效地筛选出正向收益的股票。同时,由于股票市场具有高风险、高收益的属性,对于股价下跌的股票,模型会根据预先设定的止损方案进行及时止损,避免扩大损失。

表1 投资收益部分示例表

对投资模型的收益进行分析,这里对比的基线为上海证券交易所综合股价指数收益。如图2所示,投资策略的收益超过了上证指数。

图2 投资策略的收益趋势

从投资策略的收益趋势图可以看出,模型在开始的时候稍好于上证指数收益,在第10个交易日到第18个交易日之间,略低于上证指数。在第20个交易日后,和上证指数相比,策略收益高出接近20%,可以看出模型可以显著提升投资收益。

4 结语

本文首先通过信息增益,对投资因子进行排序分析,然后根据预先设定的交易策略,结合梯度提升树模型,对投资标的进行分析,筛选出符合交易策略投资标的。通过分析近一年半的A股数据,梯度提升树多因子模型收益高于上证指数20%以上。提出的投资模型可以有效提升投资收益,同时模型可以有效对因子进行分析。该模型可广泛应用在投资决策问题上,用于解决投资标的选择等问题。

猜你喜欢
梯度标的排序
作者简介
恐怖排序
一个具梯度项的p-Laplace 方程弱解的存在性
内容、形式与表达——有梯度的语言教学策略研究
节日排序
航磁梯度数据实测与计算对比研究
红周刊绩优指数100只标的股一览
红周刊绩优指数100只标的股一览
红周刊绩优指数100只标的股一览
红周刊绩优指数100只标的股一览