基于A股市场数据的统计分析----R

一、数据来源及指标说明

数据来源为CCER经济金融研究数据库中的A股市场数据,具体是2022年12月的股票价格收益数据,一共是4905条数据,剔除缺失值是4441条数据,设置随机数种子666,随机抽取350条作为研究对象。

具体指标有股票代码、企业板块标、最终控制人类型收盘价、成交额、成交量,具体含义如下表,其中企业板块标示和最终控制人类型是定性数据,其他为定量数据。其中,由于选取的数据差异比较大,所以对收盘价、成交量和成交额做了对数处理,并且为了避免出现0缺失值,再对他们进行+1处理。

变量名称

单位

解释

股票代码

该交易涉及的公司的股票代码。

企业板块标示

0=主板;1=中小板;2=创业板

最终控制人类型

股东类别为:0-国有控股;1-民营控股;2-外资控股;3-集体控股;4-社会团体控股;5-职工持股会控股;6-不能识别。

收盘价

收盘价又称收市价,通常指某种证券在证券交易所每个交易日里的最后一笔买卖成交价格。

成交量

指在有效交易日当天成交的股票总股数。

成交额

指在有效交易日当天成交的股票的总金额。

二、统计图及分析

(一)不同最终控制人类型的收盘价分析

国有控股(类型0)企业的收盘价对数中位数较低,表明原始收盘价相对较低,整体数据分布较为集中,表明国有控股企业的收盘价波动较小。民营控股(类型1)企业的收盘价对数中位数略低于国有控股企业,但数据分布较为均匀,表明民营控股企业的收盘价波动较大。外资控股(类型2)企业的收盘价对数中位数最高,表明原始收盘价最高,数据分布较为分散,表明外资控股企业的收盘价波动较大。社会团体控股(类型4)企业的数据较少,无法准确判断其分布情况,需要进一步收集数据进行分析。

如图 1所示,外资控股企业的收盘价最高,可能与其在国际市场中的地位和定价策略有关。民营控股企业的收盘价次之,可能反映了其在市场中的灵活性和竞争力。国有控股企业的收盘价较低,可能与其政策导向和市场定位有关。社会团体控股企业的数据较为特殊,需要进一步收集数据进行分析。

1不同最终控制人类型的收盘价分布

(二)收盘价的分布

根据图 2,收盘价_log的数据点大多数沿着对角线分布,表明其数据接近正态分布。然而,在极端值处,数据点稍微偏离对角线,表明在极端值处存在一些偏离正态分布的现象。总体而言,收盘价_log的数据接近正态分布,但在极端值处存在一定的偏离。

2收盘价_log的QQ图

(三)收盘价与成交价的关系

从图 3可以看出,回归线呈下降趋势,表明成交量和收盘价之间存在负相关关系。也就是说,当成交量增加时,收盘价倾向于下降,反之亦然。数据点分布较为分散,但总体趋势是沿着回归线分布的。这说明虽然存在一些波动,但总体趋势是负相关的。有些数据点离回归线较远,可能是异常值或特殊情况,需要进一步分析。

3收盘价与成交价的关系

(四)不同企业板块标识的股票数量

如图 4所示,主板(企业板块标示为0)股票数量最多,达到182只,这表明主板市场的股票数量最多,占据了市场的主导地位。中小板(企业板块标示为1)股票数量为78只,这一类别的股票数量相对较少,但仍然具有一定的代表性。创业板(企业板块标示为2)股票数量为90只。这一类别的股票数量介于主板和中小板之间,表明其在市场中也有一定的份额。

主板市场的主导地位表明其在A股市场中的重要性,投资者可以重点关注主板市场的股票;虽然中小板市场的股票数量较少,但其企业可能具有较高的成长潜力,投资者可以关注中小板市场中的优质企业;创业板市场的股票数量适中,表明其在市场中也有一定的份额,投资者可以关注创业板市场中的新兴企业。

4不同企业板块标示的股票数量

(五)不同板块的收盘价分布

1. 各板块规律分析

