R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-1
https://developer.aliyun.com/article/1489389
GARCH 实现
尽管残差的 ACF 和 PACF 没有显着滞后,但残差的时间序列图显示出一些集群波动。重要的是要记住,ARIMA 是一种对数据进行线性建模的方法,并且预测宽度保持不变,因为该模型不会反映最近的变化或包含新信息。为了对波动性进行建模,我们使用自回归条件异方差 (ARCH) 模型。ARCH 是时间序列数据的统计模型,它将当前误差项的方差描述为先前时间段误差项实际大小的函数。
我们假设感兴趣的时间序列 rtrt 被分解为两部分,可预测和不可预测部分,
其中 It−1 是时间 t−1 的信息集,并且 ϵt 是不可预测的部分。
不可预测的成分,可以表示为以下形式的 GARCH 过程:
其中 zt 是一个均值为零且方差等于 1 的独立同分布随机变量序列。ϵt的条件方差是 σt,它是时间 t−1信息集的时变函数。
下一步是定义误差项分解的第二部分,即条件方差 σt。对于这样的任务,我们可以使用 GARCH(1, 1) 模型,表示为:
当残差平方相关时,GARCH 过程有效。ACF 和 PACF 图清楚地表明显着相关性。
另一种检验平方残差异方差性的方法是对 a1 和 β1参数进行显着性检验。
#模型定义 ugarchpec(varin , mean.model fit(sec = model.spec ')
a1和 β1都显着不同于零,因此假设残差随时间变化的波动率是合理的。
σt−12 项的连续替换,GARCH 方程可以写为:
当我们用优化给出的系数估计替换时,我们得到以下等式:
鉴于 0<β1<1,随着滞后的增加,残差平方的影响减小。
风险价值
风险价值(VaR)是一种基于当前头寸的下行风险的统计量度。它估计在正常的市场条件下,一组投资在设定的时间段内可能会有多少损失。
VaR 统计具有三个组成部分:a) 时间段,b) 置信水平,c) 损失金额(或损失百分比)。对于 95% 的置信水平,我们可以说最坏的每日损失不会超过 VaR 估计。如果我们使用历史数据,我们可以通过取 5% 的分位数值来估计 VaR。对于我们的数据,这个估计是:
quante(res , 0.05)
qplot(ret)
红色条表示低于 5% 分位数的收益率。
分布特征
为了估计 VaR,我们需要正确定义假设分布的相应分位数。对于正态分布,对应于 a = 5% 的分位数为 -1.645。经验证据表明,正态性假设通常会产生较弱的结果。Jarque-Bera 检验可以检验股票收益服从正态分布的假设。
其中 S 是偏度,C 是峰度。正态分布样本将返回JB 分数。低 p 值表明股票收益不是正态分布的。
ja.tst(rets)
qplot(ret , gom = 'desity') + geom_density
在上图中,显示了股票收益(_蓝色_)和正态分布数据(_红色_)的密度图。下图的垂直线代表 a = 0.05(_浅绿色_)和 a = 0.01(_深绿色_)的正常对应分位数。下图表明对于 95% 的显着性,使用正态分布可能会高估风险值。但是,对于 99% 的显着性水平,正态分布会低估风险。
学生的 t 分布
为了更充分地模拟尾部的厚度,我们可以对股票收益使用其他分布假设。t 分布是对称的钟形分布,就像正态分布一样,但尾部较重,这意味着它更容易产生远离其均值的值。我们使用_rugarch 包中_的 fitdist 函数 来获取 t 分布的拟合参数。
fitdispars
cat("对于 a = 0.05,正态分布的分位数值为:" , qnorm(p = 0.05) , "\\n" , )
正如我们所观察到的,95% 显着性水平的分位数表明正态分布高估了风险,但 99% 未能发现异常值的存在,因此发生了对风险的低估。
Garch VaR 和Delta-normal 方法
Delta-normal 方法假设所有股票收益都是正态分布的。这种方法包括回到过去并计算收益的方差。风险价值可以定义为:
其中 μ 是平均股票收益,σ 是收益的标准差,a 是选定的置信水平,N−1 是逆 PDF 函数,生成给定 a 的正态分布的相应分位数。
这种简单模型的结果常常令人失望,如今很少在实践中使用。正态性和恒定每日方差的假设通常是错误的,我们的数据也是如此。
之前我们观察到收益率表现出随时间变化的波动性。因此,对于 VaR 的估计,我们使用 GARCH(1,1) 模型给出的条件方差。我们使用学生的 t 分布。对于此方法,风险价值表示为:
是给定 t−1 信息的条件标准偏差,并且 是 t 分布的逆 PDF 函数。
qplot(y = rets , gom = 'point') + gem_pnt(col = 'lihtgrson')
红线表示 GARCH 模型产生的 VaR,蓝线表示 delta-normal VaR。
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-3