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

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

如何构建适合的模型以失当的办法对危险进行测量是以后金融钻研畛域的一个热门话题。

VaR办法作为以后业内比拟风行的测量金融风险的办法,具备简洁,明了的特点,而且绝对于方差来讲,更多的将投资人的损失作为危险具备更好的合理性。

咱们和一位客户探讨如何在R软件中解决GARCH族模型。

数据的选取

本文选取Wind资讯公布的股票型券商理财指数作为数据处理对象。选取的工夫期间为2011年1月4日至2015年11月24日,共1187个交易日。该指数基日为2007年12月31日,基点为1000点。

收益率的计算

采纳对数收益率对指数开盘点位进行计算,表达式为

记为序列 。由图察看可知,该收益率序列存在稳定汇集景象。

clpr<-stock$Clsprcyield<-diff(log(clpr))ts.plot(yield)

根本特征分析

对序列 进行根本统计分析,后果如表所示:

 

summary(yield)sd(yield)var(yield)

指数日收益率根本统计表**

Min.1st Qu.MedianMean3rd Qu.Max.Sdskewness'kurtosis
-0.03517-0.003890.00037490.00019630.004730.033480.008163353-0.40184622.169439

 

由表可知,收益率序列 的最小值为-0.03517,最大值为0.03348,平均值为0.0001963,标准差为0.008163353。偏度为-0.4018462,体现为右偏。峰度为2.169439,该散布比正态分布更平缓。

1、正态性测验

对指数的日收益率序列进行正态性测验。测验办法采纳Jarque-Bera统计量。测验结果显示Jarque-Bera统计量为261.3839,P值靠近0,回绝对数收益率遵从正态分布的原假如,表明序列为非正态分布。

 

Jarque-Bera测验后果

测验办法统计量P值
Jarque-Bera261.3839< 2.2e-16

 

为了进一步探索序列 的散布状态,对样本数据作直方图、QQ图。由图可见,该收益率序列的尾部更长更厚,且其散布存在显著的不对称的景象,为非正态分布。

2、自相关性测验

对指数的日收益率序列的自相关性进行测验。测验办法采纳Ljung-Box测验。表中LB2(12)指滞后期为12的收益率平方的Ljung-Box统计量,该统计量在无序列相干的零假如下,遵从自由度为12的 散布。具体测验后果如下:收益率平方的Ljung-Box统计量为34.1853,P值为0.0006306,回绝无自相干的零假如,表明收益率的平方存在自相干景象。

 

Ljung-Box测验后果

测验办法统计量P值
LB2(12)34.18530.0006306

 

为了进一步探索序列的自相关性,对序列作ACF、PACF图。由图可见,该收益率序列存在自相干景象。

3、异方差性测验

对指数的日收益率序列进行异方差性测验。测验办法采纳ARCH-LM测验。表中LM(12)指ARCH效应的拉格朗日乘数测验,在没有ARCH效应的零假如下,统计量遵从自由度为12的 散布。具体测验后果如下:LM统计量为170.9818,P值靠近0,故回绝无ARCH效应的零假如,表明收益率序列存在ARCH效应。

 

ARCH-LM测验后果

测验办法统计量P值
LM(12)170.9818< 2.2e-16

 

4、平稳性测验

在工夫序列模型中,序列的平稳性会间接影响到模型的拟合成果,非安稳的序列容易产生舛误回归(Spurious Regression)。本节将采纳 ADF 测验来对收益率序列进行单位根测验。测验结果显示Dickey –Fuller值为-9.7732(滞后10阶),P值小于0.01,故回绝存在单位根的原假如,认为该收益率序列是安稳的。


ADF测验后果

测验办法统计量P值
ADF-9.7732<0.01

综上,收益率序列存在显著的尖峰厚尾效应,JB测验同样否定了收益率遵从正态分布的假如。LM测验表明收益率存在ARCH效应,而LB测验表明收益率的平方存在自相干景象,因而能够采纳条件异方差模型来剖析收益率序列的稳定个性

GARCH族模型的建设

本文将别离采纳基于正态分布、t散布、狭义误差散布(GED)、偏态t散布(ST)、偏态狭义误差散布(SGED) 的GARCH(1,1)、EGARCH、TGARCH来建模。

表中,c为收益率的均值, 为方差方程的常数项, 为方差方程的ARCH项系数, 为GARCH项系数, 反映杠杆效应的大小。参数 为概率分布中的参数,其中 管制尖峰高度和尾部厚度, 管制偏斜度。

GARCH(1,1)模型

GARCH(1,1)模型表示如下:

spec<-ugarchspec(variance.model=list(garchOrder=c(1,1)),       mean.model=list(armaOrder=c(0,0)))fit <- ugarchfit(spec = spec, data = yield)ariance.model=list(garchOrder=c(1,1)),       mean.model=list(armaOrder=c(0,0)),distribution.model = "std")

收益率指数 GARCH 模型预计后果*

 正态分布t散布GED偏t散布SGED
