R语言数据分析案例40-华安中证基金多元线性回归和分析预测

一、引言

基金是一种非常受欢迎的投资工具,由于其具有风险分散、专业管理等特点,越来越多的投资者选择将资金投入基金市场。然而,基金的表现却受到很多因素的影响,如股票市场的整体表现、基金管理人员的能力、基金规模、基金管理费率等。因此,对基金的投资回报率进行研究和预测,对于投资者来说具有非常重要的意义。。。。

二、研究综述

近些年,开放式基金的规模逐年增加,已经逐渐成为中国金融市场重要组成部分。基金经理作为基金投资管理的主要负责人,其投资风险行为对于基金的长期业绩的稳定性具有重要影响作用。针对基金经理的投资风险行为的机理分析和预测,可以给投资者和监管者的决策提供参考依据,对于开放式基金的长期良性地发展具有重要意义。国内外大多数学者,采用基金业绩的波动,即基金业绩的标准差,作为基金经理投资风险的衡量标准。研究发现,基金经理会根据自己历史的相对排名对将来的投资风险进行调整。。。。

三、理论

多元线性回归具有非常广泛的应用范围,但在实 际预测中对存在类别变量设置不充分或多重共线性 问题,导致统计模型缺乏精度和稳健性。由此,本文 对如何精准且高效的排除多重共线性影响,并合理地 将分类变量转化为虚拟变量,提升多元线性回归模型 精度作了进一步探索,并将其应用于基金预测上。。。。

ARIMA模型的全称是求和自回归移动平均(autoregressive integrated moving average)模型,简记为ARIMA(p,d,q)模型,是最常见的时间序列预测分析方法。利用历史数据可以预测未来的情况。。。。

四、实证分析

基金是华安中证光伏产业交易型开放型指数证券投资基金(159618)。本次分析的数据从2022年4月25日到2023年4月28日,一共包括248条数据。接下来进行数据的展示:

数据和代码

报告代码数据

data1<- read.csv("JJSJ.csv")
data1#####Descriptive statistical analysis
summary(data1)

数据中包括了数据日期(data)、收盘价(close)、开盘(open)价、最高点(high)、最低点(low)、交易量volume以及最后的涨幅(rate)。

接下来使用summary()函数对数据做一个整体性描述。具体描述性统计如下,其中包括了各个变量的最大值、最小值、中位数、1/4分位数和3/4分位数等,如图所示。 

接下来进行数据的可视化展示:

我们首先画出基金收盘价的柱状图查看

head(price,n=10)
barplot(head(price,n=100),xlab="data",ylab="close_price",col="pink",main="Fund closing price",border="white")

接下来画出基金开盘价的折线图

 从以上两幅图我们大致可以看出,随着大体趋势的变化,基金收盘价在逐步上升,而基金开盘价在逐步下降。接下来画出所有特征的箱线图来查看

par(mfrow = c(3, 2)) 
boxplot(data1$open, main = "Fund opening price",col = "lightblue", border = "blue")
boxplot(data1$high, main = "Fund's highest point price",col = "lightblue", border = "blue")
boxplot(data1$low, main = "The lowest point price of the fund",col = "lightblue", border = "blue")boxplot(data1$close, main = "Fund closing price",col = "lightblue", border = "blue")
boxplot(data1$volume, main = "Fund trading volume",col = "lightblue", border = "blue")
boxplot(data1$rate, main = "Fund change rate",col = "lightblue", border = "blue")

随后我们通过相关系数热力图和相关系数具体结果来进行分析:

library(ggcorrplot)
corr = cor(data1[, c(2:7)])
p.mat <- cor_pmat(data1[, c(2:7)], use = "complete", method = "pearson")
ggcorrplot(corr, hc.order = TRUE,colors = c("red",  "green","blue"), type = "lower", lab = TRUE, p.mat = p.mat, insig = "blank")

 

从图6可以看出,收盘价与最高点、最低点以及开盘价最为相关,与其他特征暂时没有那么强的相关性。接下来绘制数据集中各个变量之间的散点图、直方图和密度图等:

 从上面的结果我们可以看出与之前的热力图的结果是一致的。接下来正式进入多元线性回归。我们将close作为“y”,其他全部当作特征。

