garch模型的结果分析_管理学五力模型分析案例

garch模型的结果分析_管理学五力模型分析案例  readdatalibrary(quantmod)  #加载包getSymbols(‘^HSI’,from=’1989-12-01′,to=’2013-11-30′)  #从Yahoo网站下载恒生指数日价格数据dim(HSI)   #数据规模names(HSI)  #数据变量名称chartSeries(HSI,theme=’white’)  #画出价格与交易的时…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 

 read data

library(quantmod)  # 加载包
getSymbols('^HSI', from='1989-12-01',to='2013-11-30')  # 从Yahoo网站下载恒生指数日价格数据
dim(HSI)   # 数据规模
names(HSI)  # 数据变量名称
chartSeries(HSI,theme='white')  # 画出价格与交易的时序图

Jetbrains全家桶1年46,售后保障稳定

 

garch模型的结果分析_管理学五力模型分析案例

HSI <-read.table('HSI.txt')  # 或者从硬盘中读取恒生指数日价格数据
HSI <-as.xts(HSI)  # 将数据格式转化为xts格式

 

compute return series

ptd.HSI <-HSI$HSI.Adjusted   # 提取日收盘价信息
rtd.HSI <-diff(log(ptd.HSI))*100   # 计算日对数收益
rtd.HSI <-rtd.HSI[-1,]   # 删除一期缺失值
plot(rtd.HSI)   # 画出日收益序列的时序图

 

garch模型的结果分析_管理学五力模型分析案例GARCH模型案例分析

ptm.HSI <-to.monthly(HSI)$HSI.Adjusted    # 提取月收盘价信息
rtm.HSI <-diff(log(ptm.HSI))*100   # 计算月对数收益
rtm.HSI <-rtm.HSI[-1,]   # 删除一期缺失值
plot(rtm.HSI)   # 画出月收益序列的时序图

garch模型的结果分析_管理学五力模型分析案例

detach(package:quantmod)

 

ARCH效应检验

# rtm.HSI <- as.numeric(rtm.HSI)
ind.outsample <- sub(' ','',substr(index(rtm.HSI), 4, 8)) %in%'2013'  #设置样本外下标:2013年为样本外
ind.insample <-!ind.outsample   # 设置样本内下标:其余为样本内
rtm.insample <- rtm.HSI[ind.insample]
rtm.outsample <- rtm.HSI[ind.outsample]
Box.test(rtm.insample, lag=12,type='Ljung-Box')  # 月收益序列不存在自相关
Box.test(rtm.insample^2, lag=12,type='Ljung-Box')   # 平方月收益序列存在自相关

FinTS::ArchTest(x=rtm.insample,lags=12)  # 存在显著的ARCH效应

 

模型定阶

epst <- rtm.insample -mean(rtm.insample)   # 均值调整对数收益
par(mfrow=c(1,2))
acf(as.numeric(epst)^2, lag.max=20, main='平方序列')
pacf(as.numeric(epst)^2, lag.max=20,main='平方序列')  

 

garch模型的结果分析_管理学五力模型分析案例                    

 

建立GARCH类模型

library(fGarch)
GARCH.model_1 <- garchFit(~garch(1,1), data=rtm.insample,trace=FALSE)  # GARCH(1,1)-N模型
GARCH.model_2 <- garchFit(~garch(2,1), data=rtm.insample,trace=FALSE)   # GARCH(1,2)-N模型
GARCH.model_3 <- garchFit(~garch(1,1), data=rtm.insample,cond.dist='std', trace=FALSE)   #GARCH(1,1)-t模型
GARCH.model_4 <- garchFit(~garch(1,1), data=rtm.insample,cond.dist='sstd', trace=FALSE)  #GARCH(1,1)-st模型
GARCH.model_5 <- garchFit(~garch(1,1), data=rtm.insample,cond.dist='ged', trace=FALSE)   #GARCH(1,1)-GED模型
GARCH.model_6 <- garchFit(~garch(1,1), data=rtm.insample,cond.dist='sged', trace=FALSE)  #GARCH(1,1)-SGED模型

summary(GARCH.model_1)
summary(GARCH.model_3)

plot(GARCH.model_1)

提取GARCH类模型信息

vol_1 <-fBasics::volatility(GARCH.model_1)   # 提取GARCH(1,1)-N模型得到的波动率估计
sres_1 <- residuals(GARCH.model_1,standardize=TRUE)   # 提取GARCH(1,1)-N模型得到的标准化残差
vol_1.ts <- ts(vol_1, frequency=12, start=c(1990, 1))
sres_1.ts <- ts(sres_1, frequency=12, start=c(1990, 1))
par(mfcol=c(2,1))
plot(vol_1.ts, xlab='年', ylab='波动率')
plot(sres_1.ts, xlab='年', ylab='标准化残差')

garch模型的结果分析_管理学五力模型分析案例

 

模型检验

par(mfrow=c(2,2))
acf(sres_1, lag=24)
pacf(sres_1, lag=24)
acf(sres_1^2, lag=24)
pacf(sres_1^2, lag=24)

GARCH模型案例分析
garch模型的结果分析_管理学五力模型分析案例

par(mfrow=c(1,1))
qqnorm(sres_1)
qqline(sres_1)

 

模型预测

pred.model_1 <- predict(GARCH.model_1, n.ahead = 11, trace =FALSE, mse = 'cond', plot=FALSE)
pred.model_2 <- predict(GARCH.model_2, n.ahead = 11, trace =FALSE, mse = 'cond', plot=FALSE)
pred.model_3 <- predict(GARCH.model_3, n.ahead = 11, trace =FALSE, mse = 'cond', plot=FALSE)
pred.model_4 <- predict(GARCH.model_4, n.ahead = 11, trace =FALSE, mse = 'cond', plot=FALSE)
pred.model_5 <- predict(GARCH.model_5, n.ahead = 11, trace =FALSE, mse = 'cond', plot=FALSE)
pred.model_6 <- predict(GARCH.model_6, n.ahead = 11, trace =FALSE, mse = 'cond', plot=FALSE)