主板企业(0)的收盘价分布如图 5显示,数据主要集中在2到4之间,峰值出现在3左右。这表明主板企业的收盘价大多数集中在较低的范围内,呈现出一种正态分布的特征。主板市场的企业通常规模较大,经营相对稳定,因此收盘价波动较小,集中在一个较小的范围内。

5主板企业收盘价分布

中小板企业(1)的收盘价分布如图 6显示,数据主要集中在2到3之间,峰值出现在3左右。与主板相似,中小板企业的收盘价也集中在较低的范围内,呈现出正态分布的特征。中小板市场的企业规模介于主板和创业板之间,经营稳定性相对较高,但波动性可能略大于主板企业。

6中小板企业的收盘价分布

创业板企业(2)的收盘价分布如图 7显示,数据主要集中在2到4之间,峰值出现在3左右。与主板和中小板相似,创业板企业的收盘价也集中在较低的范围内,呈现出正态分布的特征。创业板市场的企业规模较小,经营风险较高,但成长性较强,因此收盘价波动性可能更大。

7创业板企业的收盘价分布

2. 结论

从这三张图的对比可以看出,不同板块企业的收盘价分布虽然都集中在2到4之间,但主板企业的分布更为集中,波动性较小,而创业板企业的分布相对分散,波动性较大。这反映了不同板块企业的经营特点和风险水平。主板企业由于规模较大,经营稳定,收盘价波动较小;中小板企业介于主板和创业板之间,经营稳定性较高,但波动性略大于主板;创业板企业规模较小,经营风险较高,但成长性较强,收盘价波动性更大。

(六)相关性分析

从图 8可以看出,开盘价、最高价、最低价和收盘价之间几乎完全相关,相关系数接近1.00;开盘价与收盘价的相关系数为0.99,虽然略低于其他相关系数,但仍然表示高度相关。这些结果表明,在所分析的数据集中,这些价格指标之间具有很强的线性关系。这意味着在这些数据中,开盘价、最高价、最低价和收盘价的变化趋势非常一致,价格波动具有高度的同步性。

8相关性分析图

三、 结论

首先,不同最终控制人类型的企业在收盘价上表现出显著差异。国有控股企业的收盘价相对较低且波动较小,民营控股企业的收盘价波动较大,外资控股企业则显示出最高的收盘价,社会团体控股企业由于样本数量较少,需要进一步的数据收集和分析来准确判断其市场表现。

其次,A股市场的成交额分布主要集中在中等水平,收盘价趋向于正态分布,不同企业板块的股票数量和收盘价分布也揭示了各自的特点,主板市场的主导地位表明其在A股市场中的重要性,而中小板和创业板市场虽然股票数量较少,但也各自展现出一定的市场活力和成长潜力。

最后,开盘价、最高价、最低价和收盘价之间存在高度的相关性。

综上所述,通过对A股市场数据的综合分析,我们可以更好地理解不同类型企业的股票价格行为和市场表现,为投资者提供有价值的参考信息。

四、 相关代码

(一)数据读取及预处理

d1=read.csv("D:/data.csv") #读取数据储存在d1中
d1=na.omit(d1) #删除所有包含缺失值的行
set.seed(666) #设置随机数种子
id=sample(nrow(d1),350,replace=F)#从d1行数中随机抽取500个不重复的索引,并将其存储在变量id中
d2=d1[id,]#根据索引id,从d1中提取相应的行,创建一个新的数据框d2
#先对数据进行预处理,主要是取对数再加一,避免出现0
d2$收盘价_log <- log(d2$收盘价+1)
d2$成交量_log <- log(d2$成交量+1)
d2$成交额_log <- log(d2$成交额+1)
d1=na.omit(d2) #再次删除所有包含缺失值的行

(二)绘制箱线图

 #绘制箱线图
par(mar=c(5,4,4,2)+0.1) #调整图形边距,使图形显示完成
boxplot(收盘价1 ~ 最终控制人类型, data = d2, 
        main = "不同最终控制人类型的收盘价分布",  #图表标题
        xlab = "最终控制人类型",                 #x轴标签
        ylab = "收盘价_log",                    #y轴标签
        col = "lightblue",                      #箱体颜色
        border = "darkblue",                    #边框颜色
        horizontal = F                   #图形以垂直方向绘制
        )
