1、实验四 上市公司财务报表数据的因子分析(王学民 编写)一、实验目的1.掌握如何使用SAS软件来进行因子分析;2.看懂和理解SAS输出的结果,并学会以此来作出分析;3.掌握对实际数据如何来进行因子分析;4.了解异常值对数据分析的影响二、实验内容数据集sasuser.case4中含有2001年沪市611家上市公司年财务报表的十个主要财务指标。对这些数据进行因子分析,可将这十个指标成功地归结于三个公共因子,达到较好的降维目的,并给出符合实际背景和意义的解释。在作因子分析之前需先进行预分析,找出影响因子分析的不合理数据和异常数据。通过因子分析,对各因子的得分大小进行排序分析,同时结合各上市公司的三个因
2、子得分用SAS软件建立旋转图,通过三维图形的旋转进行分析和描述。由于图中有600多个散点,故需巧妙地运用SAS软件不断地对图形作出调节使之能更清楚地用来进行观测。实验1剔除不合理数据和异常数据。实验2进行因子分析。实验3 利用SAS软件观测和调节含600多个散点的旋转图。三、实验要求1.用SAS软件完成因子分析的计算;2.根据SAS输出结果完成因子分析;3.学会利用软件观测含有众多散点的旋转图。四、实验指导1.剔除不合理数据和异常数据(1)注意到,如每股净资产()值接近于零或为负,通常将使净资产收益率()没有意义或数值特大。为发现这些值,在inshigt环境下打开数据集sasuser.case
3、4,见图1。选菜单过程如下:在图1中,选x6在数据区域点击右键,出现上托菜单选排序图1随即得到图1中按每股净资产值从小到大的排序。每股净资产最小的三只股票:“PT郑百”(元),“ST同达”(元)和“PT红光”(元)必须被删去。其原因有两个:(i)这三只股票的每股净资产为负或非常接近于零,它们的净资产收益率没有意义。(ii) “PT红光”和“ST同达”的净资产收益率()分别是621.15和82.34,在数值上比排名第三的40.20要大许多,特别是前者为一个非常大的异常值,会对因子分析的结果产生明显的不良影响。删除这三只股票的菜单操作如下:在图1中,选中观测1、2、3在菜单栏中选编辑删除得到图2中
4、的含608个观测的数据集。图2(2)在图2中,选菜单如下:分析散点图(Y X)选x1,x2,x3,x4,x5,x6,x7,x8,x9,x10(见图3)Y;选x1,x2,x3,x4,x5,x6,x7,x8,x9,x10X;选name标签变量确定得到如图4所示的散点图矩阵图3图4“中国石化”点被选亮,明显是个异常点,将该点删除。散点图矩阵变为图5,该图中“宝钢股份”、“华能国际”和“浦发银行”点都被选亮,都是异常点,将它们删除。散点图矩阵变为图6,从该图中还可进一步将一些点作为异常点删除,但这些点的异常程度明显不如上述四个点,对数据分析的影响也不是很大。图5图6我们删除的四只股票是样本中规模最大的
5、四只,其中“中国石化”为一个规模特大的股票,会明显影响所作因子分析的结果。表1是根据608家数据计算出的上述十个财务指标的样本相关矩阵,表2是删除四只异常股票后根据604家数据计算出的样本相关矩阵。对照表1和表2可以看出,表1中的许多样本相关系数值严重地受到了四个异常值的影响。表1 由608家上市公司数据计算的样本相关矩阵1.0000.9931.0000.9700.9831.0000.9560.9720.9971.0000.0240.0440.1080.1331.000-0.018-0.0080.0170.0270.5851.0000.0320.0410.0880.1090.7760.2181
6、.0000.0160.0360.0930.1180.8460.2910.8311.0000.9050.8990.9170.9110.041-0.0130.0400.0091.0000.9890.9900.9750.9640.001-0.0510.0240.0160.9111.000表2 由604家上市公司数据计算的样本相关矩阵1.0000.7231.0000.4270.7431.0000.4070.6970.9821.0000.1710.3250.5390.5591.0000.1490.2280.2840.2740.5851.0000.0960.1770.3620.4020.7760.2181
7、.0000.0660.2040.4550.5000.8490.2900.8331.0000.7480.7680.5740.5670.1250.1380.0670.0581.0000.6220.6190.4850.5000.002-0.0660.0330.0510.8611.0002.进行因子分析 编制如下的SAS程序:proc factor data=sasuser.examp842 n=3 rotate=varimax out=out842; var x1-x10;run;程序说明:“proc factor”是一个因子分析过程;“data=sasuser.examp842”规定过程分析的是s
8、asuser逻辑库中的examp842数据集;“n=3” 规定了选用三个因子;选项“rotate=varimax”规定了使用最大方差旋转法旋转因子。“out=out842”的作用是将所有观测的三个因子得分及原数据集中的所有数据保存在数据集work.out842中。程序中未指明用何参数估计方法,缺省时参数估计是用主成分法。运行后屏幕输出为:从上述输出可见,三个因子的累计贡献率为83.82%。未旋转之前的因子载荷估计很难给出公共因子的解释,于是采用了最大方差旋转法旋转因子,从旋转后的因子载荷估计可见,在因子上都具有大的正载荷,而,在上的载荷都很小,因而该因子可称为股票的规模因子。在因子上, ,都有
9、很大的正载荷, 和有中等的正载荷,而其余变量只有小的载荷,该因子可称为股票的收益率因子。在因子上,有很大的正载荷,有中等的正载荷,而其余变量的载荷基本都较小,这个因子可称为股票的每股价值因子。程序中默认用回归法得到因子得分系数,即有将604家上市公司财务报表中的十个指标数值经标准化后代入上述因子得分公式可得每个股票的三个因子得分数值。分别按因子得分的数值大小由高到低排序列于表3、表4和表5,限于篇幅,每张表只列出了排在前十位和后十位的股票。这些都很容易利用SAS来解决,在inshigt环境下打开数据集work.out842,然后分别按变量factor1、factor2、factor3进行由小到
10、大的排序。在表3中,各股票的顺序反映了股票的规模由大到小的排序。同样,表4的股票顺序反映了股票的收益率由高到低的排序,表5的股票顺序反映了股票的每股价值由高到低的排序。表3 按第一因子(规模因子)得分的排序序号股票名称序号股票名称1上海石化8.580-2.704-2.1682东方航空7.446-2.089-1.861595康美药业-0.7010.2311.6243兖州煤碳6.9241.513-0.044596潜江制药-0.706-0.4302.0854马钢股份6.175-1.251-2.804597浏阳花炮-0.7090.1460.6555宁沪高速5.3410.835-2.220598浪潮软件
11、-0.7131.625-1.3136广州控股4.1012.5960.640599兆维科技-0.7282.511-1.3667青岛海尔4.0220.9543.160600PT农商社-0.7510.5160.5108四川长虹3.996-2.0271.907601三佳模具-0.7760.5270.3859仪征化工3.873-0.964-1.598602雄震集团-0.8171.175-1.40710上海汽车3.8341.293-0.666603中软股份-1.0232.715-1.685604天地科技-1.0232.355-0.946表4 按第二因子(收益率因子)得分的排序序号股票名称序号股票名称1中软
12、股份-1.0232.715-1.6852广州控股4.1012.5960.640595东方电机-0.246-3.212-0.3853广汇股份0.5172.534-1.608596ST嘉陵-0.144-3.570-0.2844兆维科技-0.7282.511-1.366597ST海药-0.089-3.7090.2255长江通讯-0.6572.3691.899598鼎天科技0.034-4.230-0.2096天地科技-1.0232.355-0.946599大元股份0.111-4.5590.2847申能股份3.2482.158-0.498600新城B股-0.080-4.687-0.0868上港集箱2.9
13、922.1121.624601银鸽投资-0.063-4.869-0.0869中远航运-0.5881.957-1.449602济南百货0.083-4.9680.01210创业环保0.7971.755-2.099603ST东锅0.263-5.9790.272604国嘉实业0.491-7.7301.055表5 按第三因子(每股价值因子)得分的排序序号股票名称序号股票名称1贵州茅台0.8771.3665.7502用友软件-0.581-0.0615.165595PT宝信-0.5711.145-1.7603亿阳信通-0.5230.1244.059596东方航空7.446-2.089-1.8614华泰股份-
14、0.2240.0613.420597ST成量-0.5250.042-1.8735太太药业0.0470.7473.234598ST自仪-0.185-0.012-1.9056赣粤高速0.2060.1003.178599创业环保0.7971.755-2.0997青岛海尔4.0220.9543.160600上海石化8.580-2.704-2.1688美克股份-0.6990.0882.752601山东基建2.2750.797-2.1809宇通客车-0.2640.6042.619602ST中纺机-0.3900.278-2.18210东方通讯2.401-0.7502.593603宁沪高速5.3410.835
15、-2.220604马钢股份6.175-1.251-2.804因子之间在理论上是互不相关的,从实际的因子得分情况来看,之间的样本相关系数是很低的,也就是说这三者所含的信息几乎互不重复(在相关的意义上)。对每一股票,他的一个因子得分的高低总体上并不影响其它因子得分的高低。由表3、表4和表5可知,三个因子得分的取值范围分别是:, , 。虽然各因子得分的最大值和最小值关于零不对称,甚至很不对称,但因子得分的平均值都是零。若得分值接近零,则表明该股票在这个因子上的得分接近于平均水平。从表3可见,在规模排名最后的那些值都较为接近,并未出现异常小的值,这是因为按有关规定股票上市的公司都必须具备一定的规模,这
16、样就不会出现规模特别小的上市公司。在表4中,没有特别大的值,但有一些取负值而绝对值特别大的值。这表明没有收益率特别高的股票,但却有一些收益率特别低的、严重亏损的上市公司股票。 从表3、表4和表5中可以看出,有这样一些财务指标数值特殊的股票:“上海石化”、“东方航空”、“马钢股份”和“宁沪高速”这四只股票的规模得分排在前五位中,但它们的每股价值得分却排在最后九位中。“广州控股”不但规模得分排在第六位,而且收益率得分也是非常高的,排在第二位。“中软股份”、“天地科技”和“兆维科技”这三只科技类股票的规模得分排在最后六位中,但他们的收益率得分都非常高,排在前六位中。3.利用SAS观测含有众多散点的旋
17、转图除了通过表3、表4和表5来了解每只股票外,还可以使用SAS对作三维旋转图,从不断旋转的图中可对每只股票有一个更直观的了解。由于股票数目众多,故需利用SAS不断地调节图形使需观测的散点位置看得更清楚。在inshigt环境下打开数据集work.out842。在图7中,选菜单过程如下:分析旋转图(Z Y X)选Factor1(见图8)X;选Factor2Y;选Factor3Z;选name标签变量确定随即得到如图9所示的旋转图。在工具窗中选择“手”或将光标移至图的角上使它变为手,然后按住鼠标器左键拖动鼠标器,图就按拖动方向旋转。此外,点击旋转图左下角的“三角符”或在旋转图框中任意处点击右键,弹出一个上托菜单,选“立方块”可使旋转看起来更具立体感。 如果某股票的位置看不清,则可在旋转图中选中一些离群的点,然后在数据窗中,将箭头图标移至观测号处,再点击右键,如图10所示,将“在图中显示”前面的“”去掉,这样所选的点就不再出现在图中,其他的点群就自然放大了。用这种方法不断调节,可看到需要观测的股票。图7图8图9图1013