R語言GARCH族模型:正態(tài)分布、t、GED分布EGARCH、TGARCH的VaR分析股票指數(shù)
全文鏈接:http://tecdat.cn/?p=31023
原文出處:拓端數(shù)據(jù)部落公眾號
如何構(gòu)建合適的模型以恰當?shù)姆椒▽︼L險進行測量是當前金融研究領(lǐng)域的一個熱門話題。
VaR方法作為當前業(yè)內(nèi)比較流行的測量金融風險的方法,具有簡潔,明了的特點,而且相對于方差來講,更多的將投資人的損失作為風險具有更好的合理性。
我們和一位客戶討論如何在R軟件中處理GARCH族模型。
數(shù)據(jù)的選取
本文選取Wind資訊發(fā)布的股票型券商理財指數(shù)作為數(shù)據(jù)處理對象。選取的時間期間為2011年1月4日至2015年11月24日,共1187個交易日。該指數(shù)基日為2007年12月31日,基點為1000點。

收益率的計算
采用對數(shù)收益率對指數(shù)收盤點位進行計算,表達式為

記為序列 。由圖觀察可知,該收益率序列存在波動聚集現(xiàn)象。
clpr<-stock$Clsprc
yield<-diff(log(clpr))
ts.plot(yield)

基本特征分析
對序列 進行基本統(tǒng)計分析,結(jié)果如表所示:
?
summary(yield)
sd(yield)var(yield)
表?指數(shù)日收益率基本統(tǒng)計表****
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,表現(xiàn)為右偏。峰度為2.169439,該分布比正態(tài)分布更陡峭。
1、正態(tài)性檢驗
對指數(shù)的日收益率序列進行正態(tài)性檢驗。檢驗方法采用Jarque-Bera統(tǒng)計量。檢驗結(jié)果顯示Jarque-Bera統(tǒng)計量為261.3839,P值接近0,拒絕對數(shù)收益率服從正態(tài)分布的原假設(shè),表明序列為非正態(tài)分布。
?
表?Jarque-Bera檢驗結(jié)果
檢驗方法統(tǒng)計量P值Jarque-Bera261.3839< 2.2e-16
?
為了進一步探究序列 的分布形態(tài),對樣本數(shù)據(jù)作直方圖、QQ圖。由圖可見,該收益率序列的尾部更長更厚,且其分布存在明顯的不對稱的現(xiàn)象,為非正態(tài)分布。


2、自相關(guān)性檢驗
對指數(shù)的日收益率序列的自相關(guān)性進行檢驗。檢驗方法采用Ljung-Box檢驗。表中LB2(12)指滯后期為12的收益率平方的Ljung-Box統(tǒng)計量,該統(tǒng)計量在無序列相關(guān)的零假設(shè)下,服從自由度為12的 分布。具體檢驗結(jié)果如下:收益率平方的Ljung-Box統(tǒng)計量為34.1853,P值為0.0006306,拒絕無自相關(guān)的零假設(shè),表明收益率的平方存在自相關(guān)現(xiàn)象。
?
表?Ljung-Box檢驗結(jié)果
檢驗方法統(tǒng)計量P值LB2(12)34.18530.0006306
?
為了進一步探究序列的自相關(guān)性,對序列作ACF、PACF圖。由圖可見,該收益率序列存在自相關(guān)現(xiàn)象。


3、異方差性檢驗
對指數(shù)的日收益率序列進行異方差性檢驗。檢驗方法采用ARCH-LM檢驗。表中LM(12)指ARCH效應(yīng)的拉格朗日乘數(shù)檢驗,在沒有ARCH效應(yīng)的零假設(shè)下,統(tǒng)計量服從自由度為12的 分布。具體檢驗結(jié)果如下:LM統(tǒng)計量為170.9818,P值接近0,故拒絕無ARCH效應(yīng)的零假設(shè),表明收益率序列存在ARCH效應(yīng)。
?
表?ARCH-LM檢驗結(jié)果
檢驗方法統(tǒng)計量P值LM(12)170.9818< 2.2e-16
?
4、平穩(wěn)性檢驗
在時間序列模型中,序列的平穩(wěn)性會直接影響到模型的擬合效果,非平穩(wěn)的序列容易產(chǎn)生謬誤回歸(Spurious Regression)。本節(jié)將采用 ADF 檢驗來對收益率序列進行單位根檢驗。檢驗結(jié)果顯示Dickey –Fuller值為-9.7732(滯后10階),P值小于0.01,故拒絕存在單位根的原假設(shè),認為該收益率序列是平穩(wěn)的。
表?ADF檢驗結(jié)果
檢驗方法統(tǒng)計量P值A(chǔ)DF-9.7732<0.01
綜上,收益率序列存在明顯的尖峰厚尾效應(yīng),JB檢驗同樣否認了收益率服從正態(tài)分布的假設(shè)。LM檢驗表明收益率存在ARCH效應(yīng),而LB檢驗表明收益率的平方存在自相關(guān)現(xiàn)象,因此可以采用條件異方差模型來分析收益率序列的波動特性
GARCH族模型的建立
本文將分別采用基于正態(tài)分布、t分布、廣義誤差分布(GED)、偏態(tài)t分布(ST)、偏態(tài)廣義誤差分布(SGED) 的GARCH(1,1)、EGARCH、TGARCH來建模。
表中,c為收益率的均值, 為方差方程的常數(shù)項, 為方差方程的ARCH項系數(shù), 為GARCH項系數(shù), 反映杠桿效應(yīng)的大小。參數(shù) 為概率分布中的參數(shù),其中 控制尖峰高度和尾部厚度, 控制偏斜度。
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")