c=mean(d2$收盘价1) #计算均值
abline(h=c,lty="dotted") #添加一条参考线
text(x = 3, y = 2.3, 
     labels = "收盘价_log的均值", 
     pos = 4, col = "black")  #在图中添加均值标签

(三)绘制QQ图

qqnorm(d2$收盘价1, 
       main = "收盘价_log的QQ图", 
       xlab = "理论分位数", 
       ylab = "样本分位数")
qqline(d2$收盘价1, col = "red")#添加参考线

(四)绘制散点图

# 绘制散点图
plot(d2$成交量1, 
     d2$收盘价1, 
     main = "收盘价_log vs. 成交量_log+1",   #图表标题
     xlab = "成交量_log",                      #x轴标签
     ylab = "收盘价_log",                      #y轴标签
     pch = 19,                                 #点的形状
     col = "black",                            #点的颜色
     cex = 0.5)                                #点的大小
# 添加回归线
abline(lm(d2$收盘价1 ~ d2$成交量1), 
       col = "red",lwd = 2)  #添加红色回归线,粗细为2

(五)绘制条形图

a= table(d2$企业板块标示)  # 计算每个企业板块标示的股票数量
# 绘制条形图
barplot(a, 
        main = "不同企业板块标示的股票数量",   #图表标题
        xlab = "企业板块标示",                #x轴标签
        ylab = "股票数量",                    #y轴标签
        col = "lightblue",                    #条形颜色
        border = "black",                     #条形边框颜色
        ylim=c(0,200))                        #y轴范围
# 添加数值标签
text(x = seq_along(a), 
     y = a, 
     labels = a, 
     pos = 3,                                #标签位于点的上方
     cex = 0.8,                              #标签字体大小
     col = "black")                          #标签颜色为黑色

(六)绘制分组直方图

# 绘制分组直方图和核密度图
c= unique(d2$企业板块标示)# 获取所有企业板块的唯一值
# 企业板块1
hist(d2$收盘价1[d2$企业板块标示 == c[1]], 
     main = paste("企业板块:", c[1]),      #图表标题
     xlab = "收盘价_log+1",                #x轴标签
     col = "lightblue",                    #柱体颜色
     border = "black",                     #柱体边框颜色
     probability = TRUE,                   #转换为概率密度图
     xlim=c(1,7),                          #x轴范围
     ylim=c(0,0.6))                        #y轴范围
lines(density(d2$收盘价1[d2$企业板块标示 == c[1]], na.rm = TRUE), col = "red", lwd = 2)

#下面同理

# 企业板块2
hist(d2$收盘价1[d2$企业板块标示 == c[2]], 
     main = paste("企业板块:", c[2]), 
     xlab = "收盘价_log+1", 
     col = "lightblue", 
     border = "black", 
     probability = TRUE, 
     xlim=c(1,8),
     ylim=c(0,0.6))
lines(density(d2$收盘价1[d2$企业板块标示 == c[2]], na.rm = TRUE), col = "red", lwd = 2)

# 企业板块3
hist(d2$收盘价1[d2$企业板块标示 == c[3]], 
     main = paste("企业板块:", c[3]), 
     xlab = "收盘价_log+1", 
     col = "lightblue", 
     border = "black", 
     probability = TRUE, 
     xlim=c(1,7),
     ylim=c(0,0.5))
lines(density(d2$收盘价1[d2$企业板块标示 == c[3]], 
      na.rm = TRUE), col = "red", lwd = 2)

(七)绘制相关性分析图

#相关性分析图
install.packages("corrplot") #安装corrplot包
library(corrplot)#引用corrplot包
y <- cor(d2[, c("开盘价", "最高价", "最低价", "收盘价")]) #计算相关性矩阵
corrplot(y,
         method = "color",         #使用颜色表示相关性强度
         type = "lower",           #只显示下三角矩阵
         addCoef.col = "black")    #在矩阵中添加相关系数           
title(main = "相关性分析图",
      line = 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值