R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-1

简介: R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据

原文链接:http://tecdat.cn/?p=24492

介绍

此分析的目的是构建一个过程,以在给定时变波动性的情况下正确估计风险价值。风险价值被广泛用于衡量金融机构的市场风险。我们的时间序列数据包括 1258 天的股票收益。为了解释每日收益率方差的一小部分,我们使用 Box-Jenkins 方法来拟合自回归综合移动平均 (ARIMA) 模型,并测试带下划线的假设。稍后,当我们寻找替代方案、最佳拟合分布形式时,我们会检查收益率的正态性。我们使用广义自回归异方差 (GARCH) 方法估计残差的条件方差,并将其与 delta-normal 方法进行比较。


数据

出于建模过程的目的,我们每天收集了 5 年(2013 年 2 月至 2018 年 2 月)的花旗公司股票(共 1259 个观察样本)。

# 加载库
library(tidyverse)
# 加载数据
read.csv('stock.csv', header = T)
# 每只股票一栏
plot( y = stok$C , geo = 'line')

image.png

红线表示此特定时间范围内的平均收盘价。

非平稳过程具有随时间变化的均值、方差和协方差。使用非平稳时间序列数据会导致预测不可靠。平稳过程是均值回归的,即它在具有恒定方差的恒定均值附近波动。在我们的例子中,平稳性是指平稳时间序列满足三个条件的弱平稳性:

image.png

为了解决这个问题,我们主要使用差分法。一阶差分可以描述为

image.png

对于平稳性变换,我们更倾向于计算简单的日收益,表示如下

image.png

ret = diff(stoks$C) / socs$C\[-legth\]
 
plot(x = 1:length, y = res )

image.png

为了验证收益率的平稳性,我们使用了 Dickey-Fuller 检验,其中零假设表示非平稳时间序列。


adf.test(ret)

image.png

小的 P 值 (<0.01) 表明有足够的证据拒绝原假设,因此时间序列被认为是平稳的。

Box-Jenkins 方法

对于时间序列分析,Box-Jenkins 方法应用 ARIMA 模型来找到代表生成时间序列的随机过程的时间序列模型的最佳拟合。该方法使用三阶段建模方法:a) 识别,b) 估计,c) 诊断检查

识别

要使用 Box-Jenkins 方法,我们必须确保时间序列是平稳的。在我们的例子中,我们使用我们在前一部分中已经检查过平稳性的股票的收益率。此外,基于自相关函数 (ACF) 和偏自相关函数 (PACF),可以确定 ARIMA 模型的 p、d 和 q 阶。识别模型的另一种方法是 Akaike 信息准则 (AICc)。AIC 估计每个模型相对于其他每个模型的质量。

image.png

其中

  • ∑u^2= 残差平方和
  • T = 观察次数
  • k = 模型参数的数量 (p + q + 1)

很明显,当模型中加入额外的滞后参数时,残差总和会减少,但可能会出现过拟合的问题。AIC 处理过拟合和欠拟合的风险。将选择 AIC 最低的模型。

auto.arima(rets )

image.png

可以通过上面的过程观察到我们计算了各种 ARIMA 模型的 AIC ,并且我们推断出合适的模型是 二阶自回归 (AR(2))

估计

为了估计参数的系数,我们使用最大似然。使用ARIMA(2, 0, 0)作为选择模型,结果如下:

model

image.png

因此,该过程可以描述为:

rt=0.0437∗rt−1−0.0542∗rt−2+ϵt 其中 ϵt 是白噪声

诊断检查

该程序包括观察残差图及其 ACF & PACF 图,并检查 Ljung-Box 测试结果。如果模型残差的 ACF 和 PACF 没有显示显着滞后,则所选模型是合适的。

ggtsdisplay(plot)

image.png

ACF 和 PACF 图很相似,自相关似乎为零。右下角图表示残差与正态分布 N(0, σ2σ2) 相比的直方图。

为了进一步检验残差不相关的假设,我们执行 Ljung-Box 检验。

image.png

QLB统计量不对称地遵循具有 mpq 自由度的 X2 分布。零假设是指 H0:ρ1=ρ2=⋯=ρm=0

Box.test(resiuas)
Box.test(resiuas)

image.png

我们不能拒绝原假设,因此残差的过程表现得像白噪声,所以没有可能被建模。


R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-2

https://developer.aliyun.com/article/1489390

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