关于数据挖掘:R语言使用多元ARGARCH模型衡量市场风险

37次阅读

共计 11836 个字符,预计需要花费 30 分钟才能阅读完成。

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

原文出处:拓端数据部落公众号

 本文剖析将用于制订治理客户和供应商关系的策略准则。假如:

  • 贵公司领有用于生产和分销聚戊二酸的设施,聚戊二酸是一种用于多个行业的化合物。
  • 制作和分销过程的投入包含各种石油产品和天然气。价格稳定可能十分不稳固。
  • 营运资金治理始终是一个挑战,最近汇率的走势重大影响了资金。
  • 您的 CFO 应用期货和场外交易(OTC)工具对冲价格危险。

董事会感到关切的是,公司已间断第五个季度未能实现盈利预期。股东不快乐。罪魁祸首仿佛是商品销售老本的稳定。

示例

  1. 您应该问有哪些能源定价模式的要害业务问题?
  2. 您能够应用哪种办法来治理稳定率?

这里有一些想法。要害业务问题可能是:

  • 哪些输出价格和汇率比其余输出价格和汇率更不稳固?何时?
  • 价格走势相干吗?
  • 在市场压力期间,它们的走势会有多动荡?
  • 是否有咱们能够部署的套期工具或能够用来加重定价危险?

治理稳定

  • 建设输出监视系统,以理解哪些输出会影响运行制作和分销流程的哪些老本。
  • 监控价格走势和特色,并按流程掂量对要害营业支出形成局部的影响的严重性。
  • 内置价格无奈接受预警指标。

在本文中,咱们将

  • 应用稳定率聚类
  • 拟合 AR-GARCH 模型
  • 从 AR-GARCH 模型模拟稳定率
  • 掂量危险

ARCH 模型

咱们曾经钻研了波动性聚类。ARCH 模型是对此进行建模的一种办法。

这些模型对于金融工夫序列特地有用,因为金融工夫序列显示出较大的收益率变动期间以及绝对安稳的价格变动的间歇期间。

能够从 z(t)规范正态变量和初始规范稳定率开始指定 AR + ARCH 模型 σ(t)2 = z(t)2。而后,咱们用方差 ε(t)=(sigma2)1 / 2z(t)ε 的平方来调节这些变量。而后咱们首先为每个日期计算 t = 1 … n,

应用该条件误差项,咱们计算自回归

当初咱们筹备计算新的方差项。

n <-  10500  
z <- rnorm(n) ## 样本规范正态分布变量

sig2 <-  z^2 ## 创立稳定率序列


omega <-  1 ## 方差



mu <-  0.1 ## 均匀收益率


omega/(1-alpha)
sqrt(omega/(1-alpha))
## \[1\] 2.222222
## \[1\] 1.490712
for (t in 2:n) ## 滞后于第二个日期开始


