首页 > 其他分享 >R语言数据分析案例41-上证00001股票多元线性回归和预测

R语言数据分析案例41-上证00001股票多元线性回归和预测

时间:2024-07-05 11:55:31浏览次数:22  
标签:数据分析 41 股票 模型 dataset 00001 main boxplot 预测

一、研究背景和意义

随着经济的迅速发展和技术的进步,炒股已经不再是少数金融专业人士的专属领域,而是成为了社会广泛关注的话题。股市投资既有赚取丰厚收益的机会,也伴随着一定的风险,因此对股票未来走势的预测具有极为重要的现实意义。预测模型中的多元线性回归模型和时间序列模型已被广泛用于经济学、社会科学、医学等领域,它们的应用为股票市场的研究和预测提供了有力工具。

本文以2021年上证00001股票的日线数据为基础,运用统计学的思想,分别构建了多元线性回归和时间序列的预测模型,旨在分析主要影响股票价格的因素,并运用时间序列模型对未来一段时间内的股票价格进行预测和分析,从而得出有关股票市场的结论。。。。。

二、研究现状

股票价格的预测一直是金融界和投资者们所关注的焦点问题。随着金融市场的不断发展和上市公司数量的增加,股票价格受多种因素的影响,包括公司财务状况、宏观经济指标、市场情绪等。为了更准确地进行股票价格预测,研究人员提出了多种不同的预测方法,包括传统的多元线性回归模型、时间序列分析方法,以及机器学习方法如支持向量机、粒子群和神经网络等。

三、理论部分

。。。。

四、实证分析

数据和代码

报告代码数据

数据来源是2021.07.01-2022.03.01上证00001股股票的日线数据。原始数据图如下:

各个特征如下:

原始数据展示:

dataset<- read.csv("00001.csv")
dataset


#####描述性统计分析
summary(dataset)

###画出RII(%)人民币国际化指数柱状图
price<-dataset$close
price

 

随后对数据进行描述性统计分析,体描述性统计如下,其中包括了各个变量的最大值、最小值、中位数、1/4分位数和3/4分位数等。

 

随后对相应的特征变量进行可视化:

从上面股票收盘价的可视化图可以看出,随着时间的不断变化,股票的收盘价整体上是逐步上涨的。随后再看看其他的特征:

par(mfrow = c(3, 3)) #让图片以2行3列的形式排列在一张图上
boxplot(dataset$open, main = "股票开盘价")
boxplot(dataset$high, main = "股票最高点价")
boxplot(dataset$low, main = "股票最低点价")
boxplot(dataset$close, main = "股票收盘价")
boxplot(dataset$pre_close, main = "股票昨日收盘价")
boxplot(dataset$change, main = "股票涨跌点")
boxplot(dataset$pct_chg, main = "股票涨跌幅")
boxplot(dataset$vol, main = "股票交易量")
boxplot(dataset$amount, main = "股票成交额")

从上面特征箱线图可以看出,全部特征大体的分布是正常的,但是还是有些特征存在离群点,例如涨跌点和涨跌幅等等,接下来看看各个特征的相关系数。

library(ggcorrplot)
corr = cor(dataset[, c(3:11)])
p.mat <- cor_pmat(dataset[, c(3:11)], use = "complete", method = "pearson")
ggcorrplot(corr, hc.order = TRUE, type = "lower", lab = TRUE, p.mat = p.mat, 
           insig = "blank")

从上面的相关系数热力图可以看出,收盘价与最低点、最高点以及开盘价和昨日收盘价的相关性非常高,这也符合常规,具有科学性。

接下来看看具体的相关系数:

结果也和上面一样,接下来进行多元线性回归:

###多元线性回归
fit <- lm(`close`~.,dataset[, c(3:11)])
summary(fit)


##逐步回归
fit1 <- step(fit,direction = "backward") 
summary(fit1)

 

只要昨日收盘价和变化率是显著的,接下来进行逐步回归:

 

 

 

随后对模型进行相应的检验:

#异方差检验
library(foreign)
library(zoo)
lmtest::bptest(fit1)

p值为0.2107 ,即接受原假设,即存在异方差。

接下来,画出残差图: 

par(mfrow=c(2,2))
plot(fit1)

接下来首先画出时间序列图:

####将数据变为时间序列数据,并可视化其图形
HL<-ts(pirce,frequency = 365,start = 2022.3)
HL
plot(HL,main = "AMD股价变动",xlab = "时间",ylab="收盘价变动量",col = 'red')

 

接下来进行白噪声检验,通过检验才能继续建模。

随后画出自相关和偏自相关图:

acf(HL,main='ACF',lag.max = 12)
pacf(HL,main='PACF',lag.max = 12)

在平稳性检验之后发现并不平稳,故要进行差分操作:

 

接下来进行模型自动定阶和拟合:

