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

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

时间:2024-07-05 11:55:45浏览次数:22  
标签:数据分析 中证 预测 接下来 price 40 main data1 基金

一、引言

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

二、研究综述

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

三、理论

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

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.

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

标签:数据分析,中证,预测,接下来,price,40,main,data1,基金
From: https://blog.csdn.net/m0_62638421/article/details/140061084

相关文章

  • R语言数据分析案例41-上证00001股票多元线性回归和预测
    一、研究背景和意义随着经济的迅速发展和技术的进步,炒股已经不再是少数金融专业人士的专属领域,而是成为了社会广泛关注的话题。股市投资既有赚取丰厚收益的机会,也伴随着一定的风险,因此对股票未来走势的预测具有极为重要的现实意义。预测模型中的多元线性回归模型和时间序列模......
  • Python数据分析代码示例
    数据清洗在进行数据分析之前,通常需要对原始数据进行清洗,即处理缺失值、异常值、重复值等问题。下面是一个数据清洗的示例代码:importpandasaspd#读取原始数据data=pd.read_csv('data.csv')#处理缺失值data=data.dropna()#处理异常值data=data[data['value'......
  • Python数据分析方法与技巧
    背景介绍数据分析是数据科学领域的核心技能之一,它涉及到数据的收集、清洗、处理、分析和可视化。数据分析是指通过收集、清洗、处理、分析和可视化数据来发现隐藏的模式、趋势和关系的过程。数据分析是数据科学的一个重要环节,它可以帮助我们解决各种问题,如预测、优化、决策等。......
  • 海思SD3403/SS928V100开发(14)WIFI模块RTL8821驱动调试
    1.前言芯片平台:海思SD3403/SS928V100操作系统平台:Ubuntu20.04.05【自己移植】WIFI模块:LB-LINK的RTL88212. 调试记录参考供应商提供的操作手册2.1lsusb查看设备2.2编译供应商提供的驱动2.2.1修改Makefile2.2.2编译报错解决办法:将Makefile中arm改成ar......
  • 程序人生日记20240705|工作零食:米饭+十分米莲藕汁+饼干(减脂记录)
    程序员的工作饮食减脂记录打卡餐别:早餐零食详情:(同事给的不算统计内)零食名称:十分米莲藕汁1杯主食选择:全麦法棍。大致热量估算:莲藕汁约50卡,低脂法棍约100卡,总计约150卡。初始数据:体重:90公斤目标:80公斤完成情况:完成。程序员自律宣言:程序猿不可以土肥圆~零食库剩余情况:10......
  • YC314A [ 20240704 CQYC省选模拟赛 T1 ] 士兵(solider)
    题意给定一张\(n\)个点\(m\)条边的有向图,每条边上有一个字母。\(q\)次询问,每次询问\(s\tot\)中的最短回文路径的长度是多少。\(n\le10^3,m\le10^5\)Sol区间\(\text{dp}\),设\(f_{i,j}\)表示从\(i\)到\(j\)的最短回文路径的长度。每次枚举一条边\(......
  • 2024 年亚太杯 APMCM 数学建模竞赛 B题 洪水灾害的数据分析与预测 详细思路+matlab代
    比赛期间24小时内半价,思路会结合chatgpt-4,都是个人比赛思路,可能不是很好,但是24年所有数学建模思路都会发布到这一个专栏内,只需订阅一次,感谢大家的一直支持!!!B题洪水灾害的数据分析与预测洪水是暴雨、急剧融冰化雪、风暴潮等自然因素引起的江河湖泊水量迅速增加,或者水位迅猛......
  • 【适用于各种工业应用】IMLT65R050M2H IMLT65R040M2H IMLT65R015M2H IMLT65R060M2H Co
    摘要CoolSiC™650VG2MOSFET可通过降低能耗来充分利用碳化硅的性能,从而在功率转换过程中实现更高效率。这些CoolSiC650VG2MOSFET适用于各种功率半导体应用,如光伏、能量存储、电动汽车直流充电、电机驱动器和工业电源。配备CoolSiCG2的电动汽车用直流快速充电站与前几代产品......
  • 【单片机毕业设计选题24046】-基于单片机的智能鱼缸设计
    系统功能:检测水温,水温过低开启PTC加热。检测水位,水位过低开启水泵抽水。检测湿度,湿度过高则开启风扇通风。检测PH值和浑浊度,TTS语音播报功能,OLED显示系统信息,蓝牙模块连接手机APP。系统上电后显示“欢迎使用智能鱼缸系统请稍后”两秒后进入正常显示页面。第一页面第一行显......
  • keil5.40版,下载程序到smt32后,解决机器不复位的问题
    该版本下载程序到stm32后,机器不会自动复位。 1.首先确保,FlashDownload选项卡中的选项ResetandRun已被选中:2.但是下载程序后,发现不能自动复位,每次需要手动点击reset按钮,比较麻烦,原因是在5.40版本中,要取消以下设置:3.取消enable的设置后,后续就可以自动复位了,复位按钮的寿......