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

 

风险价值(VaR)及其所有相关问题仍然是风险管理中的主要模型。风险价值的一个关键问题是它没有适当地考虑波动率,这意味着危机期间风险被低估。

解决这个问题的一个强有力的方法是将VaR与GARCH模型结合起来考虑条件波动性。为了说明这种方法,我们将一个正态分布的GARCH(1,1)应用于股票市场指数。

##初始化
#Load Packages
library(fImport)
library(fPortfolio)
library(ggplot2)

#输入
from = "1995-11-20"
to = "2015-12-17"
symbol = "^SSMI"

#获取数据
TS <- yahooSeries(symbol, from = from, to = to)
SMI <- TS[,ncol(TS)]
SMI <- returns(SMI, method = "continuous")

#绘制收益率 
seriesPlot(TS[,4])
从Yahoo获取数据

GARCH(1,1),MA以及历史模拟法的VaR比较_编程开发

histPlot(SMI, main = "SMI Returns")

 

GARCH(1,1),MA以及历史模拟法的VaR比较_编程开发_02

模型估计

SMI收益数据有5078个观测值。我使用前3078个观察值对GARCH模型进行初始估计。其余的2000个观测值用于验证和测试。

library(rugarch)
library(zoo)

SMIdf <- as.data.frame(SMI)

#GARCH
#GARCH定义 (改变分布类型)
gspec11 <- ugarchspec(variance.model = list(model = "sGARCH", 
                      garchOrder = c(1, 1)),
                      mean.model=list(armaOrder=c(0,0), 
                      include.mean = FALSE), 
                      distribution="norm")

结果

#VaR 结果
plot(Returns, type = "l", pch = 16, cex = 0.8,  col = gray(0.2, 0.5),
     ylab = "Returns", main = "95% VaR Forecasting", xaxt = "n")

GARCH(1,1),MA以及历史模拟法的VaR比较_编程开发_03

从图中我们可以看到,VaR-GARCH(黑线)组合更加符合实际,降低了发生波动时的VAR限制,而对于静态VaR(红线),我们观察到了收益率连续突破界限。

GARCH(1,1),MA以及历史模拟法的VaR比较_编程开发_04


GARCH(1,1),MA以及历史模拟法的VaR比较_编程开发_05

最受欢迎的见解

1.R语言基于ARMA-GARCH-VaR模型拟合和预测实证研究

2.R语言时变参数VAR随机模型

3.R语言时变参数VAR随机模型

4.R语言基于ARMA-GARCH过程的VAR拟合和预测

5.GARCH(1,1),MA以及历史模拟法的VaR比较

6.R语言时变参数VAR随机模型

7.R语言实现向量自动回归VAR模型

8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

9.R语言VAR模型的不同类型的脉冲响应分析