APP下载

基于朴素贝叶斯的量化选股策略研究
——以有色金属行业为例

2018-09-13

新商务周刊 2018年14期
关键词:贝叶斯朴素季度

1 模型介绍

1.1 朴素贝叶斯

贝叶斯定理是在250多年前发明的算法,在信息领域内有着很高的地位。经典的贝叶斯定理如下:

P(B)是先验概率,是指根据以往经验和分析得到的概率;

P(A|B)是条件概率,是指在事件A发生的条件下,事件B发生的概率;

P(B|A)是后验概率,是指根据以往经验和分析得到的概率。

朴素贝叶斯是经典的机器学习算法之一,是基于经典的贝叶斯原理和特征条件独立假设的分类方法建立的。它是基于一个简单的假定:给定目标值时属性之间相互条件独立,这也是朴素贝叶斯被称为“朴素”原因。

对于每个数据样本,用属性集X={X1,X2,……,Xn}来描绘样本的n个属性,用分类集C={C1,C2,……,Cm}来表示数据样本的m个分类,结合贝叶斯定理,有下式成立:

当且仅当

1.2 朴素贝叶斯的假设

朴素贝叶斯模型有两个假设:一个是所有变量对分类均是有用的,即输出依赖于所有的属性;另一个是这些变量是相互独立的,即不相关的。拿分类问题举例,用样本x(假设是一个n维的向量),我们要求P(y|x),来估计所属的类别y。根据贝叶斯公式,可以得到:

对于朴素贝叶斯,既然条件独立,那么就可以把我们要求解的这个式子写成下面的样子:

2 朴素贝叶斯在多因子选股中的应用

本研究在利用朴素贝叶斯进行选股时,利用了数据集i=1,2,...,d代表的是特征值的个数,c=1,2,...,n代表样本的个数。至于 k=1,2,...,m代表的则是股票的种类。由于我们是通过基本面数据进行测算的,因此公司的各个特征,即不同的财务指标是呈离散状态分布的,基本满足常见的概率分布。由于这种朴素贝叶斯方法最重要的是概率的顺序而非准确的概率值是多少,所以无论它的分布方式是连续的还是离散的,对于决策的偏差不会有太大的影响。

本研究中,在每一个因子下,都将股票分为了三类。因此在训练集中,有些因子的取值可能并不在其中,但是这不并代表这种情况发生的概率为0,因为未被观测到,并不代表出现的概率为0。所以朴素贝叶斯分类概率估计时,通常要进行平滑处理,常用拉普拉斯修正来解决这个问题。拉普拉斯修正的含义是,在训练集中总共的分类数,用 N表示;di属性可能的取值数用 Ni表示,因此原来的先验概率 P(c)的计算公式由:

被拉普拉斯修正为:

类的条件概率P(x|c)的计算公式由:

被拉普拉斯修正为:

测试结果经过拉普拉斯平滑修正之后,避免了因为训练集中某项概率为零而导致的最终求出的结果概率为零,起到了修正的作用。

3 模型测试流程

3.1 数据获取

(a)股票池:从全部的沪深300股票中剔除了已退市股票后,挑选出有色金属行业的股票。

(b)滚动回测区间:2016-1-1到 2017-12-31

3.2 特征和标签提取

利用数据挖掘对股票的未来走势进行预测主要有两个方面,一是通过分析基于股票市场的时间序列数据;二是通过分析上市公司的财务报表对股票的基本面进行挖掘。股票的走势取决于公司的发展情况,因此可以通过公司的财务报表进行分析。

在原始特征上,调取了开源的python财经数据接口包Tushare中基本面季度财务数据,包括盈利能力、营运能力、成长能力、偿债能力、现金流量六大方面,共30个因子。为了保持时间上的一致性,在标签提取上,计算季度交易最后一天收盘价与季度交易第一天收盘价的差值和季度交易第一天收盘价的比率并排序后,将处在前2 5%的有色金属行业股票认定为高收益的股票,而后75%的股票认定为低收益股票。

3.3 特征预处理

3.3.1 主成分分析(PCA)

主成分分析利用降维的思想,使得数据在低维下更容易处理、更容易使用。相关重要的特征更能在数据中明确的显示出来,更能去除数据噪声。主成分分析把原始数据经过线性变换,导出少数几个主成分,使它们尽可能多地保留原始数据的信息,且彼此间线性无关。

通过对每期训练集中所有的因子进行数据标准化,计算所有因子的协方差矩阵,求出协方差矩阵的特征值和特征向量,选择包含信息最多的8个特征向量。

3.3.2 分箱

朴素贝叶斯算法要求分类输入,且减少输入特征的不同值的数量,算法性能可能会提高。对于主成分分析降维后的每个数值型因子,通过分箱法中的三分位数分级方法,分为低、中、高三组股票。

3.4 滚动训练集和交叉验证集合成

机器学习的交叉验证一般是将样本数据进行划分,一部分作为训练集样本,剩下的作交叉验证数据。而本模型中涉及的样本是基于时间序列的季度财务指标和盈利率,在交叉验证时,如果某个季度的指标一部分被分进了训练集,另一部分被分进了验证集,就会出现用已知结果进行预测的“偷看”行为。因此,本文在训练和验证模型时,采用了基于时间序列的交叉验证方法。

