陈嬿兮(河南大学欧亚国际学院)
随着中国股市的快速发展,股票投资已经成为投资者最重要的投资渠道。因此投资者为了自身利益,应高度重视上市公司的经营业绩和股票本身的质量。股价是受到各种因素影响的,如当前经济发展水平、市场是否稳定、政治局面是否和谐等,也会受到投资技术和水平的影响;投资活动又会被股价的经常变动所影响。这样一来,投资者在股市的投资将会面临非常大的风险。总而言之,对股票进行聚类分析和因子分析可以帮助广大投资者分析当前股市基本情况,拓宽投资途径,也可以为投资其他金融产品提供思路。
本文主要运用的分析技术是聚类分析和因子分析。在对一些上市公司进行集中综合评估时,需要将一些关键性的指标进行规范化,然后使用R软件对其进行系统聚类分析,得到聚类谱系图,据此针对股份进行划分。接着运用因子分析方法来对多维变量进行了降维。目的是尽可能减少信息的损失,增强对原始变量的整体综合解释能力。
本文在2019年20多家郑州上市公司中,去除数据缺失的股票,共选取22家上市公司作为本次研究对象。选取上述公司2019年的每股收益(X1)、每股净资产(X2)、每股现金流(X3)、净资产收益率(X4)、流动比率(X5)、总资产周转率(X6)、营业总收入增长率(X7)和资产负债率(X8)8项财务指标进行分析,数据从东方财富网获得。
聚类分析又称群分析,是研究样本或指标分类的多元统计方法。我们所谓的“类”实际上就是一组类似的数学元素,严格对这些元素进行数学界限定义很麻烦。在不同的问题中,对于类的界定也是不一样的。聚类分析的研究内容十分丰富,按其聚类的途径和方法大致可分为:系统聚类法、动态聚类法、有序样本聚类法、模糊聚类法。本文采用了系统聚类方式进行了分析。
系统聚类法的基本思想如下:设有n个样品,每个样品测得m项指标。为了便于比较和计算或者改变数据结构,需要对数据进行变换(标准化转换、集中化转换、范围标准差转换等)。首先确定了两种样品间的距离(或者是相似度系数)和同一种类之间的距离。然后将每一个样品都看作是一种分类(即n类),这时两种分类之间的距离和样本之间的距离要求等价,再把距离最近的两种分类综合起来组成新的分类。在重新计算出一个新类和其它一个类之间的距离后,将两者中距离较小的一个进行了合并。这样,合并一次就会减少一个样本类,直到所有的样本都被合并为一个类。融合的过程通常可以使用谱系聚类图来描述。
因子分析法是多元化统计分析的一种减维分析方法,是对主成分分析的延伸及发展。因子分析把多个变量组合成若干个因子,在深入地研究了相关阵或者协方差矩形形式下的内部相关性基础上,揭示了最初的变量和因子之间的相关性。目前,因子分析技术在已经成功地应用到了社会学、心理学、经济科学等各门专业。
1.引入数据
以下为R语言代码:
>data<-read.csv(“C:/Users/ASUS/Desktop/1.csv”)#读取数据#
>n<-as.matrix(data)#将数据变成矩阵形式#
>is.matrix(n)#判断是否变成矩阵形式#
2.标准化处理
数据标准化是数据分析的基础工作。笔者选取的8项财务指标性质不同,维度和数量接也不同,如果不加以处理,就会影响数据分析结果。归一化是数据标准化中最简单的方法,其目的是将数字转换为(0,1)之间的小数,将有量纲的数据转换成无量纲的纯量,便于后续的综合分析。R语言的scale()函数可以进行上述工作。
>scale_1=scale(n,center=TRUE,scale=TRUE)#标准化变换#
3.系统聚类分析
首先用dist()函数计算样品间距离,再用hclust()函数进行聚类。这里选用最短距离法(single)、最长距离法(complete)、中间距离法(median)和类平均法(average)四种方法求样品间的距离,然后通过谱系聚类图进行比较,选出最优的聚类。
经过比较,发现用最长距离法求得样品距离得出来的聚类结果清晰。根据谱系聚类图,可以看出样品大致分为七类,利用rect.hclust()函数将聚类图的分类用框线画出来。
>plot(hc2);re=rect.hclust(hc2,k=7) #画出聚类图的七个框线#
图1 用最长距离法求得样品距离的谱系聚类图
谱系聚类图可以非常直观地显示聚类过程,也可以非常清晰地显示其数值分类结果,从中可以更好地了解各种股票的亲和力和疏离度。根据图1聚类的结果将这些股票分成三类:第7个值为一类,第6、16个值为一类;第2、5、8、12、20个值为一类;第3、13、14、15、19、22个值为一类;第9、10、18个值为一类;第1、21个值为一类;第4、11、17个值为一类。然而,仅仅通过聚类分析无法将这些股票与蓝筹股、绩优股、普通股或劣质股区分开来,因此需要进行因子分析。
1.判断提取的公共因子数
探索性因子分析最关键的就是确定提取的因子个数,这里R语言中“nFactors”包就提供了一套函数用于辅助确定因子个数:
>ev<-eigen(cor(scale_1))#获取特征值#
>ap<-parallel(subject=nrow(scale_1),var=ncol(sca le_1),
rep=100,cent=.05)#subject指样本个数,var是指变量个数#
>nS<-nScree(x=ev$values,aparallel=ap$eigen$qevpea)#确定探索性因子分析中应保留的因子#
>plotnScree(nS)#绘制碎石图#
图2 碎石图
图2中的横坐标反映的是各个因子,纵坐标对应各个因子的特征值,可以看出从第4个因子开始,它们的特征值几乎就没有变化了。所以从上图不难看出,选择三个因子是最佳的。
2.提取公共因子
可以使用R语言中fa()函数来提取因子,利用极大似然估计法提取未旋转的公共因子。
>fa<-fa(res,nfactors=3,rotate=”none”,fm=”ml”)#极大似然估计法提取因子#
图3 中,Proportion Var是方差贡献率、Cumulative Var是累计方差贡献率;其中方差贡献率的值越大,说明相应因子变量越重要,是衡量因子变量重要性的重要指标。累积方差贡献率是因子方差贡献和的累加,因子个数越多,累积方差贡献率越大。根据结果所示,3个因子累计解释了整个数据集的79%的方差。以不低于80%为累计方差贡献率的最佳值,79%的累计贡献率的解释效果说明较好,聚成3个因子用来解释变量的效果还是较好的,因此进一步对因子进行分析。
3.因子旋转
笔者选用正交旋转来旋转上面的结果。正交旋转将人为地强制3个因子不相关。
>fa.varimax<-fa(res,nfactors=3,rotate=”varimax”,fm=”ml”)#正交旋转#
结果显示因子变得更好解释了,X1、X2、X3、X7、在第一个因子上载荷较大,X5、X8在第二个因子上载荷较大,X4、X6在第三个因子上载荷较大。
绘制正交旋转后的图形如图4所示。
>fa.diagram(fa.varimax,digits=3)
4.因子得分
因子得分计算方式与主成分分析得分一致,用于解释潜在变量。当包含原始数据时,直接使用score()获得,据此计算的得分是标准化后的得分,而不是原始结果。
>pc<-principal(scale_1,nfactors=3,rotate=”varimax”,s cores=T)#因子得分#
根据各因子综合评价得分的计算结果,把各因子之间的方差和贡献率当做是一个权重,把各因子之间的关系进行线性化的组合就能够得到一个综合评估的指标函数:
根据上述公式,经过计算可以获得郑州市22家上市公司综合实力得分,如表1所示。
根据聚类分析我们仅仅只能得出来郑州市上市公司的分类,但是并不知道它们经营的优劣。结合因子分析,可以分析这些上市公司的综合实力,通过比较表1中计算出的各公司综合实力得分,可以得出以下结论:
第一类:思维列控是中国企业综合经济能力得分最高的,属于中国蓝筹股,其所获得的投资价值要远远超过其他企业,建议进行投资。
第二类:智度股份、天迈科技、设研院、新天科技以及安图生物,这些公司的综合实力得分低于第一类,但高于其他公司,而且都是正的,属于绩优股,其投资价值也相对较高,投资者也可以选择对其进行投资。
第三类:城发环境、四方达、宇通客车、中原高速、中原环保、太龙药业、豫能控股、新开普、三晖电气、汉威科技、光力科技、郑煤机、三全食品、辉煌科技,这些公司的综合实力得分非常接近于零甚至为负数,属于普通股,其投资价值一般,一般不建议投资。
第四类:棕榈股份以及郑州煤电,它们是综合经济能力非常差的公司,它们的综合评分均为负且较小,是一种劣质股,没有什么可以投资的价值。
表1 郑州市22家上市公司综合得分
综上所述,聚类分析与因子分析相结合,基本符合公司的实际情况,可以更准确地分析公司,为投资者投资股票提供更好的依据。
从郑州市二十多家上市公司的实例中可以看出,将聚类分析和因子分析结合使用来分析公司财务状况不失为一个好办法。此外,从多个重要的指标中提取少数因子,根据各家公司的得分来反映其盈利状况和发展前景,还可以将它们进行分类并给出中肯的评价。最后,多元统计分析有很多方法,共同使用聚类分析和因子分析可以得到更贴合实际的结果,这样不仅可以为投资者提供清晰的投资思路和建议,也可以为以后的投资活动奠定基础,减少投资风险。