##Stepwise regression
fit1 <- step(fit,direction = "backward") 
summary(fit1)

从回归结果来看,开盘价,最低最高点价格以及涨幅都是显著性的。接下来进行逐步回归,查看AIC值:

 

 

从图中可以看出,我们剔除了volume变量。随后进行相应的检验:

异方差检验 

#Heteroscedasticity test
library(foreign)
library(zoo)
lmtest::bptest(fit1)###Autocorrelation test DW is generally used for time series data
library(lmtest)
dwtest(fit)

异方差检验结果

Stufentsized Breusch-Pagan test

Data: fit2_step

BP= 29.157,  df=4 , p_value=7.265e-06

自相关检验结果

Durbin-Watson test

Data: fit

DW = 2.1237, p-value = 0.8051

alternative hypothesis: true autocorrelation is greater than 0

 多重共线性检验

      open       high         low         rate

271.732170  144.403137  119.023976   3.668331

 

模型的残差也进行正态性检验

接下来直接画出残差图来看

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

接下来针对close进行时间序列分析和预测:

  #White noise test
for(i in 1:3) print(Box.test(HL,type = "Ljung-Box",lag=6*i))par(mfrow = c(1, 2))
acf(HL,main='ACF',lag.max = 12)
pacf(HL,main='PACF',lag.max = 12)

表  时间序列数据纯随机检验

滞后期数

卡方统计量

P值

滞后6期P值

1200.3

0.000

滞后12期P值

滞后18期P值

2065.9

2658.4

0.000

0.000

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

下面进行ADF检验,查看其平稳性:

 从结果看来,序列数据并不平稳,需要进行差分测试,在差分测试后需要对序列数据进行二阶差分:

随后运用auto.arima()函数自动定阶:

###Automatic ranking
auto.arima(HL)###Model fitting
HL.fit<-auto.arima(HL)
HL.fit 
arima<-auto.arima(HL,trace=T)
accuracy(HL.fit)

 

接下来进行模型比较和选择:

 

 

在模型选择完成之后还是需要进行相应的检验

 

 残差检验

Box-Ljung test

data:  HL.fit$residuals

X-squared = 0.21185, df = 1, p-value = 0.6453

接下来进行模型预测结果及可视化

###Model prediction 15 periods
per_HL<-forecast(HL.fit,h=15)
per_HL
plot(per_HL)L1<-per_HL$fitted-1.96*sqrt(HL.fit $sigma2)
U1<-per_HL$fitted+1.96*sqrt(HL.fit $sigma2)
L2<-ts(per_HL$lower[,2])
U2<-ts(per_HL$upper[,2])
c1<-min(HL,L1,L2)
c2<-max(HL,L2,U2)
plot(HL,type = "p",pch=8,ylim = c(c1,c2))
lines(per_HL$fitted,col=2,lwd=2)
lines(per_HL$mean,col=2,lwd=2)
lines(L1,col=4,lty=2)
lines(L2,col=4,lty=2)
lines(U1,col=4,lty=2)
lines(U2,col=4,lty=2)

 从上面具体数据和15期预测可视化我们都能看见,随着时间的变化,该基金的整体收盘价是逐渐下降的。

五、结论

本文使用了多元线性回归和时间序列预测方法对基金的表现进行研究和预测。具体步骤如下:

数据收集,多元线性回归分析:我们使用多元线性回归模型对基金的表现进行了分析,找出对基金收盘价影响最大的因素。时间序列预测:我们使用时间序列分析方法对基金的未来表现进行预测,包括基金的趋势和周期等。

参考文献:

  1. 徐聪. 基金经理投资风险行为机理分析和预测[D].东北大学,2014.
  2. 李盈盈.上海养老保险基金良性运营计算机仿真研究[J].科技信息,2014(01):62-63+106.
  3. 吴君槐,张丽萍.城乡居民医保整合背景下基于GM(1,1)模型的基金预测研究[J].中国集体经济,2022,No.718(26):103-107.

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二二复制模式,发展下属并形成一个销售网络体系来实现收入增长!

