国内A股16家上市银行的財务数据与股价的因子分析报告(1)(工具:R)
分析人:BUPT_LX
研究目的
用某些算法对2014年12月份的16家国内A股上市的商业银行当中11项財务数据(资产总计、负债合计、股本、营业收入、流通股A、少数股东权益、净利润、经营活动的现金流量净额、投资活动的现金流量净额、筹资活动的现金流量净额、汇率变动对现金的影响)提取分析,得出股票价格的財务影响原因。更加清楚地指导银行股价与財务数据指标之间的联系。
研究方法
主要有描写叙述性分析、因子分析、回归法
方法概述:
1. 先对上述的財务数据进行提取。然后用常规的描写叙述方法(平均、最大、最小、方差等)对这些数据进行粗略分析。
2. 然后用因子分析得出对上市银行的股票价格影响较大的几个因子。从而更加详细地了解到上市银行股价的决定性因素(将几个因子进行业务描写叙述);
3. 最后用回归法确定这些因素对股票价格的影响强弱
研究工具
R语言
psych包/library(psych)用于因子分析
lmtest包用于回归检验
算法模型分析过程
1. 数据预处理
列出16家A股上市的银行
工商银行601398
农业银行601288
中国银行601988
建设银行601939
交通银行601328
民生银行600016
浦发银行600000
兴业银行601166
光大银行601818
平安银行000001
中信银行601998
招商银行600036
华夏银行600015
北京银行601169
南京银行601009
宁波银行002142
当中顺序相应于下表行1~16,財务数据相应于列1~11,当中单位为亿元
资产总计 |
负债合计 |
股本 |
营业收入 |
流通股A |
少数股东权益 |
净利润 |
经营活动的现金流量净额 |
投资活动的现金流量净额 |
筹资活动的现金流量净额 |
汇率变动对现金的影响 |
股价 |
206000 |
191000 |
3535 |
6589 |
2680 |
64.5 |
2763 |
2015 |
-1467 |
1578 |
84.9 |
4.33 |
160000 |
149000 |
3248 |
5209 |
2842 |
15.5 |
1795 |
346 |
-1404 |
308 |
-5.7 |
3.05 |
153000 |
141000 |
2887 |
4563 |
2051 |
426 |
1772 |
1269 |
-2006 |
836 |
-123 |
3.7 |
167000 |
155000 |
2500 |
5705 |
95 |
102 |
2278 |
3170 |
-3439 |
-629 |
27.3 |
4.97 |
62700 |
57900 |
743 |
1774 |
327 |
25.5 |
660 |
497 |
-234 |
437 |
1.7 |
6.34 |
40200 |
37700 |
342 |
1355 |
225 |
76.1 |
456 |
2292 |
-2844 |
305 |
-1.25 |
7.03 |
42000 |
39300 |
187 |
1232 |
149.22 |
31.2 |
474 |
1912 |
-3425 |
729 |
10.7 |
13.146 |
44100 |
41500 |
191 |
1249 |
161.8 |
31.6 |
475 |
6821 |
-5662 |
1143 |
-1.4 |
13.54 |
27400 |
25600 |
467 |
785 |
398.1 |
5.08 |
289 |
347 |
-925 |
388 |
2.26 |
3.83 |
21900 |
20600 |
114 |
734 |
98.37 |
0 |
198 |
253 |
-545 |
312 |
3.25 |
11.46 |
44300 |
41500 |
468 |
1247 |
319 |
79.4 |
111 |
-311 |
-238 |
308 |
14 |
5.55 |
47300 |
44200 |
252 |
1659 |
206.29 |
6.56 |
560 |
2722 |
-1760 |
219 |
34.5 |
12.47 |
18500 |
17500 |
89.1 |
549 |
64.88 |
6.41 |
180 |
129 |
-202 |
111 |
0.98 |
11.39 |
15200 |
14300 |
106 |
369 |
89.68 |
0.23 |
156 |
1245 |
-545 |
130 |
1.08 |
9.08 |
5732 |
5404 |
29.7 |
160 |
29.69 |
3.35 |
56.6 |
1115 |
-1250 |
215 |
0.09 |
10.93 |
5541 |
5199 |
32.5 |
154 |
28.73 |
0.73 |
56.3 |
228 |
-626 |
333 |
-1144 |
10.49 |
- data_bank<-read.csv("C:/Users/user/Desktop/bank1.csv")
- ##假设用summary(data_bank)会看到第一个元素min,第三个元素中位数。第四个元素平均值。第六个元素最大值。
- 我们对data_bank每一列做上述的操作,使得展现更为清晰。
- #求每一个元素(財务指标)的样本数
- N1<-length(data_bank[,1])
- N2<-length(data_bank[,2])
- N3<-length(data_bank[,3])
- N4<-length(data_bank[,4])
- N5<-length(data_bank[,5])
- N6<-length(data_bank[,6])
- N7<-length(data_bank[,7])
- N8<-length(data_bank[,8])
- N9<-length(data_bank[,9])
- N10<-length(data_bank[,10])
- N11<-length(data_bank[,11])
- head<-c("变量名","资产总计","负债合计","股本","营业收入","流通股A","少数股东权益","净利润","经营活动的现金流量净额","投资活动的现金流量净额","筹资活动的现金流量净额","汇率变动对现金的影响")
- sum1<-summary(data_bank[,1])
- sum2<-summary(data_bank[,2])
- sum3<-summary(data_bank[,3])
- sum4<-summary(data_bank[,4])
- sum5<-summary(data_bank[,5])
- sum6<-summary(data_bank[,6])
- sum7<-summary(data_bank[,7])
- sum8<-summary(data_bank[,8])
- sum9<-summary(data_bank[,9])
- sum10<-summary(data_bank[,10])
- sum11<-summary(data_bank[,11])
- row2<-c("全距",sum1[6]-sum1[1],sum2[6]-sum2[1],sum3[6]-sum3[1],sum4[6]-sum4[1],sum5[6]-sum5[1],sum6[6]-sum6[1],sum7[6]-sum7[1],sum8[6]-sum8[1],sum9[6]-sum9[1],sum10[6]-sum10[1],sum11[6]-sum11[1])
- row3<-c("最小值",sum1[1],sum2[1],sum3[1],sum4[1],sum5[1],sum6[1],sum7[1],sum8[1],sum9[1],sum10[1],sum11[1])
- row4<-c("最大值",sum1[6],sum2[6],sum3[6],sum4[6],sum5[6],sum6[6],sum7[6],sum8[6],sum9[6],sum10[6],sum11[6])
- row5<-c("均值",sum1[4],sum2[4],sum3[4],sum4[4],sum5[4],sum6[4],sum7[4],sum8[4],sum9[4],sum10[4],sum11[4])
- row6<-c("中位数",sum1[3],sum2[3],sum3[3],sum4[3],sum5[3],sum6[3],sum7[3],sum8[3],sum9[3],sum10[3],sum11[3])
- row7<-c("标准差",sd(data_bank[,1]),sd(data_bank[,2]),sd(data_bank[,3]),sd(data_bank[,4]),sd(data_bank[,5]),sd(data_bank[,6]),sd(data_bank[,7]),sd(data_bank[,8]),sd(data_bank[,9]),sd(data_bank[,10]),sd(data_bank[,11]))
- result<-matrix(c(head,row1,row2,row3,row4,row5,row6,row7),nrow=8,byrow=T)
- print(t(result))
能够看出这
1. 16家A股上市的银行净利润平均值在767亿,最小的56,3亿也是盈利的。说明效益还是比較稳定的;
2. 现金流量净额方面,经营活动收入的现金最多,而投资活动出去的现金最多。汇率变动使得现金有少部分亏损;
3. 资产-负债上整体保持资产高于负债近10个点。
二、以下进行因子分析过程
- library(psych)#因子分析须要的库
- KMO(data_bank[,-12])#减去股价那一列,做因子检验
- #MSA为60%。说明这些变量适合做因子分析
- fa.parallel(data_bank[,-12])#依据以下图我们选取主因子数量为2
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
- #因子分析的算法
- fa(data_bank[,-12],nfactors=2,fm="ml",rotate="varimax",score=T)
- ##Factor Analysis using method = ml
- ##Call: fa(r = data_bank[, -12], nfactors = 2, rotate = "varimax", scores = T,
- ## fm = "ml")
- ##Standardized loadings (pattern matrix) based upon correlation matrix
- ## ML1 ML2 h2 u2 com
- ##资产总计 0.98 0.20 0.998 0.0022 1.1
- ##负债合计 0.98 0.21 0.998 0.0021 1.1
- ##股本 0.98 0.07 0.974 0.0263 1.0
- ##营业收入 0.97 0.21 0.996 0.0041 1.1
- ##流通股A 0.84 -0.06 0.706 0.2941 1.0
- ##少数股东权益 0.48 0.08 0.240 0.7602 1.1
- ##净利润 0.96 0.25 0.981 0.0186 1.1
- ##经营活动的现金流量净额 -0.05 1.00 0.995 0.0050 1.0
- ##投资活动的现金流量净额 -0.03 -0.92 0.838 0.1618 1.0
- ##筹资活动的现金流量净额 0.19 0.29 0.116 0.8842 1.7
- ##汇率变动对现金的影响 0.21 0.22 0.091 0.9093 2.0
- ##SS loadings 5.76 2.17
- ##Proportion Var 0.52 0.20
- ##Cumulative Var 0.52 0.72
- ##Proportion Explained 0.73 0.27
- ##Cumulative Proportion 0.73 1.00
- ##Mean item complexity = 1.2
- ##Test of the hypothesis that 2 factors are sufficient.
- ##The degrees of freedom for the null model are 55 and the objective function was 33.64 with ##Chi Square of 353.17
- ##The degrees of freedom for the model are 34 and the objective function was 10.91
- ##The root mean square of the residuals (RMSR) is 0.06
- ##The df corrected root mean square of the residuals is 0.07
- ##The harmonic number of observations is 16 with the empirical chi square 5.45 with prob < ##1
- ##The total number of observations was 16 with MLE Chi Square = 99.97 with prob < ##2.1e-08
- ##Tucker Lewis Index of factoring reliability = 0.579
- ##RMSEA index = 0.504 and the 90 % confidence intervals are 0.27 0.428
- ##BIC = 5.7
- ##Fit based upon off diagonal values = 0.99
- ##Measures of factor score adequacy
- ## ML1 ML2
- ##Correlation of scores with factors 1 1.00
- ##Multiple R square of scores with factors 1 1.00
- ##Minimum correlation of possible factor scores 1 0.99
从上述结果能够看出
1.ML1与ML2两个因子的累积贡献率有72%,说明两个因子能解释全部变量72%的信息
2.各个因子与两个变量的关系:
资产总计=0.98ML1+0.20ML2
负债合计=0.98ML1+0.21ML2
股本=0.98ML1+0.07ML2
营业收入=0.97ML1+0.21ML2
流通股A =0.84ML1-0.06ML2
少数股东权益=0.48ML1+0.08ML2
净利润=0.96ML1+0.25ML2
经营活动的现金流量净额=-0.05ML1+1.00ML2
投资活动的现金流量净额=-0.03ML1-0.92ML2
筹资活动的现金流量净额=0.19ML1+0.29ML2
汇率变动对现金的影响=0.21ML1+0.22ML2
能够看出ML1主要对资产、负债、权益、利润有影响,ML2主要对经营活动、投资活动、筹资活动的现金流量有影响
称ML1为资产-负债-权益因子,ML2为现金流量因子
三、最后进行回归分析过程
用现有的財务变量探索上市银行股价与其主要財务指标的关系
- lm<-lm(股价~.,data=data_bank)#用lm算它的线性回归
- lm.aic<-step(lm,trace=FALSE)#用aic的检验法逐步回归
- lm.bic<-step(lm,k=log(length(data_bank[,1])),trace=FALSE)#用bic的检验法逐步回归
- ##看两种方法逐步回归后的结果
- summary(lm.aic)
- summary(lm.bic)
Call:
lm(formula = 股价 ~ 股本 + 流通股A + 净利润, data = data_bank)
Residuals:
Min 1Q Median 3Q Max
-4.442 -1.245 0.880 1.516 1.956
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.159659 0.796650 11.498 7.78e-08 ***
股本 -0.009116 0.002645 -3.447 0.00484 **
流通股A 0.002787 0.001570 1.774 0.10133
净利润 0.007820 0.002813 2.780 0.01665 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.195 on 12 degrees of freedom
Multiple R-squared: 0.7228, Adjusted R-squared: 0.6536
F-statistic: 10.43 on 3 and 12 DF, p-value: 0.00116
--------------------------------------------------------------------------------------------------------------
Call:
lm(formula = 股价 ~ 股本 + 流通股A + 净利润, data = data_bank)
Residuals:
Min 1Q Median 3Q Max
-4.442 -1.245 0.880 1.516 1.956
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.159659 0.796650 11.498 7.78e-08 ***
股本 -0.009116 0.002645 -3.447 0.00484 **
流通股A 0.002787 0.001570 1.774 0.10133
净利润 0.007820 0.002813 2.780 0.01665 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.195 on 12 degrees of freedom
Multiple R-squared: 0.7228, Adjusted R-squared: 0.6536
F-statistic: 10.43 on 3 and 12 DF, p-value: 0.00116
通过AIC和BIC准则的检验,股本、流通股A、净利润对股价影响较大。为了保证线性模型的准确率,我们在检查这个模型是否存在多重共线性(自相关性),通过lmtest程序包中的dwtest函数对模型进行Durbin-Watson检验
- library(lmtest)
- dwtest(lm.aic)
- ## Durbin-Watson test
- ##data: lm.aic
- ##DW = 2.3843, p-value = 0.6526
- ##alternative hypothesis: true autocorrelation is greater than 0
DW检验仅仅适用于检验误差项是否存在一阶自相关情形。
DW检验过程例如以下。
给出如果
H0: r = 0 (ut 不存在一阶自相关)。
H1: r ¹ 0 (ut 存在一阶自相关)。
能够看出DW统计量为2.3843,p值为0.6526,说明模型不存在多重共线性(自相关性)
因此我们能够得到线性回归方程
股价=( 9159.659 -9.116*股本+ 2.787 *流通股A+ 7.820 *净利润)/1000。当中这三个变量的系数都在显著水平0.01水平下显著
分析结论
1. 通过对上市银行的相关財务数据进行因子分析,能够用两个公共主因子:资产负债权益因子ML1和现金流量因子ML2去影响股票价格72%的信息
2. 通过回归分析得出上市银行股价受股本、流通股、净利润三个变量的影响较大。
国内A股16家上市银行的財务数据与股价的因子分析报告(1)(工具:R)的更多相关文章
- 译:Dataiku 白皮书之《在银行和保险行业应用数据科学》
原文链接:Data Science For Banking & Insurance 如果不能正常访问,请点击备份获取. 在银行和保险行业应用数据科学 互联网巨头和金融技术创业时代的求生和发展 ...
- 2019年逾期率上升_24家头部P2P平台最新运营数据解读:8家近一年逾期率走势曝光
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...
- php 将16进制数串转换为二进制数据的函数
/** * 将16进制数串转换为二进制数据的函数 * @param $hexdata * @return string bindata */ function ...
- 读书笔记 - 《梦想与浮沉:A股十年上市博弈》
拿到这本书是个很偶然的事件.有几本软件业书由于太老已经绝版,偶然想到小区的图书馆自动借阅机和读者证的预借功能,就兴冲冲的跑去尝试.没想到预借只能在网页上进行,就随手从机器里借了这本书.没想到细观之下让 ...
- java编程如何实现2017-01-16 22:28:26.0这样的时间数据,转换成2017:01:16:22:28:26这样的时间数据
不多说,直接上干货! timereplace.java package zhouls.bigdata.DataFeatureSelection.util; /* * 这个程序,是用来做补充的 */ p ...
- 创新能力加速产业发展,SphereEx 荣获“中关村银行杯”『大数据与云计算』领域 TOP1
8 月 9 日下午,2022 中关村国际前沿科技创新大赛"中关村银行杯"大数据与云计算领域决赛在北京市门头沟区中关村(京西)人工智能科技园·智能文创园落下了帷幕.SphereEx ...
- 16.Spark Streaming源码解读之数据清理机制解析
原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/) 本期内容: 一.Spark Streaming 数据清理总览 二.Spark Streami ...
- Ubuntu 16.04安装网络流量监控工具Netspeed(附带10款最佳的指示器工具)
安装: sudo add-apt-repository ppa:ferramroberto/linuxfreedomlucid sudo apt-get update sudo apt-get ins ...
- C#开发BIMFACE系列16 服务端API之获取模型数据1:查询满足条件的构件ID列表
系列目录 [已更新最新开发文章,点击查看详细] 源文件/模型转换完成之后,可以获取模型的具体数据.本篇介绍根据文件ID查询满足条件的构件ID列表. 请求地址:GET https://api.b ...
随机推荐
- Bootstrap入门学习(三)——简单项目
此样例来自Bootstrap官网提供的入门级模版.仅仅有主要的东西:引入了预编译版的 CSS 和 JavaScript 文件,页面仅仅包括了一个 container 元素. 引入Bootstrap 创 ...
- PHP开启curl_init
windows主机出现“Call to undefined function curl_init”错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持. 全文:http://j ...
- SVN的管理方式和git的管理方式
SVN是集中式的管理方式.大致流程如下: 1.从服务器上将整个项目代码检出到本地电脑硬盘中(一般来说,是从主分支上下载的代码).2.然后在svn服务器中建立新的开发分支,将硬盘中的代码提交到该开发分支 ...
- 在VC中使用SendInput函数实现中文的自动输入
很早以前写了一个刷卡程序,功能是定时监控读卡器,当发现有IC卡放到读卡器上后,自动识别出卡号,然后带着这个卡号搜索一个英文用户名和卡号的对照表,最后把英文用户名直接自动输入到当前光标所在的位置.本来程 ...
- Java POI 3.17写入、导入EXCEL性能测试
我们先测试一下写入 50000 条 程序源码: 写入的excel文件信息 再看一下文件的结构 我们再次测试一下导入数据库的性能(用移动的网络上传至电信服务器): 在导入的过程中也可以中止导入行为: 上 ...
- 副总统第一至三季/全集Veep迅雷下载
本季第一.二.三季 Veep Season 1 (2012-2014)看点:<副总统>讲述了Selina Meyer从一名参议员成为副总统后,开始面对成堆的突发状况,很快,她便认识到,成为 ...
- spring post 图片
@RequestMapping(value = "/post",method = RequestMethod.POST) @ResponseBody String GPost(@R ...
- 使用Camera进行拍照 & 后台静默拍照的思路
Android中的Camera可以用来进行自定义相机.取景框实时预览.拍照等操作.在5.0中,这个类不推荐使用了,新出了一个Camera2,那个东西没怎么研究过,反正一时半会用不到.本篇讲解的是如果用 ...
- vanilla
In information technology, vanilla (pronounced vah-NIHL-uh ) is an adjective meaning plain or basic. ...
- Docker 常用命令与操作
介绍 此命令集合版本为 1.11.1 及以上 基础类 查看docker信息 # 查看docker版本 docker version # 显示docker系统的信息 docker info # 日志信息 ...