predVol_1 <-pred.model_1$standardDeviation
predVol_2 <- pred.model_2$standardDeviation
predVol_3 <- pred.model_3$standardDeviation
predVol_4 <- pred.model_4$standardDeviation
predVol_5 <- pred.model_5$standardDeviation
predVol_6 <- pred.model_6$standardDeviation
et <- abs(rtm.outsample - mean(rtm.outsample))
rtd.HSI.2013 <- rtd.HSI['2013']
rv <- sqrt(aggregate(rtd.HSI.2013^2,by=substr(index(rtd.HSI.2013), 1, 7), sum))

predVol <-round(rbind(predVol_1,predVol_2,predVol_3,predVol_4,predVol_5,predVol_6,
                      as.numeric(et), as.numeric(rv)), digits=3)
colnames(predVol) <- 1:11
rownames(predVol) <-c('GARCH(1,1)-N模型','GARCH(1,2)-N模型','GARCH(1,1)-t模型','GARCH(1,1)-st模型','GARCH(1,1)-GED模型','GARCH(1,1)-SGED模型','残差绝对值', '已实现波动')
print(predVol)
                        1     2     3     4     5     6     7     8     9    10    11
GARCH(1,1)-N模型    5.037 5.286 5.513 5.722 5.915 6.094 6.260 6.415 6.560 6.696 6.824
GARCH(1,2)-N模型    4.760 4.747 5.136 5.404 5.661 5.891 6.102 6.296 6.473 6.638 6.789
GARCH(1,1)-t模型    5.347 5.532 5.703 5.864 6.014 6.154 6.286 6.410 6.527 6.638 6.742
GARCH(1,1)-st模型   5.386 5.560 5.722 5.873 6.014 6.146 6.270 6.386 6.495 6.598 6.695
GARCH(1,1)-GED模型  5.168 5.374 5.565 5.741 5.906 6.059 6.203 6.338 6.464 6.583 6.695
GARCH(1,1)-SGED模型 5.229 5.423 5.601 5.767 5.920 6.063 6.197 6.322 6.439 6.548 6.651
残差绝对值          4.147 3.513 3.659 1.464 2.007 7.838 4.584 1.177 4.584 1.026 2.388
已实现波动          3.543 4.114 3.929 4.778 4.374 6.013 5.397 4.634 4.070 3.745 4.395

 

模型选择

cor(t(predVol))

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215556.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎样修改hosts文件权限_修改host显示没有权限怎么办

    怎样修改hosts文件权限_修改host显示没有权限怎么办文章目录1.打开host文件2.右键属性->安全->高级3.更改->高级->立即查找4.在下拉菜单中找到”本地账户”确定->确定->应用5.出现弹窗->确定->确定6.编辑->选中组或用户名当中的”Users(DESKTOP-XXXXX\users)”->勾选Users的权限下的:允许完全控制->点应用->确定即可修改hosts文件了。1.打开host文件文件位置C:\Windows\System32\drivers\etc

    2022年10月12日
    0
  • 数组操作方法(包括es6数组的操作方法)[通俗易懂]

    数组操作方法(包括es6数组的操作方法)[通俗易懂]//(1)push()//向数组最里面推一个或多个数据vararr=[“色”,”等”,”烟”,”雨”];arr.push(“而”,’我’,”在”);console.log(arr);//(2)unshift()//在数组的开头添加一个或多个数据vararr=[“色”,”等…

    2022年5月5日
    39
  • angular5面试题_大数据面试题

    angular5面试题_大数据面试题Angular更新还是非常快的,目前(2020)的速度是每年2个主版本。网上也有不少面试题,不过很多都是针对老的版本,尤其是AngularJS的。因为最近在看Angular的面试题,所以特意总结一下。下面内容都是基于Angularv8.0以上的。顺便科普一下,Angular最早期的版本,也叫AnugularJS,使用javascript开发;新的版本,才叫Angular,也称为Angular2,使用typescript开发,Angular和AngularJS是不兼容的(当然也有2个版本的集成方案)。

    2022年10月18日
    0
  • idea2022.01.12密钥激活码[最新免费获取]

    (idea2022.01.12密钥激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    934
  • 什么叫分销商_分销是什么意思「详细介绍」带你秒懂[通俗易懂]

    什么叫分销商_分销是什么意思「详细介绍」带你秒懂[通俗易懂]很多创业者在创业的道路上可能都会遇到一个问题那就是分销,但是很多创业者却又不懂分销是什么意思。今天我们抖音创业网大家详细地介绍一下关于分析的意思,绝对让你看完以后秒懂。分销是什么意思解释其实简单来说分销就是我们帮助别人销售商品,但是我们销售出去以后我们可以得到一定的分成,同时在我们的利润允许的情况下我们还可以继续拉下线,让其他的人成为我们的销售员工。分销实际案例模拟假如现在有一个苹果,供货商说这…

    2022年5月16日
    55
  • HandlerSocket_handlermapping原理

    HandlerSocket_handlermapping原理HandlerSocket的应用场景:MySQL自身的局限性,很多站点都采用了MySQL+Memcached的经典架构,甚至一些网站放弃MySQL而采用NoSQL产品,比如Redis/MongoDB等。不可否认,在做一些简单查询(尤其是PK查询)的时候,很多NoSQL产品比MySQL要快很多,而且前台网站上的80%以上查询都是简洁的查询业务。MySQL通过HandlerSock…

    2022年8月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号