###模型拟合
HL.fit<-auto.arima(HL)
HL.fit 


arima<-auto.arima(HL,trace=T)
accuracy(HL.fit)

接下来进行模型诊断,先画出qq图:

最后进行模型预测和结果可视化:

###模型预测5期
per_HL<-forecast(HL.fit,h=5)
per_HL
plot(per_HL)

 五、结论与展望

通过本文的分析,我们可以清晰地了解到多元线性回归模型和时间序列模型这两种不同的预测方法,以及它们在股票价格预测中的应用。。。。。

总之,本文的研究为我们提供了对不同预测方法的深入理解,并强调了它们各自的优点和局限性。在股票价格预测领域,选择合适的模型取决于具体情况和需求,未来的研究将继续推动预测模型的发展,以更好地应对市场的复杂性和不确定性。

参考文献

[1]杨光宇.基于股票相关性对五种股票预测的线性回归方法的对比分析[J].现代商业,2022,No.654(29):42-45.DOI:10.14097/j.cnki.5392/2022.29.037.

[2]李勇.多元线性回归模型及股票板块指数预测[J].全国流通经济,2017(10):62-63.DOI:10.16834/j.cnki.issn1009-5292.2017.10.031.

创作不易,希望大家多点赞关注评论!!!(类似代码或报告定制可以私信)

标签:数据分析,41,股票,模型,dataset,00001,main,boxplot,预测
From: https://blog.csdn.net/m0_62638421/article/details/140062417

相关文章

  • Python数据分析代码示例
    数据清洗在进行数据分析之前,通常需要对原始数据进行清洗,即处理缺失值、异常值、重复值等问题。下面是一个数据清洗的示例代码:importpandasaspd#读取原始数据data=pd.read_csv('data.csv')#处理缺失值data=data.dropna()#处理异常值data=data[data['value'......
  • Python数据分析方法与技巧
    背景介绍数据分析是数据科学领域的核心技能之一,它涉及到数据的收集、清洗、处理、分析和可视化。数据分析是指通过收集、清洗、处理、分析和可视化数据来发现隐藏的模式、趋势和关系的过程。数据分析是数据科学的一个重要环节,它可以帮助我们解决各种问题,如预测、优化、决策等。......
  • 2024 年亚太杯 APMCM 数学建模竞赛 B题 洪水灾害的数据分析与预测 详细思路+matlab代
    比赛期间24小时内半价,思路会结合chatgpt-4,都是个人比赛思路,可能不是很好,但是24年所有数学建模思路都会发布到这一个专栏内,只需订阅一次,感谢大家的一直支持!!!B题洪水灾害的数据分析与预测洪水是暴雨、急剧融冰化雪、风暴潮等自然因素引起的江河湖泊水量迅速增加,或者水位迅猛......
  • 代码随想录算法训练营第八天|344.反转字符串、541.反转字符串Ⅱ、54.替换数字(卡码网
    344简单写个循环1classSolution{2public:3voidreverseString(vector<char>&s){4chartmp;5intlen=s.size();6for(inti=0;i<len/2;i++){7tmp=s[i];8s[i]=s[len-......
  • Pandas数据分析
    Pandas数据分析1.基本统计函数函数说明sum()求和count()统计个数max()求最大值min()求最小值median()求中位数mean()求平均值mode()求众数var()求方差std()求标准差quantile()求分位数(1)sum()df.sum(axis=0或1,numeric_onl......
  • OpenHarmony移植小型系统exynos4412(二)
    产品配置规则1、概述产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、部件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:vendor/{产品解决方案厂商}/{产品名称}_。产品解决方案的目录树规则如下:vendor└──company#产品解决方案厂......
  • 像学Excel 一样学 Pandas系列-创建数据分析维度
    嗨,小伙伴们。又到喜闻乐见的Python数据分析王牌库Pandas的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。其中,Pandas的基础信息导入、数据导入和数据整理、数据探索和清洗已经在前几篇文章......
  • 这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
    微软在UserVoice上运营着⼀个反馈论坛,每个⼈都可以在这⾥提交新点⼦供他⼈投票。票数最⾼的功能请求是“将Python作为Excel的⼀门脚本语⾔”,其得票数差不多是第⼆名的两倍。尽管⾃2015年这个点⼦发布以来并没有什么实质性进展,但在2020年年末,Python之⽗GuidovanRoss......
  • COMP2041 |9044 - 24T2
    COMP(2041|9044)-24T2Assignment1:GiveAimsThisassignmentaimstogiveyoupracticeinShellprogramminggenerallyIntroductionYouaregoingtoimplementsimplebutfunctionalversionsofgiveandautotest.Yourtaskinthisassignmentistowrite8......
  • 金融集团大数据分析平台总体架构方案
    。。。。。。关注公众号:野老杂谈,回复“金融集团大数据分析平台总体架构方案”获取80多页原文PPT......