基于特征工程的“高送转”预测模型构建

    刘仁辉 李毓丽 刘淑敏 郑菲

    

    

    

    摘要:近年来,虽然我国证券市场中的高送转题材受到了中小投资者的追捧,同时也产生了一些市场的乱象,导致投资者容易去盲目的炒作高送转。但是对高送转股票的预测模型中,很多都会采用了主观性比较强烈的打分排序法以及 Logistic 回归分析的方法进行构建高送转股票预测的模型。该文深入分析了对于高送转股票影响程度比较大的影响因素,采用机器学习中特征工程的方法,分别用了 Filter 过滤法与 F 检验法筛选出影响因素的因子,构建出高送转股票的预测模型是支持向量机 SVC 模型,并采用了2020年第八届泰迪杯数据挖掘挑战赛中提供的股票样本数据对模型进行了数据处理后的验证。实证后的结果显示,模型正确率在84.26%以上,模型预测准确度最高可达54%。

    关键词:高送转;特征工程;支持向量机模型

    中图分类号:TP311? ? ? 文献标识码:A

    文章编号:1009-3044(2021)17-0224-02

    开放科学(资源服务)标识码(OSID):

    1 背景

    高送转股票在近几年的证券市场当中是中小投资者比较热捧的股票之一。高送转股票一般是需要每10股送转5股(包括5股)以上的股票才能称为高送转,它是一种高比例送股或者高比例转股,简称高送转[1]。从投资者的角度来看,实施高送转的股票是会被看好的,如果在该股票实施高送转之前提前介入市场,并在公司公布当年分红政策后再卖出,可以获利不菲[2]。所以,针对可以赚取更高的收益,这就需要针对公司预测哪些股票能够实施高送转,因此最关键技术是预测高送转公司的成功概率。

    本文尝试用特征工程中的Filter过滤法以及F检验法来筛选对高送转股票影响较大的影响因素,通过构建支持向量机预测高送转的模型。此方法相对于市场上比较常用的打分排序法,对指标选取以及权重分配的主观性,能够通过特征本身的方差来筛选特征的类,去除方差很小的特征,寻找两组数据之间的线性关系;并通过检验值去除特征没有显著线性关系的因子,而对于影响因素较大的因子,通过构建支持向量机模型进行预测,能够比较各个特征因子对于高送转行为的影响程度,从而筛选出影响比,并对未来实施高送转的股票概率进行统计。

    2 研究设计

    2.1 Filter 方法与 F 检验法

    Filter方法是通过特征本身的方差来过滤筛选特征的类。Filter特征选择是制定一个准则,衡量每个特征对目标特征属性的重要程度,以此来对所有特征进行排序,剔除方差为零的特征,舍弃所有方差小于threshold的特征。

    F检验法是由英国统计学家费雪提出的,通过双检验,对两个样本的总体方差进行比较,寻找两个样本之间的线性关系,假设“数据不存在显著的线性关系”,通过 F 值与P 值统计量来比较特征与标签之间的线性关系,保存P值小于0.05或者大于0.01的特征,删除P值大于0.05或者小于0.01的特征。

    2.2 影响实施高送转的因素

    首先对高送转行为进行一个量化,变量名为gsz,如果上市公司实施了高送转,gsz=1,否则,gsz=0。影响上市公司高送转的因素很多,包括市场的环境、财务的状况,股票价格和监督政策等。通过Filter过滤法以及F检验法的特征筛选以及数据处理后,我们可以得出对高送转有较大影响的因子有16个,分别是:平均股价、每股未分配利润、每股净资产、每股现金流量净额、个股120日beta值、个股120日还手率、带息流動负债、净债务、营运资本、净利息费用、息前税后利润、企业自有现金流量、固定资本、实收资本、成交量和带息债务。并将16个因子作为因变量进行模型建立,分析与预测。

    2.3 高送转预测模型的构建

    支持向量机是一种分类算法,也是一种二类分类模型,可以做回归[3]。根据输入的数据不同可做不同的模型,本模型通过输入标签为分类值做分类,样本的数据给了7年的数据,通过对这7年的数据进行一个划分,将前6年的数据作为训练集,第7年的数据当作测试集,支持向量机借助训练集以及测试集进行训练,训练过后会得到模型的一个准确率。然后引入算法来建立支持向量机的模型,并选取 SVC模型中的 rbf 方法,选择rbf方式下的调参优化模型,提高学习机泛化能力,实现经验风险和置信范围的最小化,获得良好统计规律的目的。rbf 核函数:

    [K(xi,xj)=exp (-(γ(i)-γ(j))22σ2])

    当γ(指本式中的[σ])比较小时,单个样本对整个分类超平面的影响比较小,不容易被选择为支持向量,反之,当γ比较大时,单个样本对整个分类超平面的影响比较大[4],更容易被选择为支持向量,或者说整个模型的支持向量也会多。

    3 数据来源与处理

    3.1 数据来源与选取

    样本数据选取了2020 年第八届泰迪杯数据挖掘挑战赛中提供的股票数据作为样本。该样本数据中提供每家公司七年数据(包括日数据和年数据),预测第八年会实施高送转的股票,将选取第七年作为样本测试集,前六年作为样本训练集。

    3.2 数据处理

    由于数据并未进行数据处理,避免影响模型预测,首先对样本数据进行噪声数据的处理,将不规范的数据统一处理为规范的数据,删除或者补全基于给出数据当中的缺失值,在缺失值和异常值处理之后,为了消除计量单位和数量级不同的原因,对变量进行数据标准化[5]的去量纲处理。

    4 实证分析

    4.1 影响因素的筛选

    4.1.1 Filter方法的筛选

    在模型建立之前,特征工程要做的是优先消除方差为0的特征。利用此方法的特性,对于选取的第七年的数据整合日数据和年数据,利用Anaconda 3.7进行数据的分析,在分析之前,整合表中的因子字段数据剩余的156个因子,通过Filter过滤法的分析后,经过特征的筛选,将一些很相近的以及没有什么用的因子进行剔除,最后得到的数据集当中还剩余82个因子字段,并以此作为数据集,如图1,为之后进一步筛选做准备。

    4.1.2 F检验的筛选

    F 检验会返回F 值和 P 值两个统计量,p 值小于 0.05 或大于 0.01 的特征,这些特征与标签是显著线性相关的,而 p 值大于 0.05 或小于0.01 的特征则被我们认为是和标签没有显著线性关系的特征,应该被删除。通过 Anaconda3.7 进行F 检验由 82 个特征筛选剩下16个因素,如图2所示。

    4.2 影响因素的因子

    基于对样本测试数据的Filter方法和F检验的筛选剩下16个因子,分析结果有:平均股价、每股未分配利润、每股现金流量净额、个股120日beta 值、个股120日还手率、带息流动负债、净债务、营运资本、净利息费用、息前税后利润、企业自由现金流量、固定资本、实收资本、成交量、带息债务、每股净资产这16个因子。

    4.3 模型建立与结果

    首先把gsz 当成自变量,将上述筛选出的16个因子作为因变量进行支持向量机SVC模型预测。首先将7年的样本数据进行划分,将前6年的数据作为训练集,第7年的数据当作测试集进行训练,训练过后我们会得到模型的一个准确率。然后对此来引入算法建立支持向量机的模型,算法模型代码如图3所示。

    训练集通过rbf训练,通过调参后引入算法模型,最终得出模型的準确率为84.26%,模型准确度提升了15.74%,如表1所示。

    根据定义好每10股送5股(包括5股)作为特征指标进行预测,得出了第八年预测上市公司会实施高送转的股票534支,对比第八年的高送转实施公司数据,成功实施高送转有288支,准确率达 54%左右。

    5 结束语

    本文基于Filter过滤法和F检验法做数据处理,同时对比所筛选的因子对支持向量机模型准确度的影响程度,得出显著的影响因子有平均股价、每股未分配利润、每股净资产、每股现金流量净额、个股120日beta值,个股120日还手率,带息流动负债、净债务、营运资本、成交量等16个影响较大的因子,最后根据前七年数据,进行第八年上市公司实施高送转的行为预测,并列举出了前三十名股票编号。通过该模型对高送转构建预测模型,得出合理的预测,降低对投资者盲目投资,能够进一步地降低投资的风险。

    参考文献:

    [1] 胡宸.基于集成学习的上市公司高送转预测模型及投资策略设计[D].上海:上海师范大学,2019.

    [2] 陈欣.上市公司高送转如何预测[EB/OL].[2020-09-20].https://xueqiu.com/8635721061/32627533.

    [3] OraYang.支持向量机(SVM)的分析及python实现[EB/OL].[2020-09-20].https://blog.csdn.net/u010665216/article/details/78382984.

    [4] svm核函数gamma参数_RBF SVM 参数解读 | gamma 和 C 如何对应模型表现[EB/OL].[2020-12-30].https://blog.csdn.net/weixin_39943220/article/details/112364241.

    [5] 李思铭,林志杰,陈文,等.基于数据挖掘的上市公司高送转预测[J].北方经贸,2020(12):131-134.

    【通联编辑:谢媛媛】