R语言DCC-GARCH模型对上证指数、印花税收入时间序列数据联动性预测可视化

简介: R语言DCC-GARCH模型对上证指数、印花税收入时间序列数据联动性预测可视化

在对上证指数、印花税收入联动性预测时,我们向客户演示了用R语言的DCC-GARCH可以提供的内容。


读取所有数据


#读取指数数据  
index=read.xlsx("上证指数.xlsx")  
#读取税数据  
tax=read.xlsx("印花税收入.xlsx")


上证指数数据直方图


#取出上证指数数据
#差分做直方图
d.USD=diff(index$收盘)  
par(mfrow = c(1, 1))

点击标题查阅往期内容


R语言多元(多变量)GARCH :GO-GARCH、BEKK、DCC-GARCH和CCC-GARCH模型和可视化


01

02

03

04

从直方图的结果来看,上证指数收盘价符合正态分布。大部分收盘价集中在0线周围,因此满足garch建模的基本前提,从数据可以看出,股指日对数收益率的均值很小,可以认为是0。收益率的分布具有正的偏度,所以分布的尾部略向右拖,表明盈利的概率要大于亏损的概率。峰度值大于正态分布的峰度(正态分布的峰度为3),这反映了收益率分布具有尖峰厚尾的特征。下面再进行上证指数时序特征分析。观察上证指数时序图,收益率的确存在明显的聚类效益(即一次大的波动后往往伴随着另一次大的波动)。


单位根检验


ADF检验思路:循环得到每列的Dickey-Fuller值和对应P值

H0:存在单位根 Ƿ=1

H1:不存在单位根 Ƿ<1

结果:DF值的绝对值大于临界值的绝对值 / DF值小于临界值 (DF是负值)

P值小于0.01(0.05) 拒绝原假设,不存在单位根,序列平稳

从adftest单位根检验的结果来看,p值为0.05,因此拒绝原假设。所以拒绝零假设,零假设为:存在单位根。拒绝零假设就是拒绝存在单位根咯(拒绝非平稳)。因此时间序列平稳。


正态性检验


从正态性检验的结果来看,p值小于0.05,因此拒绝原价设,认为收盘价数据不满足正态性检验。


画时间序列图,ACF图



DCC-GARCH拟合


dcc(dcc.garch11.spec

从模型的结果来看,不难看出,在随机干扰项服从t分布或者广义误差分布的假设下,均值方程的参数显著性都比服从正态分布假设条件下要高,进一步验证了金融时间序列具有高峰厚尾的特点。

模型中的beta系数都较大,并且通过了显著性检验,说明指数波动具有“长期记忆性”,即过去价格的波动与其无限长期价格波动的大小都有关系。  

GARCH方程中alpha+beta接近于1,表明条件方差函数具有单位根和单整性,也就是说条件方差波动具有持续记忆性,说明证券市场对外部冲击的反应以一个相对较慢的速度递减,股市一旦出现大的波动在短时期内很难消除。  

GARCH方程中alpha+beta,说明收益率条件方差序列是平稳的,模型具有可预测性。


条件方差和收益率

相关系数序列

DCC条件相关系数

预测条件相关波动率和相关系数


forecast(dcc.fit, n.ahead=100)

相关文章
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
434 3
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
389 9
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
数据处理
R语言数据合并:掌握`merge`与`dplyr`中`join`的巧妙技巧
【8月更文挑战第29天】如果你已经在使用`dplyr`进行数据处理,那么推荐使用`dplyr::join`进行数据合并,因为它与`dplyr`的其他函数(如`filter()`、`select()`、`mutate()`等)无缝集成,能够提供更加流畅和一致的数据处理体验。如果你的代码中尚未使用`dplyr`,但想要尝试,那么`dplyr::join`将是一个很好的起点。
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
12月前
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
439 9
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化