表?收益率指數(shù)?GARCH?模型估計結(jié)果*
?正態(tài)分布t分布GED偏t分布SGEDc0.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.112LB2(1)0.00053850.031540.013270.026330.01035LB2(5)0.72820741.007170.884240.970890.83074LB2(9)1.20036921.630251.434851.584881.36785
注:括號中是P值。***表示0.1%置信水平下統(tǒng)計顯著;**表示在 1%置信水平下統(tǒng)計顯著;*表示5%水平下統(tǒng)計顯著。
對GARCH(1,1)模型來說,無論收益率殘差服從哪種分布,其方差方程中ARCH項和GARCH項系數(shù)均高度顯著,然而均值方程和方差方程中的的常數(shù)項均不顯著。
EGARCH(1,1)模型
EGARCH是從GARCH衍生出的模型,可用于解釋“杠桿效應(yīng)”?!案軛U效應(yīng)”是指金融資產(chǎn)收益率的漲和跌對未來波動性的影響是不同的。
chspec(variance.model=list(model="eGARCH", garchOrder=c(1,1)), ? ? ? mean.model=list(armaOrder=c(0,0)))
收益率指數(shù)?EGARCH?模型估計結(jié)果****
?正態(tài)分布t分布GED偏t分布SGEDc0.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.691LB2(1)0.18710.003690.032730.0043770.03288LB2(5)0.82440.936440.836190.8985160.76626LB2(9)1.43081.559341.416081.5115971.32613?
?
注:括號中是P值。***表示0.1%置信水平下統(tǒng)計顯著;**表示在 1%置信水平下統(tǒng)計顯著;*表示5%水平下統(tǒng)計顯著。
對EGARCH(1,1)模型來說,無論收益率殘差服從哪種分布,其方差方程中常數(shù)項和GARCH項系數(shù)均高度顯著,然而均值方程和方差方程中的的ARCH項系數(shù)均不顯著。
GJR-GARCH模型
GJR-GARCH模型即是在GARCH模型的基礎(chǔ)上考慮到杠桿效應(yīng),引入一個虛擬變量來表示正負沖擊對 的影響。
ariance.model=list(model="gjrGARCH", garchOrder=c(1,1)), mean.model=list(armaOrder=c(0,0)),distribution.model = "std")
收益率指數(shù)?GJR-?GARCH?模型估計結(jié)果****
?正態(tài)分布t分布GED偏t分布SGEDc0.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.244LB2(1)0.000320.062940.034720.059740.02502LB2(5)0.688731.143460.987591.117920.91801?LB2(9)1.15402?1.817421.564721.784691.48424
注:括號中是P值。***表示0.1%置信水平下統(tǒng)計顯著;**表示在 1%置信水平下統(tǒng)計顯著;*表示5%水平下統(tǒng)計顯著。
對GJR-GARCH(1,1)模型來說, 無論收益率殘差服從哪種分布,其杠桿系數(shù) 都是不顯著的。但是就其他參數(shù)而言,GED分布下,參數(shù)擬合都是顯著的。方差方程中ARCH項和GARCH項系數(shù)均高度顯著,然而均值方程和方差方程中的的常數(shù)項均不顯著。通過對比對數(shù)似然函數(shù)值,發(fā)現(xiàn)殘差服從GED分布和SGED分布時,模型擬合效果要優(yōu)于正態(tài)分布、t分布和偏t分布。另外,五種分布條件下, 均接近1,這說明盡管收益率的波動會逐步衰減,但是持續(xù)的時間將會非常長。最后,LB2統(tǒng)計量顯示模型的標準化殘差平方均不再具有異方差現(xiàn)象,且在統(tǒng)計上都是顯著的。
APARCH模型
APARCH(1,1)模型波動性方程為:
variance.model=list(model="apARCH", garchOrder=c(1,1)),

收益率指數(shù)?APARCH?模型估計結(jié)果****
?正態(tài)分布t分布GED偏t分布SGEDc0.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.746LB2(1)0.077290.16130.12080.17720.09563LB2(5)0.943861.29981.12471.36361.05785LB2(9)1.451952.02421.72782.10421.64646
注:括號中是P值。***表示0.1%置信水平下統(tǒng)計顯著;**表示在 1%置信水平下統(tǒng)計顯著;*表示5%水平下統(tǒng)計顯著。
對APARCH (1,1)模型來說, 除了方差方程 和 顯著外,其他系數(shù)基本不顯著。通過對比對數(shù)似然函數(shù)值,發(fā)現(xiàn)殘差服從GED分布和SGED分布時,模型擬合效果要優(yōu)于正態(tài)分布、t分布和偏t分布。LB2統(tǒng)計量顯示模型的標準化殘差平方均不再具有異方差現(xiàn)象,且在統(tǒng)計上都是顯著的。
計算VaR
plotMSFT.garch11.fitwhich=2

序列預(yù)測
plotMSFT.garch11.boot

GARCH11滾動預(yù)測
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.R語言對S&P500股票指數(shù)進行ARIMA + GARCH交易策略
2.R語言改進的股票配對交易策略分析SPY—TLT組合和中國股市投資組合
3.R語言時間序列:ARIMA GARCH模型的交易策略在外匯市場預(yù)測應(yīng)用
4.TMA三均線期指高頻交易策略的R語言實現(xiàn)
5.r語言多均線量化策略回測比較
6.用R語言實現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實例
7.r語言預(yù)測波動率的實現(xiàn):ARCH模型與HAR-RV模型
8.R語言如何做馬爾科夫轉(zhuǎn)換模型markov switching model
9.matlab使用Copula仿真優(yōu)化市場風險