c0.000264( 0.21277)0.000342 ( 0.077829)0.000342 (0.040020)0.000299(0.161218)0.000230 (0.587094)
0.000001 ( 0.14473)0.000001  ( 0.257057)0.000001(0.441759)0.000001(0.259532)0.000001(0.456113)
0.048706( 0.00000) *0.054123 ( 0.000001) *0.050726 (0.002247) *0.053698(0.000001) *0.050853(0.00353) *
**0.927184( 0.00000) *0.933160(0.00000) *0.931267(0.000000) *0.933230(0.000000) *0.930511  (0.000000) *
   0.981867(0.000000) *0.939087(0.000000) *
 5.219963(0.00000) *1.201313(0.00000) *5.243745(0.000000) *1.202264 (0.000000) *
LOG(L)4098.0994133.5714138.724133.6884139.112
LB2(1)0.00053850.031540.013270.026330.01035
LB2(5)0.72820741.007170.884240.970890.83074
LB2(9)1.20036921.630251.434851.584881.36785

注:括号中是P值。示意0.1%置信水平下统计显著;示意在 1%置信水平下统计显著;示意5%程度下统计显著。

对GARCH(1,1)模型来说,无论收益率残差遵从哪种散布,其方差方程中ARCH项和GARCH项系数均高度显著,然而均值方程和方差方程中的的常数项均不显著。

EGARCH(1,1)模型

EGARCH是从GARCH衍生出的模型,可用于解释“杠杆效应”。“杠杆效应”是指金融资产收益率的涨和跌对将来波动性的影响是不同的。

chspec(variance.model=list(model="eGARCH", garchOrder=c(1,1)),       mean.model=list(armaOrder=c(0,0)))

收益率指数 EGARCH 模型预计后果**

 正态分布t散布GED偏t散布SGED
c0.000271(0.075278)0.000336( 0.079723)0.000340( 0.016498)0.000271(0.12507)0.000199 ( 0.14978)
-0.206804(0.000000) *-0.157944(0.000000) *-0.184483(0.000000) *-0.160675(0.000000) *-0.190357(0.00000) *
0.001715(0.862698)-0.013118 ( 0.388489)-0.007304( 0.603938)-0.012933(0.393570)-0.007622 (0.41512)
**0.978191(0.000000) *0.983721(0.000000) *0.981159(0.000000) *0.983429(0.000000) *0.980540(0.00000) *
0.107504( 0.001149)*0.128684(0.000000) *0.118786(0.001145)**0.128607(0.000001)*0.119496(0.00000) *
   0.978059(0.000000) *0.970479(0.00000) *
 4.999931(0.000000) *1.185703(0.000000) *5.025099(0.000000) *1.186277(0.00000) *
LOG(L)4092.9344131.2644136.1634131.4384136.691
LB2(1)0.18710.003690.032730.0043770.03288
LB2(5)0.82440.936440.836190.8985160.76626
LB2(9)1.43081.559341.416081.5115971.32613 

 

注:括号中是P值。示意0.1%置信水平下统计显著;示意在 1%置信水平下统计显著;示意5%程度下统计显著。

对EGARCH(1,1)模型来说,无论收益率残差遵从哪种散布,其方差方程中常数项和GARCH项系数均高度显著,然而均值方程和方差方程中的的ARCH项系数均不显著。

GJR-GARCH模型

GJR-GARCH模型即是在GARCH模型的根底上思考到杠杆效应,引入一个虚构变量来示意正负冲击对 的影响。

ariance.model=list(model="gjrGARCH", garchOrder=c(1,1)),    mean.model=list(armaOrder=c(0,0)),distribution.model = "std")

收益率指数 GJR- GARCH 模型预计后果**

 正态分布t散布GED偏t散布SGED
c0.000275( 0.198829)0.000335 ( 0.084013)0.000338( 0.040523)*0.000292(0.17233)0.000221 (0.540614)
0.000001( 0.171795)0.000001 (0.298628)0.000001(0.000000) *0.000001( 0.30375)0.000001(0.590270)
0.051272( 0.000072)*0.051272 (0.000072)*0.046304(0.012649) *0.045985(0.00000)*0.046440 (0.007732)**
**0.928798(0.000000) *0.928798(0.000000) *0.927762 (0.000000) *0.929132(0.00000) *0.928254  (0.000000) *
-0.005443( 0.702778)-0.005443(0.702778)0.010575(0.493464)0.018174(0.32446)0.010036(0.542627)
   0.983235(0.00000) *0.975509(0.000000) *
 4.999931(0.000000) *1.197353(0.000000) *5.148342(0.00000) *1.199348 (0.000000) *
LOG(L)4098.1444133.9554138.8494134.0634139.244
LB2(1)0.000320.062940.034720.059740.02502
LB2(5)0.688731.143460.987591.117920.91801 
LB2(9)1.15402 1.817421.564721.784691.48424

