R语言ARMA-GARCH模型金融产品价格实证分析黄金价格时间序列

简介: R语言ARMA-GARCH模型金融产品价格实证分析黄金价格时间序列

全文链接:http://tecdat.cn/?p=32677


研究黄金价格的动态演变过程至关重要。我们以黄金交易市场下午定盘价格为基础,帮助客户利用时间序列的相关理论,建立了黄金价格的ARMA-GARCH模型,并对数据进行了实证分析,其结果非常接近点击文末“阅读原文”获取完整代码数据


利用该模型可动态刻画黄金价格数据的生成过程,也可帮助黄金产品投资者和生产者做出更加灵活、科学的决策。

ARMA-GARCH模型


在一般的计量回归模型中,一个重要的假设条件是回归模型中残差的同方差性。它保证了回归系数的无偏性、有效性与一致性;然而,当回归残差的方差不能够保证同方差,即产生异方差时,回归估计系数的有效性与一致性则无法保证,从而导致回归系数估计的偏差。在实际的金融时间序列中,数据大都具有“尖峰厚尾”、波动集聚性与爆发性等特征。根据金融时间序列的这些特性,为了应对这种情况,美国经济学家RobertF.Engle于1 982年首次提出了A R C H模型;它具有良好的特性,即持续的方差和处理厚尾的能力,能较好地描述金融序列的波动特征[6-7]。

ARMA 模型

一般来说,一个变量的现在取值,不仅受其本身过去值的影响,而且也受现在和过去各种随机因素冲击的影响。因此,可建立其数据生成模型为:

y t=a 0+a 1 y t-1+a 2 y t-2+...+a py t-p+u t+

β1 u t-1+...+βq u t-q(1)

式中:p和q为模型的自回归阶数和移动平均阶数;a i和βi为不为零的待定系数;u t为独立的误差项;y t为平稳、正态、零均值的时间序列。如果该模型的特征根都在单位圆外,则该模型就称为A R M A(p,q)模型

GARCH(p,q) 模型

若随机变量y t可以表示为如下形式:

y t=a 0+a 1 y t-1+a 2 y t-2+...+a py t-p+u t(2)

σ2t=φ0+φ1 u2t-1+φ2 u2t-2+…+φq u2t-q(3)式中:σ2t为条件方差;φi为待定系数;其它参数同上。

称u t服从q阶的A R C H过程,记作u t A R C H(q)。其中,(2)式称作均值方程,(3)式称作A R C H方程。A R C H(q)模型是关于σ2t的分布滞后模型。为避免u2t的滞后项过多,可采用加入σ2t滞后项的方法。对于(3)式,可给出如下形式:

σ2t=φ0+φ1 u2t-1+λ1σ2t-1(4)

式中:λ为待定系数。

该模型称为广义自回归条件异方差模型,用G A R C H(1,1)表示。其中,u t-1称为A R C H项;σt-1称为G A R C H项。

(4)式应满足的条件为:φ0>0,φ1≥0,λ1≥0。

 

ARMA-GARCH 模型建立与实证分析


建立ARMA-GARCH 模型步骤

建立黄金价格ARMA-GARCH模型通常包括5个步骤,即序列平稳性验证、模型识别及参数估计、异方差效应检验、建立ARMA-GARCH模型及参数估计、模型诊断与实证分析。

 

数据采集

我们所选取的样本数据为XX定盘价格(用P表示,单位为美元/盎司),共计851个数据,利用计量分析软件R完成。

 

平稳性检验及数据处理

通过黄金价格时间序列(见图2)可以看出,历年的黄金价格有异常值并且结构发生了突变;相关统计特征显示黄金价格序列存在右偏和尖峰现象(相对于标准正态分布),呈现“尖峰厚尾”特征。同时J B检验也说明黄金价格序列不服从正态分布。再者,从黄金价格自相关及偏相关(见图3)中,可初步判断黄金价格为结构发生突变的非平稳时间序列。

image.png

image.png

点击标题查阅往期内容


ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测


01

02

03

04

为了检验数据是否适合建立时间序列模型,现对数据做平稳性检验即单位根检验,检验模型方法为最小二乘估计。对黄金价格P进行单位根检验检验结果见如下。其检验结果均清楚显示黄金价格序列存在单位根,为非平稳时间序列。

image.png

因此,笔者对黄金价格时间序列取自然对数,再对其进行单位根检验。从检验结果可以看出,由于p值小于0.05,因此拒绝原假设,认为黄金价格时间序列为平稳序列。只有带漂移项的检验式才能通过t检验。

