摘要

为防范股票市场上的不确定性和风险,有效地度量股票指数收益率的波动性显得尤为重要。本文运用GARCH族模型拟合了股票指数收益率的波动性方程并实证研究了全球有代表性的上证综指、NASDAQ指数、德国DAX、日本日经指数。结果表明四个国家股票收益率均有聚集性、持续性,股票市场存在着冲击的非对称性。具体而言,美国、德国、日本股票市场对利空消息敏感,而对利好消息保持谨慎。而中国对利好利空消息均敏感,体现市场抗风险的薄弱性。此外,本文尝试使用SGARCH模型对股票收益率序列进行滚动预测,取得较好预测精度,同时文章首创性的基于Var曲线提出了股市危机预警信号。这些方案可以帮助投资者合理投资,增强股市的合理性、抗风险性。

关键字:GARCH    波动聚集   非对称性   滚动预测     Var   预警

各个股票市场操作方法类似,以上证指数为例展示代码。

包载入与数据预处理:

#包载入
library(fGarch)
library(rugarch)#garch拟合与预测
library(TSA)#BIC准则确定arma阶数  eacf确定garch阶数
library(tseries)
library(zoo)#转换成时间序列类型
library(forecast)#auto.arima() arma阶数确定方法
library(psych)#数据描述统计分析
library(ggplot2)#绘图
library(ccgarch)#JB统计量
###NASDAQ
#数据预处理
StockData<-read.csv("D:\\rwork\\课程设计\\SHANGZHENG1992-2015.csv",encoding='utf-8',header = T)  #header = Falese
time<-as.Date(StockData$'time',format="%Y/%m/%d")
closeprice<-StockData$'closeprice'
data<-zoo(closeprice,time)
#选中局部数据
selectdata=window(data, start = as.Date("2005-01-01"), end = as.Date("2015-05-01"))
plot(selectdata,xlab="time",ylab="index",main="Shanghai Composite Index")
rlog=log(selectdata)
rlogdiff=diff(log(selectdata))*100 #数据转换
rlogdifftime=index(rlogdiff)
rlogdiffdata=coredata(rlogdiff)

数据样例:

数据描述与模型匹配检验

(1)正态性检验

par(mfrow=c(1,3),oma=c(0.2,0.2,0.2,0.2))
hist(rlogdiff,main="Shanghai Composite Index Log Return Distribution",col="yellow",xlab="",ylim=c(0,0.4),probability=T)
lines(density(rlogdiff),lwd=1);rug(rlogdiff)#first graph
qqnorm(rlogdiff);qqline(rlogdiff)#second graph
plot(rlogdiff,ylab="value");abline(h=0,lty=2)#third graph


分布为数据分布函数,QQ图,对数收益率序列折现图。收益率分布图、QQ图可以看出金融时间序列确实表现出尖峰厚尾性,相对于标准正态分布,峰度更高,两段的尾部更厚,也就是极值更多。由收益率波动序列可以看出各国股票指数收益率序列在样本区间内均表现出一定的波动性和聚集性,其中2008-2009年波动幅度尤为明显。

同时也可以用统计量检验正态性

shapiro.test(rlogdiffdata)#值越大,越表示不是正态,P越小越非正态

其他数据描述:

describe(rlogdiffdata)
jb.test(rlogdiffdata)

(2)平稳性检验

#若 ADF  p<0.0  认为序列是均值回归的
adf.test(rlog,alt="stationary")#注意  这是未差分的数据
adf.test(rlogdiffdata,alt="stationary")#这是差分后的数据

p<0.01序列为平稳序列

(3)ARCH 效应检验

#得先arima拟合模型,对残差进行LM检验
armamodel=auto.arima(rlogdiff)#自动基于AIC最小准则,寻找最佳拟合模型
armamodel
plot(residuals(armamodel))
par(mfrow=c(1,1))
lmresult=McLeod.Li.test(y=residuals(armamodel))#残差arch效应很显著


由图可知,残差序列滞后36阶后,残差自回归函数的系数显著,序列仍然存在自相关。因此 拒绝原假设,说明样本序列存在显著的ARCH效应。

综上,对数收益率序列具有波动聚集性,序列平稳,有显著ARCH效应。序列时候GARCH模型建模。

模型拟合

分别使用SGARCH与EGARCH模型拟合序列,SGARCH拟合效果更合适。但是EGARCH能分析收益率序列的“杠杆效应”此处以EGARCH做演示

myspec=ugarchspec(variance.model = list(model = "eGARCH", garchOrder = c(1, 1)),mean.model = list(armaOrder = c(0,0), include.mean = TRUE),distribution.model = "std"
)myfit=ugarchfit(myspec,data=rlogdiff,solver="gosolnp")
myfit

模型诊断

#残差正态性检验
plot(myfit,which=8)
plot(myfit,which=9)
shapiro.test(coredata(residuals(myfit)))#值越大,越表示不是正态,P越小越非正态
#残差相关性检验
acf(coredata(residuals(myfit)))
acf(residuals(myfit))
plot(myfit,which=10)
plot(myfit,which=11)
#系数是否显著
myfit #看P值是否够小
#拟合效果  残差如何
plot(myfit,which=3)
plot(residuals(myfit)) #看残差

插曲:

各国收益率信息冲击曲线

plot(myfit,which=12)

从上图可以看出,美国、德国、日本股票指数收益率在信息冲击小于零(即利空消息或负冲击)时比较陡峭,而在信息冲击大于零(即利好消息或正冲击时)则比较平缓。而上证综指在利空利好消息时曲线均走势陡峭。与其他国家有明显差异,说明上证综指对对消息敏感,抗风险能力较弱。

综上,用GARCH模型拟合收益率序列切实可行。

基于VAR曲线的收益风险预警