二二复制模式&#xff0c;又称为双轨制&#xff0c;是一种直销理念的营销模式&#xff0c;其核心在于通过发展下属并形成一个销售网络体系来实现收入增长。以下是对二二复制模式的详细讲解&#xff0c;包括其优势和玩法介绍&#xff0c;以及适合的行业。 一、二二复制模式的定…

Flutter集成高德导航SDK(Android篇)(JAVA语法)

先上flutter doctor&#xff1a; flutter sdk版本为&#xff1a;3.19.4 引入依赖&#xff1a; 在app的build.gradle下&#xff0c;添加如下依赖&#xff1a; implementation com.amap.api:navi-3dmap:10.0.700_3dmap10.0.700navi-3dmap里面包含了定位功能&#xff0c;地图功能…

香橙派AIpro开发板评测:部署yolov5模型实现图像和视频中物体的识别

OrangePi AIpro 作为业界首款基于昇腾深度研发的AI开发板&#xff0c;自发布以来就引起了我的极大关注。其配备的8/20TOPS澎湃算力&#xff0c;堪称目前开发板市场中的顶尖性能&#xff0c;实在令人垂涎三尺。如此强大的板子&#xff0c;当然要亲自体验一番。今天非常荣幸地拿到…

边界无限陈佩文:红蓝对抗安全演练常态化的各方分析

虽然常态化演练尚未正式开始&#xff0c;但我们仍然希望对各方的表现进行一些分析和预测&#xff0c;以辅助我们对市场的判断和决策。同时&#xff0c;也希望通过这些初步的见解&#xff0c;抛砖引玉&#xff0c;引发更多有价值的讨论和观点。 “船停在码头是最安全的&#xf…

Hi3861 OpenHarmony嵌入式应用入门--SNTP

sntp&#xff08;Simple Network Time Protocol&#xff09;是一种网络时间协议&#xff0c;它是NTP&#xff08;Network Time Protocol&#xff09;的一个简化版本。 本项目是从LwIP中抽取的SNTP代码&#xff1b; Hi3861 SDK中已经包含了一份预编译的lwip&#xff0c;但没有…

线程间的通信

文章目录 线程间的通讯技术就是通过等待和唤醒机制&#xff0c;来实现多个线程协同操作完成某一项任务&#xff0c;例如经典的生产者和消费者案例。等待唤醒机制其实就是让线程进入等待状态或者让线程从等待状态中唤醒&#xff0c;需要用到两种方法&#xff0c;如下&#xff1a…

红蓝对抗下的内网横向移动渗透技术详解

一、利用Windows计划任务横向移动 Windows计划任务是一个非常实用的功能&#xff0c;可以帮助我们自动完成一些重复性的任务。比如&#xff0c;我们可以设定一个计划任务来自动备份文件、更新软件、执行脚本等,本文主要介绍了如何利用Windows计划任务进行横向渗透。 &#xf…

C#委托事件的实现

1、事件 在C#中事件是一种特殊的委托类型&#xff0c;用于在对象之间提供一种基于观察者模式的通知机制。 1.1、事件的发送方定义了一个委托&#xff0c;委托类型的声明包含了事件的签名&#xff0c;即事件处理器方法的签名。 1.2、事件的订阅者可以通过运算符来注册事件处理器…

Python基础小知识问答系列-过滤列表元素

1. 问题&#xff1a; 如何根据单一条件过滤列表的元素&#xff1f; 如何根据复杂条件过滤列表的元素&#xff1f; 2. 解决方式&#xff1a; 可以使用推导式生成器&#xff0c;进行单一条件的列表元素过滤&#xff0c;尤其是列表内容较多时; 也可以使用filter函数进行列…

Linux Static Keys和jump label机制

文章目录 前言一、asm goto二、API使用2.1 低版本API2.2 高版本API 三、jump label四、源码分析4.1 数据结构4.2 static_key_false4.3 jump_label_init4.4 __jump_label_transform4.5 static_key_slow_inc/dec 五、__jump_table节5.1 内核5.2 内核模块 六、修改内存代码6.1 x86…