经检验,ADF=-3.1413,小于不同检验方法的临界值,所以自然对数的黄金价格序列是一个带有漂移项的平稳序列。


模型识别及参数估计

ARMA模型的定阶从两方面考虑:一是考虑模型的数据特征,即自相关函数和偏自相关函数;二是考虑模型定阶准则AIC和SIC。

根据ln(P)的自相关图,可初步选定ARMA(1,0)、ARMA(1,1)、ARMA(2,2)、ARMA(2,1)等8个模型。

通过综合比较各模型的判定指标(见表2),可以判断模型ARMA(1,1)的AIC数值和SIC数值最小,初步选定该模型。其参数估计采用非线性最小二乘法,利用R软件完成。ARMA(1,1)模型对应的数学表达式为

l n(P t)=6.168+0.98 5l n(P t-1)+u t+0.33 4u t-1。

从结果可以看出,各参数均通过t检验,方程特征根的倒数均在单位圆内,即特征根均在单位圆外,满足平稳性要求。

ARMA (p,q) 模型的相关判定指标

模型 AIC log likelihood
A R M A ( 1, 0)  6880.5 -3437.26
A R M A ( 0, 1) 9346.89 -4670.44
A R M A ( 1, 1) 6882.5 -3437.25
A R M A ( 2, 1) 6884.2 -3437.12
A R M A ( 1,2) 6904.7 -3447.35
A R M A ( 2, 2) 6883.6 -3435.84
A R M A ( 3, 1) 6899.1 -3443.58
A R M A ( 1, 3) 7096.61  -3542.3

A R C H 检验

在分析金融数据中,条件异方差的忽略可能导致参数估计失去渐进有效性和ARMA模型的过度参数化,还可能引起传统检验的过度拒绝。可以发现波动的“成群”现象:波动在一段时期内非常小,在其他一段时期内非常大。这说明ARMA(1,1)模型的误差项可能具有条件异方差性。

借助R软件,可得出自回归条件异方差的L M检验式为:u2t=0.001 8+0.256 6u2t-1

t检验(5.319)(5.65 2)

image.png

image.png

L P的A R M A(1,1)模型残差检验的统计量L M=8.3379>χ0.05(1)=3.8 4。其中,T为样本容量;R2为判定系数。


点击标题查阅往期内容


Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用


01

02

03

04


ARMA-GARCH 模型建立


检验结果证明,ARMA(1,1)模型的残差存在自回归条件异方差,则应该在ARMA(1,1)均值方程基础上建立ARCH模型。为确定ARCH阶数需多次尝试,最终确定ARCH模型为2阶。因为滞后期很长,在此考虑加入GARCH模型,进一步采用GARCH(2,2)模型。

image.png

image.png

image.png

这些充分说明均值方程在配有G A R C H(1,1)模型后,已消除了A R M A(1,1)模型残差序列中的自回归条件异方差成分。该模型能够更好的拟合数据。


实证分析


结合预测理论及相应软件工具,利用ARMA(1,1)-GARCH(2,2)模型对黄金价格进行验证。

image.png

image.png

结语


(1)本文通过对黄金价格ARMA(1,0)模型的残差序列进行ARCH-LM检验,发现了黄金价格存在明显的自回归条件异方差效应。

(2)利用时间序列相关理论,建立了ARMA(1,1)-GARCH(2,2)模型。通过实证分析可知,该模型可准确地动态刻画黄金价格数据的生成过程,平均误差很小。

 

 

[ 参考文献 ]

[ 1] EricJ Levin, Robert E Wright. Short-run and Long-run Determi-nants of the  Price of  Gold[R].The  World Gold  Council,2006.

[ 2] 范思琦, 孙黎, 白岩. 影响黄金价格因素及应对策略[ J ] . 黄金,2008, 27( 12) : 8-11.

[ 3] 胡乃联, 宋鑫. 自适应过滤模型在黄金价格预测中的应用[ J ] .黄金, 1999, 20( 5) : 53-54.

[ 4] 陈杨林, 向东进.基于波动率模型的世界黄金价格实证分析[ J ] . 决策与信息, 2008(9) : 26-27.

[ 5] 贾新宇, 谢家智. 上海黄金市场价格波动特征的实证研究[ J ] .金融经济, 2008( 8) : 97-98.

[ 6] 靳云汇, 金赛男. 高级计量经济学[ M] . 北京: 北京大学出版社,2007


相关文章
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
19天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
40 3
|
2月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
6月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
3月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
3月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
3月前
|
机器学习/深度学习 数据采集
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
67 3
|
6月前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)