图1 时间序列的滚动回测训练模型

模型中的样本长度为9个季度。首先将第1季度的特征作为训练集,第2季度的盈利率作为验证集,对其贴标签并分类。然后将第2季度的特征作为训练集,第3季度的盈利率作为测试集进行分类,以此类推,直到最后将第8个季度的数据作为训练集,第9季度作为测试集。在数据的训练和验证过程中,完成了9轮滚动回测,不断优化模型,使预测结果更准确。

基于时间序列的交叉验证法虽然对计算的要求较高,但使用这种方法不仅可以避免训练和测试样本重合所导致的模型过拟合,也能最大程度利用样本,为机器学习提供最多训练数据。

3.5 构建投资组合

为了更好的了解,应当如何分配投资一个股票组合中每只股票的比例,我们需要按照市值对每一只股票进行加权。其实这种思想在现在的股票投资市场中非常常见,投资者使用某一种指数来确定自己的投资比例,而其中在中国内地的股价指数最为常用的是市值加权指数。

3.6 回测结果

通过回测,我们得出超额收益率(alpha)=0.0503,年化超额收益率(yearalpha)=0.0252,信息比率(IR)=0.3845,夏普比率(sharpe)=3.2067,根据结果,我们发现超额收益率高于基准收益沪深300指数,年化超额收益率在绝大多数情况下高于基准收益率,同时其信息比率和夏普比率都较高。因此我们可以得出该策略优于大盘具体运行结果如下:

图2 朴素贝叶斯模型绩效分析

4 总结与展望

4.1 投资建议

由于本研究在进行数据回测的过程中发现,每一次测试出的股票组合存在一定的差异性,为了减小误差,我们在多次测试之后,选取出多数情况下权重比例都大于0.1的10支股票进行推荐。

根据模型的回测结果,投资者可以考虑北方稀土[600111]、江西铜业[600362]、中金黄金[600489]、山东黄金[600547]、驰宏锌锗[600497]、西部矿业[601168]、金钼股份[601958]、铜陵有色[000630]、云铝股份[000807]。

在朴素贝叶斯模型中,将30个基本面财务数据的特征因子经过主成分分析后,降维成8个主要特征因子,以股票的季度收益率为标签分类。经过训练,回测后,以市值加权指数法构建投资组合。在回测期间,超额收益率基本高于基准收益沪深300指数,。

我国有色金属行业生产运行总体平稳。虽然供给过剩、成本上升,科技创新和拓展应用有待加强,行业仍有风险,但受到消费转暖、环保趋严及供给侧结构性改革等多方面因素的影响,有色金属市场行情走势向好。考虑到中美贸易战,中短期的投资者可以投资黄金等关联股票。考虑到新能源汽车行业的发展态势良好,长期的投资者可以关注钴锂等关联股票。

4.2 模型缺陷

虽然该贝叶斯选股模型的回测表现良好,但是不可否认,模型依然存在着一定缺陷,其中主要有三类问题。

如上文所述,贝叶斯假设成立的条件是特征之间相互独立。而在多因子模型中,以多个季度的财务指标为预测标签的特征之间却相互不独立,部分指标间(如毛利率和净利率)还存在着较高的相关性。这将导致两个高度相关的特征在训练过程中被带入模型两次,使得此特征在模型中的权重大大增加,导致预测结果有所偏差。

模型中使用了主成分分析对各特征进行降维、降噪和去冗余,但是该方法存在两处不足:一是综合评价结果与选取的特征的相关程度高低成正比。当特征间相关性较低时,每个主成分投射于结果维度的信息量越少,为满足累计方差贡献率达到85%以上水平,可能需选取较多的主成分,此时降维的作用就不明显。二是主成分分析只是一种“线性”降维技术,只能处理线性问题。而在对特征进行降维时,不仅特征间可能有非线性关系,主成分与原始数据之间也可能呈非线性关系,如果简单地进行线性处理,必然导致评价结果产生较大程度的失真。

[1]严井池.浅析供给侧改革对我国有色金属行业发展的影响[J].中国金属通报,2017,2016(8):66-67

[2]李静梅,孙丽华,张巧荣,等.一种文本处理中的朴素贝叶斯分类器[J].哈尔滨工程大学学报,2003,24(1):71-74.

[3]任民宏,肖海蓉.基于朴素贝叶斯分类算法的股指预测研究[J].陕西理工学院学报(自科版),2014(3):68-73.

[4]叶双峰.关于主成分分析做综合评价的改进[J].数理统计与管理,2001(02):52-55+61.

[5]赵蔷.主成分分析方法综述[J].软件工程,2016,19(06):1-3.

猜你喜欢

贝叶斯朴素季度
2021年第4季度航天器发射统计
2021年第3季度航天器发射统计
2021年第2季度航天器发射统计
隔离朴素
基于贝叶斯定理的证据推理研究
基于贝叶斯解释回应被告人讲述的故事
朴素的安慰(组诗)
他是那样“笨拙”和朴素——30多年后,我们为什么还需要读路遥?
最神奇最朴素的两本书
租赁房地产的多主体贝叶斯博弈研究