R语言DCC-GARCH模型

感谢nie chun xiao
首先简述一下对一个时间序列建立DCC-GARCH模型的步骤:
1.通常时间序列不平稳,且经常对时间序列取对数化。所以第一步先取对数化、差分(是为了解决序列不平稳的问题)。
2.adf单位根检验显示平稳后,建立ARMA模型,用来提取方差。
3.用LB检验残差项是否存在自相关性,防止对下一步残差平方的自相关检验产生影响。
4.当残差项不存在自相关性,进一步用LB检验残差项的平方是否存在自相关性。当检验p值很小拒绝原假设,表明存在自相关性,满足建立GARCH模型的前提条件。
5. 检验ARMA模型残差是否存在ARCH效应,若存在,可以建立GARCH模型
6. 对收益率序列拟合GARCH模型
7. 对收益率序列进行DCC-GARCH模型的拟合,选择0-4绘制相关图示。

本人的数据形式如下。从Excel中复制粘贴到了txt中。

在这里插入图片描述

导入数据,并绘制三个样本序列的价格序列图。

p=read.table('C:/Users/dqxq767/Documents/R/p.txt',sep = '\t',header = T)
time=as.Date(p$'date',"%Y/%m/%d")
p1=ts(p[,2:4])
install.packages('zoo')
library(zoo)
par(mfrow=c(1,1),oma=c(0.2,0.2,0.2,0.2)) 
plot(zoo(p1,time),xlab="time",ylab="价格美元", plot.type = "single",col=c("red","black","yellow","green"),lty=1:3,main="样本的价格序列");
par(mfrow=c(1,3),oma=c(0.2,0.2,0.2,0.2))  
plot(zoo(p1[,1],time),xlab="time",ylab="价格美元",main="比特币价格序列")
plot(zoo(xt[,2],time),xlab="time",ylab="价格美元",main="以太坊价格序列")
plot(zoo(xt[,3],time),xlab="time",ylab="价格美元",main="瑞波币价格序列")

计算相关系数矩阵

p1cor=cor(p1)             ##相关系数矩阵
p1cor

计算基本统计量最大值、最小值、中位数、偏度、峰度、极值

install.packages('DistributionUtils')
library(DistributionUtils)      #基本统计量计算
data_outline = function(x){
   
  m = mean(x)
  d=max(x)
  xd=min(x)
  me = median(x)
  s = sd(x)
  kur=kurtosis(x)
  ske=skewness(x)
  R = max(x)-min(x)
  data.frame( Mean=m,  Median=me, max=d,min=xd,std_dev=s,
             Skewness=ske, Kurtosis=kur, R=R)
}
for (i in  1:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值