R语言时变波动率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率时间序列

简介: R语言时变波动率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率时间序列

自回归条件异方差(ARCH)模型涉及具有时变异方差的时间序列,其中方差是以特定时间点的现有信息为条件的。

ARCH模型

ARCH模型假设时间序列模型中误差项的条件均值是常数(零),与我们迄今为止讨论的非平稳序列不同),但其条件方差不是。这样一个模型可以用公式1、2和3来描述。

方程4和5给出了测试模型和假设,以测试时间序列中的ARCH效应,其中残差e^t来自于将变量yt回归一个常数,如1,或回归一个常数加上其他回归因子;方程4中的测试可能包括几个滞后项,在这种情况下,无效假设(方程5)是所有这些项都不显著。

无效假设是不存在ARCH效应。检验统计量为

下面的例子使用了数据集,它包含了500个股票收益率的生成观测值。图显示了数据的时间序列图和柱状图。

plot.ts(r)
hist(r)

图: 变量 的水平和柱状图

让我们首先对数据集中的变量r一步一步地进行公式4和5中描述的ARCH检验。

summary(yd)

ehsq <- ts(resid(mean)^2)
summary(ARCH)

Rsq <- glance(ARCH)\[\[1\]\]
LM <- (T-q)*Rsq
Chicr <- qchisq(1-alpha, q)

结果是LM统计量,等于62.16,与α=0.05和q=1自由度的临界卡方值进行比较;这个值是χ2(0.95,1)=3.84;这表明拒绝了无效假设,结论是该序列具有ARCH效应。

如果我们不使用一步步的程序,而是使用R的ARCH检验功能之一,也可以得出同样的结论。

ArchTest

函数garch(),当使用order=参数等于c(0,1)时,成为一个ARCH模型。这个函数可以用来估计和绘制方程3中定义的方差ht,如以下代码和图所示。

garch(r,c(0,1))

summary(arch)

ts(2*fitted.values^2)
plot.ts(hhat)

图 对数据集的ARCH(1)方差的估计

GARCH模型

# 使用软件包\`garch\`来建立GARCH模型
fit(spec=garch, data=r)
coef(Fit)

fitted.values
fit$sigma^2)
plot.ts(hhat)

图: 使用数据集的标准GARCH模型(sGARCH)。

# tGARCH 
garchfit(spec, data=r, submodel="TGARCH")
coef(garchfit)

fitted.values
fit$sigma^2)
plot.ts(hhat)

图: 数据集的tGARCH模型

# GARCH-IN-MEAN模型
fit( data=r, 
           distribution="std",variance=list(model="fGARCH")
coef(garchFit)

fit$fitted.values
fit$sigma^2)
plot.ts(hhat)

图:使用数据集的GARCH-in-mean模型的一个版本

图显示了GARCH模型的几个版本。预测结果可以通过ugarchboot()来获得。


相关文章
|
6月前
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
|
6月前
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
2月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
3月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
3月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
6月前
【R语言实战】——Logistic回归模型
【R语言实战】——Logistic回归模型
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
22天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
40 3
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
6月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为