24西安电子科技大学数学与统计学院—考研录取情况

24西安电子科技大学—数学与统计学院—考研录取统计 01、数学与统计学院各个方向 02、24数学与统计学院近三年复试分数线对比 数统院24年院线相对于23年院线增加高达30分&#xff0c;确实增长浮动比较高&#xff0c;接近30分的水平&#xff0c;因此大家更需要好好去努力&#x…

GTest和Catch2单元测试学习(附Cmake测试代码库)

kevin_CTest CTest 单元测试学习 Gitee库&#xff1a; https://gitee.com/bigearrabbit/kevin_ctest.git 示例多是从网页文章上摘取的&#xff0c;大部分记录在下面&#xff0c;或者源码内。供学习参考。 CTest 学习Catch2 框架 单个文档的测试架构&#xff0c;使用方便&am…

vue3中svg图标的封装与使用

组件封装&#xff1a; <template><svg :class"svgClass" :style"{ width: size px, height: size px, color: color, verticalAlign:deviationem}" aria-hidden"true"><use :xlink:href"#icon-${name}" /></s…

FreeRTOS的任务间通信

文章目录 4 FreeRTOS任务间通信4.1 队列4.1.1 队列的使用4.1.2 队列的创建&#xff0c;删除&#xff0c;复位4.1.3 队列的发送&#xff0c;接收&#xff0c;查询 4.2 邮箱&#xff08;mailbox&#xff09;4.2.1 任务中读写邮箱4.2.2 中断中读写邮箱 4.3 队列集4.3.1 队列集的创…

Vue打包文件dist放在SpringBoot项目下运行(正确实现全过程)

项目开发中&#xff0c;一般我们都会使用SpringBootVue进行前后端开发。 在部署时&#xff0c;会后端启动一个服务&#xff0c;再启动一个nginx&#xff0c;nginx中配置前端打包文件dist进行项目访问。 实际上&#xff0c;我们也可以把打包好的dist目录放在SpringBoot项目下进…

Os-hackNos

下载地址 https://download.vulnhub.com/hacknos/Os-hackNos-1.ova 环境配置如果出现&#xff0c;扫描不到IP的情况&#xff0c;可以尝试vulnhub靶机检测不到IP地址解决办法_vulnhub靶机扫描不到ip-CSDN博客 信息收集 确定靶机地址&#xff1a; 探测到存活主机192.168.111.…

如何利用AI撰写短文案获客?分享6大平台和3大步骤!

从去年开始&#xff0c;很多大厂都在裁员&#xff0c;原因就是因为AI的火爆&#xff0c;替代了很多机械式的劳动力。以前很多人可以通过机械式的工作来摸鱼&#xff0c;现在AI完成的效率比人工的要高很多倍。 国内好用的AI平台非常多&#xff0c;有时候也可以使用几个AI平台结合…

软件设计之Java入门视频(11)

软件设计之Java入门视频(11) 视频教程来自B站尚硅谷&#xff1a; 尚硅谷Java入门视频教程&#xff0c;宋红康java基础视频 相关文件资料&#xff08;百度网盘&#xff09; 提取密码&#xff1a;8op3 idea 下载可以关注 软件管家 公众号 学习内容&#xff1a; 该视频共分为1-7…

STM32学习历程(day2)

GPIO解释 GPIO(General-purpose input/output) 可以配置为八种输入输出模式 引脚电平 0V-3.3V 部分引脚可容忍5v 输出模式可控制端口输出高低电平 用以驱动LED、控制蜂鸣器、模拟通信协议输出时序 输入模式可读取端口的高低电平或电压&#xff0c;用于读取按键输入、外界…

uniapp自定义富文本现实组件(支持查看和收起)

废话不多说上代码 CollapseText.vue <template><view v-if"descr"><scroll-view class"collapse-text" :style"{maxHeight: computedMaxHeight}"><!-- <slot></slot> --><rich-text :nodes"descr&q…