{y\[t\] <-  mu + phi*(y\[t-1 -mu) + e\[t\] ##  收益率


  sig2\[t+1\] <-  omega + alpha * e\[t ^2 ## 生成新的 sigma ^ 2。

后果没有指导意义。

咱们能够看到

  1. 条件标准偏差中较大的孤立峰
  2. 在 ARCH 图中也显示

预计

咱们有多种办法来预计 AR-ARCH 过程的参数。首先,让咱们加载一些数据。

## 汇率数据是从 OANDA 取得


data.1 <- na.omit(merge(EUR\_USD, GBP\_USD, 
    OIL_Brent))
P <- data.1
R <- na.omit(diff(log(P)) * 100)

而后,咱们绘制数据自相干。

## 
##  Box-Ljung test
## 
## data:  Brent.r
## X-squared = 32.272, df = 14, p-value = 0.003664

纯随机性测验,p 值小于 5%, 序列为非白噪声

拟合

咱们的第一项工作是 ARMA-GARCH 模型。

  1. 指定一般sGarch 模型。
  2. garchOrder = c(1,1) 示意咱们应用残差平方和方差的一期滞后:
  3. 应用 armaOrder = c(1,0) 指定长期均匀收益模型 
  4. mean如上述方程式中包含。
  5. 依照norm 正态分布。咱们还将应用赤池信息准则(AIC)将拟合与学生 t 散布进行比拟。
  6. 应用将数据拟合到模型 ugarchfit
ugarchspec(variance.model = list(model = "sGARCH", 
    garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 
    0), include.mean = TRUE), distribution.model = "norm")

让咱们看一下该模型中的条件分位数,也称为 VaR,设置为 99%。

## 首先是条件分位数


plot(fit, which = 2)

当初,让咱们生成一个绘图面板。

##  数据 acf- 显示序列相干

plot(fit , which = 6)
## 数据的 QQ 图 - 显示标准化残基的峰度 - 不反对正态假如


## 标准化残差的 acf 


## 平方规范残差的 acf

例子

让咱们重做 GARCH 预计,当初应用 Student t 散布。

## 用学生 t 散布拟合 AR(1)-GARCH(1,1)模型


AR.GARCH.spec <- ugarchspec(variance.model = list(model = "sGARCH", 
    garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 
    0), include.mean = TRUE), distribution.model = "std")

后果 

  1. 相对观测值的 ACF 表明存在很大的波动性聚类。
  2. AR-ARCH 预计具备有界的标准化残差(残差 / 标准误差),从而大大降低了这些误差。
  3. 看来 t 散布 AR-GARCH 解释了原油稳定的大部分趋势。

用哪个模型?应用 Akaike 信息准则(AIC)测量模型中的信息。

应用正态分布模型的 AIC = 4.2471。应用学生 t 散布模型的 AIC = 4.2062。学生 t 散布模型更好。

这是咱们能够从拟合模型中得出的一些常见后果:

##         mu        ar1      omega     alpha1      beta1      shape 
## 0.04018002 0.01727725 0.01087721 0.03816097 0.96074399 7.03778415

系数包含:

  • mu 是原油的长期均匀收益率。
  • ar1 是一天后收益对明天收益的影响。
  • omega 是长期方差。
  • alpha1 滞后平方方差对明天的收益的影响。
  • beta1 滞后平方残差对明天收益率的影响。
  • shape 是学生 t 散布的自由度。

让咱们来绘制随工夫变动的波动性。

##         mu        ar1      omega     alpha1      beta1      shape 
## 0.04018002 0.01727725 0.01087721 0.03816097 0.96074399 7.03778415

接下来,咱们绘制并测验残差:

 

hist(z.hat)

mean(z.hat)
## \[1\] -0.0181139
var(z.hat)
##          \[,1\]
## \[1,\] 1.000682
## \[1\] -0.3207327
## attr(,"method")
## \[1\] "moment"
kurtosis(z.hat)
## \[1\] 2.048561
## attr(,"method")
## \[1\] "excess"
## 
##  Shapiro-Wilk normality test
## 
## data:  as.numeric(z.hat)
## W = 0.98439, p-value < 2.2e-16
## 
##  Jarque-Bera Normality Test
## 
## data:  as.numeric(z.hat)
## JB = 780.73, p-value < 2.2e-16
## alternative hypothesis: greater

咱们看到了什么?

  • 左偏。
  • 厚尾。
  • 两种规范测验均表明回绝该序列为正态分布的零假如。

模仿

  1. 应用 fit 后果中的参数指定 AR-GARCH。
  2. 生成 2000 条模仿门路。
GARCHspec
## 
## *---------------------------------*
## *       GARCH Model Spec          *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## ------------------------------------
## GARCH Model      : sGARCH(1,1)
## Variance Targeting   : FALSE 
## 
## Conditional Mean Dynamics
## ------------------------------------
## Mean Model       : ARFIMA(1,0,0)
## Include Mean     : TRUE 
## GARCH-in-Mean        : FALSE 
## 
## Conditional Distribution
## ------------------------------------
## Distribution :  std 
## Includes Skew    :  FALSE 
## Includes Shape   :  TRUE 
## Includes Lambda  :  FALSE
## 生成长度为 2000 的两个门路

  ugarchpath(GARCHspec, n.sim = 2000, 
    n.start = 50, m.sim = 2)

提取稳定率

 head(vol)
##         \[,1\]     \[,2\]
## T+1 2.950497 5.018346
## T+2 2.893878 4.927087
## T+3 2.848404 4.849797
## T+4 2.802098 4.819258
## T+5 2.880778 4.768916
## T+6 2.826746 4.675612

## 理论的模仿数据
X <- series$seriesSim
head(X)
##            \[,1\]       \[,2\]
## \[1,\]  0.1509418  1.4608335
## \[2,\]  1.2644849 -2.1509425
## \[3,\] -1.0397785  4.0248510
## \[4,\]  4.4369130  3.4214660
## \[5,\] -0.3076812 -0.1104726
## \[6,\]  0.4798977  2.7440751

示例

模仿的序列是否符合事实?

X1 <- X\[, 1\]
acf(X1)
acf(abs(X1))
qqnorm(X1)
qqline(X1, col = 2)
shapiro.test(X1)

这是后果 

## 
##  Shapiro-Wilk normality test
## 
## data:  X1
## W = 0.97164, p-value < 2.2e-16

Shapiro-Wilk 测验 - 零假如:正态分布。如果 p 值足够小,则回绝原假如。- 必须应用 QQ 图进行验证。

多元 GARCH

从单变量 GARCH 到多元 GARCH

  • 动静条件相干。
  • 具备随工夫变动的波动性。
  • 如何使资产收益之间的相关性也随工夫变动。

为什么?- 如果咱们领有投资组合(例如应收账款,可能会面临汇率和原油价格变动的状况),该怎么办?- 咱们须要理解这三个因素的联结波动性和依赖性,因为它们会影响应收账款的整体波动性。咱们将应用这些条件方差来模仿治理货币和商品危险的工具的期权价格。

dcc.garch11.spec
## 
## *------------------------------*
## *       DCC GARCH Spec         *
## *------------------------------*
## Model          :  DCC(1,1)
## Estimation     :  2-step
## Distribution   :  mvt
## No. Parameters :  21
## No. Series     :  3

当初进行拟合

当初让咱们失去一些后果:

## 
## *---------------------------------*
## *          DCC GARCH Fit          *
## *---------------------------------*
## 
## Distribution         :  mvt
## Model                :  DCC(1,1)
## No. Parameters       :  21
## \[VAR GARCH DCC UncQ\] : \[0+15+3+3\]
## No. Series           :  3
## No. Obs.             :  4057
## Log-Likelihood       :  -12820.82
## Av.Log-Likelihood    :  -3.16 
## 
## Optimal Parameters
## -----------------------------------
##                     Estimate  Std. Error    t value Pr(>|t|)
## \[EUR.USD\].mu        0.006996    0.007195    0.97238 0.330861
## \[EUR.USD\].omega     0.000540    0.000288    1.87540 0.060738
## \[EUR.USD\].alpha1    0.036643    0.001590   23.04978 0.000000
## \[EUR.USD\].beta1     0.962357    0.000397 2426.49736 0.000000
## \[EUR.USD\].shape     9.344066    1.192132    7.83811 0.000000
## \[GBP.USD\].mu        0.006424    0.006386    1.00594 0.314447
## \[GBP.USD\].omega     0.000873    0.000327    2.67334 0.007510
## \[GBP.USD\].alpha1    0.038292    0.002217   17.27004 0.000000
## \[GBP.USD\].beta1     0.958481    0.000555 1727.86868 0.000000
## \[GBP.USD\].shape    10.481272    1.534457    6.83061 0.000000
## \[OIL.Brent\].mu      0.040479    0.026696    1.51627 0.129450
## \[OIL.Brent\].omega   0.010779    0.004342    2.48228 0.013055
## \[OIL.Brent\].alpha1  0.037986    0.001941   19.57467 0.000000
## \[OIL.Brent\].beta1   0.960927    0.000454 2118.80489 0.000000
## \[OIL.Brent\].shape   7.040287    0.729837    9.64639 0.000000
## \[Joint\]dcca1        0.009915    0.002821    3.51469 0.000440
## \[Joint\]dccb1        0.987616    0.004386  225.15202 0.000000
## \[Joint\]mshape       9.732509    0.652707   14.91100 0.000000
## 
## Information Criteria
## ---------------------
##                    
## Akaike       6.3307
## Bayes        6.3633
## Shibata      6.3306
## Hannan-Quinn 6.3423
## 
## 
## Elapsed time : 11.89964
  • 联结条件协方差参数显着不同于零。

当初,应用来自拟合的所有信息,咱们进行预测。咱们用来模仿套期工具或投资组合 VaR 或 ES,让咱们先绘制随工夫变动的 sigma。

示例

鉴于条件波动性和相关性,请查看 VaR 和 ES 的三个危险因素。

这是一些后果。首先,计算,而后绘图。

##           1%           5%          50%          95%          99% 
## -6.137269958 -3.677130793 -0.004439644  3.391312753  5.896992710
##            1%            5%           50%           95%           99% 
## -1.3393119939 -0.8235076255 -0.0003271163  0.7659725631  1.2465945013
##           1%           5%          50%          95%          99% 
## -1.520666396 -0.980794376  0.006889539  0.904772045  1.493169076

咱们看到:

  1. 在散布的正数局部权重更大。
  2. 汇率大致相同。
  3. 如果您在客户和分销过程中应用布伦特原油,则可能会在约 1%的工夫内蒙受 600%以上的损失。

让咱们应用新的稳定率模型和散布进行调整,以拟合不对称和厚尾。

在这里,咱们尝试应用一种新的 GARCH 模型:gjr 代表 Glosten,Jagannathan 和 Runkle(1993)他们提出的一个稳定模型:

σ2t=ω+ασ2t-1+β1ε2t-1+β2ε2t-1It-1

拟合此模型。

## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(1,1)
## Mean Model   : ARFIMA(1,0,1)
## Distribution : nig 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error     t value Pr(>|t|)
## mu     -0.040275    0.027883 -1.4445e+00 0.148608
## ar1     0.996072    0.001900  5.2430e+02 0.000000
## ma1    -0.989719    0.000005 -1.8786e+05 0.000000
## omega   0.006346    0.003427  1.8517e+00 0.064071
## alpha1  0.009670    0.003841  2.5178e+00 0.011808
## beta1   0.968206    0.001237  7.8286e+02 0.000000
## gamma1  0.042773    0.007183  5.9547e+00 0.000000
## skew   -0.120184    0.032059 -3.7488e+00 0.000178
## shape   2.362890    0.351494  6.7224e+00 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error     t value Pr(>|t|)
## mu     -0.040275    0.030871 -1.3046e+00 0.192023
## ar1     0.996072    0.002107  4.7283e+02 0.000000
## ma1    -0.989719    0.000005 -1.8363e+05 0.000000
## omega   0.006346    0.003388  1.8729e+00 0.061086
## alpha1  0.009670    0.004565  2.1184e+00 0.034143
## beta1   0.968206    0.000352  2.7485e+03 0.000000
## gamma1  0.042773    0.008503  5.0300e+00 0.000000
## skew   -0.120184    0.033155 -3.6249e+00 0.000289
## shape   2.362890    0.405910  5.8212e+00 0.000000
## 
## LogLikelihood : -8508.439 
## 
## Information Criteria
## ------------------------------------
##                    
## Akaike       4.1989
## Bayes        4.2129
## Shibata      4.1989
## Hannan-Quinn 4.2038
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag\[1\]                      1.856  0.1730
## Lag\[2*(p+q)+(p+q)-1\]\[5\]     2.196  0.9090
## Lag\[4*(p+q)+(p+q)-1\]\[9\]     2.659  0.9354
## d.o.f=2
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic  p-value
## Lag\[1\]                     0.5109 0.474739
## Lag\[2*(p+q)+(p+q)-1\]\[5\]    9.3918 0.013167
## Lag\[4*(p+q)+(p+q)-1\]\[9\]   13.2753 0.009209
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale  P-Value
## ARCH Lag\[3\]     10.26 0.500 2.000 0.001360
## ARCH Lag\[5\]     10.41 1.440 1.667 0.005216
## ARCH Lag\[7\]     11.06 2.315 1.543 0.010371
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  2.5309
## Individual Statistics:              
## mu     0.91051
## ar1    0.07050
## ma1    0.06321
## omega  0.70755
## alpha1 0.22126
## beta1  0.28137
## gamma1 0.17746
## skew   0.25115
## shape  0.16545
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          2.1 2.32 2.82
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value    prob sig
## Sign Bias           1.1836 0.23663    
## Negative Sign Bias  0.7703 0.44119    
## Positive Sign Bias  1.8249 0.06809   *
## Joint Effect        9.8802 0.01961  **
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     27.42      0.09520
## 2    30     46.32      0.02183
## 3    40     58.50      0.02311
## 4    50     70.37      0.02431
## 
## 
## Elapsed time : 6.630391

咱们能够应用 tailplot() 函数解释后果。

##          p  quantile     sfall
## \[1,\] 0.900  3.478474  5.110320
## \[2,\] 0.950  4.509217  6.293461
## \[3,\] 0.975  5.636221  7.587096
## \[4,\] 0.990  7.289163  9.484430
## \[5,\] 0.999 12.415553 15.368772

quantile 给出咱们的危险价值(VaR)和冀望损失(ES)

能够看到尾部图。

  • 结果表明,应用 AR-GARCH 解决后,尾部更厚。
  • 咱们能够回到市场和危险局部,理解均匀超额价值以及 VaR 和 ES 的置信区间。
  • 对于应收帐款,缓解策略可能是通过再保险和_总收益调换_提供超额危险对冲。
  • 对客户的信用风险剖析至关重要:频繁更新客户将有助于及早发现某些解决方案的问题。

最受欢迎的见解

1. 用机器学习辨认一直变动的股市情况—隐马尔科夫模型 (HMM) 的利用的利用 ”)

2.R 语言 GARCH-DCC 模型和 DCC(MVT)建模预计

3.R 语言实现 Copula 算法建模依赖性案例剖析报告

4.R 语言 COPULAS 和金融工夫序列数据 VaR 剖析

5.R 语言多元 COPULA GARCH 模型工夫序列预测

6. 用 R 语言实现神经网络预测股票实例

7.r 语言预测稳定率的实现:ARCH 模型与 HAR-RV 模型

8.R 语言如何做马尔科夫转换模型 markov switching model

9.matlab 应用 Copula 仿真优化市场危险

正文完
 0