- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
r
r 语言 garchcopulavar 模型 附代码数据
# 数据处理思路
## 1.原始数据为 4 组时间序列;
##读取软件包
library(fGarch) library(quantmod) library(ghyp) library(copula)
##设置工作目录##读取数据
data=read.csv(Data.csv)
head(data)
##
Pound
Jpan
Usd
Eur
##
1 -0.016689192
-0.006422036
-0.004161304
0.001084608
##
2 0.000000000
0.005993930
0.000000000
-0.034008741
##
3 0.000000000
-0.006850273
0.008322209
-0.013969242
##
4 0.012517495
0.010275005
0.000000000
-0.001120290
##
5 0.012513888
-0.007277877
0.020798548
-0.011676878
##
6 -0.008342191
0.002140679
0.012474350
0.007202157
data=na.omit(data)
# 2.对每组数据进行基本检验(自回归,异方差,自相关,稳定性,正态性)然后进G 行ARCH(1,1)建模,得到四个边缘分布;
##自编函数进行基本检验testfun=function(yield){ ##绘制时序图ts.plot(yield)
##基本统计量summary(yield) sd(yield) var(yield)
## /*偏度、峰度*/ n- length(yield) m - mean(yield)
s - sd(yield)
g1 - n/((n-1)*(n-2))*sum((yield-m)^3)/s^3
g2 - ((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((yield-m)^4)/s^4-(3*(n-1)^2)/
((n-2)*(n-3)))
##偏度g1
##峰度g2
## /* 作 图 */ hist(yield,freq = F) lines(density(yield))
##QQ 图(正态性) qqnorm(yield) qqline(yield) library(tseries)
## /*JB 检验*/(检验正态性)
print(jarque.bera.test(yield))
## /*自相关性检验*/
print(Box.test(yield,type=Ljung-Box ) )
# 然后用自相关图检查序列的平稳性,,最后发现一阶差分后的序列是平稳的
##检验自相关 偏相关系数acf(yield) pacf(yield)
# 下面对平稳性序列建立 模型 ,偏相关系数在滞后1 期后很快地趋向于0,所以取p=1
,自相关系数图形具有拖尾性,所以初步判断为ar(1)模型
## /*单位根检验*/ 稳定性检验print(adf.test(yield)) print(pp.test(yield))
## /* ARCH-LM 检验结果*/ 异方差检验
library(FinTS)
print(ArchTest(yield, lags=12, demean = FALSE) )
## 建立/*GARCH*/模型library(fGarch); library(rugarch)
## /*GARCH(1,1)-norm*/
garch_norm-garchFit(yield~ garch(1, 1),trace=FALSE) garch_norm
spec-ugarchspec(variance.model=list(garchOrder=c(1,1)),
mean.model=list(armaOrder=c(0,0))) fit - ugarchfit(spec = spec, data = yield)
fit
fit
}
##对每一组数据进行分析
yield=data[,1]
testfun (yield)
##
## Jarque Bera Test ##
## data: yield
## X-squared = 614.62, df = 2, p-value 2.2e-16 ##
##
## Box-Ljung test ##
## data: yield
## X-squared = 0.51149, df = 1, p-value = 0.4745
## Warning in adf.test(yield): p-value smaller than printed p
文档评论(0)