实现代码:

spec = ugarchspec(variance.model = list(model = "sGARCH"), distribution.model = "std")
cl = makePSOCKcluster(10)
#滚动预测
roll = ugarchroll(spec, rlogdiff, n.start =300,refit.every = 300,refit.window = "moving", solver = "hybrid", calculate.VaR = TRUE,VaR.alpha = c(0.01, 0.025, 0.05), cluster = cl,keep.coef = TRUE)

预测残差

report(roll, type = "fpm")

结果展示

plot(roll,which=4,VaR.alpha=0.01)

由上图可知在较大波动率之前确实有一些点落在Var曲线以下(标注为红点)。但在波动平稳期,模型预警正确率不高(如2011年4月到2013年4月)所以该模型在波动率非平稳期有一定参考价值。

以上证指数为例,在五月以前有不少收益率值落在了var曲线以下。可见,现在上证指数的大跌在之前是有留下一定信号的。

基于GARCH模型的股市研究与危机预警——R语言实现相关推荐

  1. R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值、使用cox模型、并添加协变量、R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的AUC曲线

    R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值.使用cox模型.并添加协变量.R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的AUC曲线 目录

  2. 南航数据分析与挖掘课设1(上)——基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测(R语言)

    基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测 摘要 在国民经济发展的过程中,国内生产总值(GDP)是指按国家市场价格计算的一个国家(或地区)所有常驻单位在一定时期内生产活动的 ...

  3. garch预测 python_Python实战—基于GARCH模型股票趋势预测

    模型介绍GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的.它是ARCH模型的推广.GARCH(p,0)模型,相当于ARCH(p)模型.数据来源 本 ...

  4. 医学研究人员为什么要学习R语言?哪本书最适合学习?

    在大数据时代,数据分析无疑是最红火的技术之一.随着我国医疗卫生事业的发展与壮大,广大医学工作者对数据分析方法的需求也越来越大.医学数据分析已经成为当前的热门领域,它是医学.统计学和计算机科学等领域的交 ...

  5. 二元置信椭圆r语言_一般加性模型的简介、应用举例及R语言操作

    一般加性模型的简介.应用及R语言操作举例前文在"平滑回归举例"中,提到当未知自变量和响应变量间的关系,难以选择合适的参数模型描述二者间的响应状态,或者期望探索二者可能的响应曲线形式 ...

  6. 南航数据分析与挖掘课设1(下)——基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测(R语言代码附录)

    1.GDP1.R #先做这个 GDP1 <- read.table("GDP.txt",header=TRUE) GDP1 reg1 <- lm(y~x1+x2+x3+ ...

  7. 【项目实战】Python基于GARCH模型进行预测特斯拉股票,以及评估金融资产的风险

  8. R语言怎么比较两个模型C指数,手把手教你用R语言评价临床预测模型,一文就够(附代码)...

    (三)Logistic回归模型评价: 在常用的临床模型构建中,主要分为两种,包括临床预测模型(Cox回归模型)和临床诊断模型(Logstic回归模型).在之前的内容中,阿琛给大家介绍了如何使用Nomo ...

  9. r语言 协整_基于协整关系的配对量化交易策略-R语言

    基于协整关系的配对交易比之前的基于距离和相关性要更先进一些.收益上确实也体现出来了. library(tseries) adf.test(xom) adf.test(cvx) model <- ...

  10. R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列...

    原文链接:http://tecdat.cn/?p=26897 风险价值 (VaR) 是金融风险管理中使用最广泛的市场风险度量,也被投资组合经理等从业者用来解释未来市场风险(点击文末"阅读原文 ...

最新文章

  1. 数字化正在使CIO职责发生变化
  2. linux 下解压缩rar文件
  3. Halcon知识:如何求一个工件的粗细
  4. 如何查询服务器是否安装系统时间,如何查看系统当前的NTP配置?
  5. Symbol MC1000 扫描 冲突问题 把下面文件做成scanwedge.reg的注册表文件,放在Application重起
  6. 指针01:指针的定义与使用
  7. 洛谷——P1590 失踪的7
  8. 嵌入式系统——软件开发模型
  9. .net reactor 学习系列(四)---.net reactor应用场景
  10. 【小窍门tip】oracle sequence 修改增量值
  11. JanusGraph快速开始
  12. Unity预览代码中文乱码解决方案
  13. iPhone 11 Pro 的拍照好在哪?这是专业摄影师给出的答案
  14. 软件测试知识点和面试题--app测试篇
  15. java 依赖的项目报错_关于eclipse的maven项目Java Build Path中maven依赖报错问题
  16. 【成为架构师课程系列】消息队列:秒杀时如何处理每秒上万次的下单请求?
  17. android 8.0动态申请读写权限
  18. yara 源码学习(一) 综述
  19. vba 全拼_EXCEL中直接把中文转换成拼音全拼
  20. 格式塔理论主要是用计算机,就5个法则,轻松掌握格式塔理论!

热门文章

  1. 电子或计算机机类学校,热门理工科工程专业当然属于计算机、电子信息和机械...
  2. switch更新主机服务器维护,switch更新链接不到服务器
  3. 龙芯3a4000 交叉编译链接错误
  4. html5获取经纬度页面,html5获取经纬度
  5. 华氏温度计算机语言,python中将华氏温度转换为摄氏温度的示例
  6. robot_localization 源码解析(1)ekf_localization_node
  7. 利用FolderSync实现本地FTP备份同步
  8. 惠普电脑u盘重装系统步骤_惠普电脑怎么用u盘重装系统步骤
  9. Google谷歌搜索引擎镜像入口网址大全导航,谷歌搜索引擎镜像站
  10. php实现ts流切片,HLS-m3u8播放列表和ts切片(2)