注:括号中是P值。示意0.1%置信水平下统计显著;示意在 1%置信水平下统计显著;示意5%程度下统计显著。

对GJR-GARCH(1,1)模型来说, 无论收益率残差遵从哪种散布,其杠杆系数 都是不显著的。然而就其余参数而言,GED散布下,参数拟合都是显著的。方差方程中ARCH项和GARCH项系数均高度显著,然而均值方程和方差方程中的的常数项均不显著。通过比照对数似然函数值,发现残差遵从GED散布和SGED散布时,模型拟合成果要优于正态分布、t散布和偏t散布。另外,五种散布条件下, 均靠近1,这阐明只管收益率的稳定会逐渐衰减,然而继续的工夫将会十分长。最初,LB2统计量显示模型的标准化残差平方均不再具备异方差景象,且在统计上都是显著的。

APARCH模型

APARCH(1,1)模型波动性方程为:

variance.model=list(model="apARCH", garchOrder=c(1,1)),

收益率指数 APARCH 模型预计后果**

 正态分布t散布GED偏t散布SGED
c0.000301( 0.15463)0.000349 (0.071965)0.000349( 0.049846)*0.000338 (0.108480)0.000239 (0.379013)
0.000000(0.92767)0.000000(0.979064)0.000000(0.972073)0.000000(0.984476)0.000000(0.992160)
0.036457(0.00021)*0.036235(0.061548)0.036665(0.123664)0.038866(0.179902)0.036743 (0.540439)
**0.914738(0.00000) *0.920788(0.000000) *0.917647(0.000000) *0.920930(0.000000) *0.919184 (0.000000) *
0.001559( 0.98256)0.076905(0.416691)0.048123(0.624721)0.063356(0.277636)0.019934 (0.835479)
2.770787(0.00000) *2.835321(0.000000) *2.732345(0.000000) *2.774741(0.000000) *2.794404(0.000000) *
   0.991283 (0.000000) *0.970652(0.000000) *
 5.534190(0.000017) *1.207995(0.000000) *5.400260  (0.000001) *1.213429(0.000687) *
LOG(L)4100.3154134.1744139.324134.3084139.746
LB2(1)0.077290.16130.12080.17720.09563
LB2(5)0.943861.29981.12471.36361.05785
LB2(9)1.451952.02421.72782.10421.64646

注:括号中是P值。示意0.1%置信水平下统计显著;示意在 1%置信水平下统计显著;示意5%程度下统计显著。

对APARCH (1,1)模型来说, 除了方差方程 和 显著外,其余系数根本不显著。通过比照对数似然函数值,发现残差遵从GED散布和SGED散布时,模型拟合成果要优于正态分布、t散布和偏t散布。LB2统计量显示模型的标准化残差平方均不再具备异方差景象,且在统计上都是显著的。

计算VaR

plotMSFT.garch11.fitwhich=2

序列预测

plotMSFT.garch11.boot

GARCH11滚动预测

MSFT.garch11.roll =spec y      classMSFT.garch11.roll## [1] "uGARCHroll"  ## attr"package"  ## [1] "rugarch"## VaR Backtest Report  ## ===========================================  ## Model:               eGARCH-norm  ## Backtest Length: 1000  ## Data:                 ##  ## ==========================================  ## alpha:               1%  ## Expected Exceed: 10  ## Actual VaR Exceed:   50  ## Actual %:            5%  ##  ## Unconditional Coverage Kupiec  ## Null-Hypothesis: Correct Exceedances  ## LR.uc Statistic: 82.582  ## LR.uc Critical:      3.841  ## LR.uc p-value:       0  ## Reject Null:     YES  ##  ## Conditional Coverage Christoffersen  ## Null-Hypothesis: Correct Exceedances and  ##                  Independence of Failures  ## LR.cc Statistic: 118.726  ## LR.cc Critical:      5.991  ## LR.cc p-value:       0  ## Reject Null:     YES



最受欢迎的见解

1.[](http://tecdat.cn/r%e8%af%ad%e...)R语言对S&P500股票指数进行ARIMA + GARCH交易策略

2.[](http://tecdat.cn/r%e8%af%ad%e...)R语言改良的股票配对交易策略剖析SPY—TLT组合和中国股市投资组合

3.[](http://tecdat.cn/r%e8%af%ad%e...)R语言工夫序列:ARIMA GARCH模型的交易策略在外汇市场预测利用

4.[](http://tecdat.cn/r%e8%af%ad%e...)TMA三均线期指高频交易策略的R语言实现

5.[](http://tecdat.cn/r%e8%af%ad%e...)r语言多均线量化策略回测比拟

6.[](http://tecdat.cn/r%e8%af%ad%e...)用R语言实现神经网络预测股票实例

7.[](http://tecdat.cn/r-%e8%af%ad%...)r语言预测稳定率的实现:ARCH模型与HAR-RV模型

8.[](http://tecdat.cn/r%e8%af%ad%e...)R语言如何做马尔科夫转换模型markov switching model

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