R語言風(fēng)險價值:ARIMA,GARCH模型,Delta-normal法滾動估計,預(yù)測VaR(Value at Risk
原文鏈接:http://tecdat.cn/?p=24492
原文出處:拓端數(shù)據(jù)部落公眾號
介紹
此分析的目的是幫助客戶構(gòu)建一個過程,以在給定時變波動性的情況下正確估計風(fēng)險價值。風(fēng)險價值被廣泛用于衡量金融機構(gòu)的市場風(fēng)險。我們的時間序列數(shù)據(jù)包括 1258 天的股票收益。為了解釋每日收益率方差的一小部分,我們使用 Box-Jenkins 方法來擬合自回歸綜合移動平均 (ARIMA) 模型,并測試帶下劃線的假設(shè)。稍后,當(dāng)我們尋找替代方案、最佳擬合分布形式時,我們會檢查收益率的正態(tài)性。我們使用廣義自回歸異方差 (GARCH) 方法估計殘差的條件方差,并將其與 delta-normal 方法進(jìn)行比較。
數(shù)據(jù)
出于建模過程的目的,我們每天收集了 5 年(2013 年 2 月至 2018 年 2 月)的花旗公司股票(共 1259 個觀察樣本)。
?# 加載庫library(tidyverse)# 加載數(shù)據(jù)read.csv('stock.csv', header = T)# 每只股票一欄plot( y = stok$C , geo = 'line')

紅線表示此特定時間范圍內(nèi)的平均收盤價。
非平穩(wěn)過程具有隨時間變化的均值、方差和協(xié)方差。使用非平穩(wěn)時間序列數(shù)據(jù)會導(dǎo)致預(yù)測不可靠。平穩(wěn)過程是均值回歸的,即它在具有恒定方差的恒定均值附近波動。在我們的例子中,平穩(wěn)性是指平穩(wěn)時間序列滿足三個條件的弱平穩(wěn)性:

為了解決這個問題,我們主要使用差分法。一階差分可以描述為

對于平穩(wěn)性變換,我們更傾向于計算簡單的日收益,表示如下

ret = diff(stoks$C) / socs$C[-legth] plot(x = 1:length, y = res )

為了驗證收益率的平穩(wěn)性,我們使用了 Dickey-Fuller 檢驗,其中零假設(shè)表示非平穩(wěn)時間序列。
adf.test(ret)

小的 P 值 (<0.01) 表明有足夠的證據(jù)拒絕原假設(shè),因此時間序列被認(rèn)為是平穩(wěn)的。
Box-Jenkins 方法
對于時間序列分析,Box-Jenkins 方法應(yīng)用 ARIMA 模型來找到代表生成時間序列的隨機過程的時間序列模型的最佳擬合。該方法使用三階段建模方法:a)?識別,b)?估計,c)?診斷檢查。
識別
要使用 Box-Jenkins 方法,我們必須確保時間序列是平穩(wěn)的。在我們的例子中,我們使用我們在前一部分中已經(jīng)檢查過平穩(wěn)性的股票的收益率。此外,基于自相關(guān)函數(shù) (ACF) 和偏自相關(guān)函數(shù) (PACF),可以確定 ARIMA 模型的 p、d 和 q 階。識別模型的另一種方法是 Akaike 信息準(zhǔn)則 (AICc)。AIC 估計每個模型相對于其他每個模型的質(zhì)量。

其中
∑u^2= 殘差平方和
T = 觀察次數(shù)
k = 模型參數(shù)的數(shù)量 (p + q + 1)
很明顯,當(dāng)模型中加入額外的滯后參數(shù)時,殘差總和會減少,但可能會出現(xiàn)過擬合的問題。AIC 處理過擬合和欠擬合的風(fēng)險。將選擇 AIC 最低的模型。
auto.arima(rets )

可以通過上面的過程觀察到我們計算了各種 ARIMA 模型的 AIC ,并且我們推斷出合適的模型是?二階自回歸 (AR(2))?。
估計
為了估計參數(shù)的系數(shù),我們使用最大似然。使用ARIMA(2, 0, 0)作為選擇模型,結(jié)果如下:?
model

因此,該過程可以描述為:
rt=0.0437?rt?1?0.0542?rt?2+?t 其中 ?t 是白噪聲
診斷檢查
該程序包括觀察殘差圖及其 ACF & PACF 圖,并檢查 Ljung-Box 測試結(jié)果。如果模型殘差的 ACF 和 PACF 沒有顯示顯著滯后,則所選模型是合適的。
ggtsdisplay(plot)

ACF 和 PACF 圖很相似,自相關(guān)似乎為零。右下角圖表示殘差與正態(tài)分布 N(0, σ2σ2) 相比的直方圖。
為了進(jìn)一步檢驗殘差不相關(guān)的假設(shè),我們執(zhí)行 Ljung-Box 檢驗。

QLB統(tǒng)計量不對稱地遵循具有 mpq 自由度的 X2 分布。零假設(shè)是指 H0:ρ1=ρ2=?=ρm=0
Box.test(resiuas)

我們不能拒絕原假設(shè),因此殘差的過程表現(xiàn)得像白噪聲,所以沒有可能被建模。
GARCH 實現(xiàn)
盡管殘差的 ACF 和 PACF 沒有顯著滯后,但殘差的時間序列圖顯示出一些集群波動。重要的是要記住,ARIMA 是一種對數(shù)據(jù)進(jìn)行線性建模的方法,并且預(yù)測寬度保持不變,因為該模型不會反映最近的變化或包含新信息。為了對波動性進(jìn)行建模,我們使用自回歸條件異方差 (ARCH) 模型。ARCH 是時間序列數(shù)據(jù)的統(tǒng)計模型,它將當(dāng)前誤差項的方差描述為先前時間段誤差項實際大小的函數(shù)。
我們假設(shè)感興趣的時間序列 rtrt 被分解為兩部分,可預(yù)測和不可預(yù)測部分,

其中 It?1 是時間 t?1 的信息集,并且?

??t 是不可預(yù)測的部分。
不可預(yù)測的成分,可以表示為以下形式的 GARCH 過程:

其中 zt 是一個均值為零且方差等于 1 的獨立同分布隨機變量序列。 ?t的條件方差是 σt,它是時間 t?1信息集的時變函數(shù)。
下一步是定義誤差項分解的第二部分,即條件方差 σt。對于這樣的任務(wù),我們可以使用 GARCH(1, 1) 模型,表示為:

當(dāng)殘差平方相關(guān)時,GARCH 過程有效。ACF 和 PACF 圖清楚地表明顯著相關(guān)性。

另一種檢驗平方殘差異方差性的方法是對 a1 和 β1參數(shù)進(jìn)行顯著性檢驗。?
#模型定義ugarchpec(varin , ? ? ? ? ? ? ? ? ? ? ? ?mean.model fit(sec = model.spec ')

a1和 β1都顯著不同于零,因此假設(shè)殘差隨時間變化的波動率是合理的。
?σt?12 項的連續(xù)替換,GARCH 方程可以寫為:

當(dāng)我們用優(yōu)化給出的系數(shù)估計替換時,我們得到以下等式:

鑒于 0<β1<1,隨著滯后的增加,殘差平方的影響減小。
風(fēng)險價值
風(fēng)險價值(VaR)是一種基于當(dāng)前頭寸的下行風(fēng)險的統(tǒng)計量度。它估計在正常的市場條件下,一組投資在設(shè)定的時間段內(nèi)可能會有多少損失。?
VaR 統(tǒng)計具有三個組成部分:a)?時間段,b)?置信水平,c)?損失金額(或損失百分比)?。對于 95% 的置信水平,我們可以說最壞的每日損失不會超過 VaR 估計。如果我們使用歷史數(shù)據(jù),我們可以通過取 5% 的分位數(shù)值來估計 VaR。對于我們的數(shù)據(jù),這個估計是:
quante(res , 0.05)
qplot(ret)
紅色條表示低于 5% 分位數(shù)的收益率。
分布特征
為了估計 VaR,我們需要正確定義假設(shè)分布的相應(yīng)分位數(shù)。對于正態(tài)分布,對應(yīng)于 a = 5% 的分位數(shù)為 -1.645。經(jīng)驗證據(jù)表明,正態(tài)性假設(shè)通常會產(chǎn)生較弱的結(jié)果。Jarque-Bera 檢驗可以檢驗股票收益服從正態(tài)分布的假設(shè)。
其中 S 是偏度,C 是峰度。正態(tài)分布樣本將返回JB 分?jǐn)?shù)。低 p 值表明股票收益不是正態(tài)分布的。
ja.tst(rets)
qplot(ret , gom = 'desity') + geom_density
在上圖中,顯示了股票收益(藍(lán)色)和正態(tài)分布數(shù)據(jù)(紅色)的密度圖。下圖的垂直線代表 a = 0.05(淺綠色)和 a = 0.01(深綠色)的正常對應(yīng)分位數(shù)。下圖表明對于 95% 的顯著性,使用正態(tài)分布可能會高估風(fēng)險值。但是,對于 99% 的顯著性水平,正態(tài)分布會低估風(fēng)險。
學(xué)生的 t 分布
為了更充分地模擬尾部的厚度,我們可以對股票收益使用其他分布假設(shè)。t 分布是對稱的鐘形分布,就像正態(tài)分布一樣,但尾部較重,這意味著它更容易產(chǎn)生遠(yuǎn)離其均值的值。我們使用rugarch 包中的?fitdist?函數(shù)??來獲取 t 分布的擬合參數(shù)。
fitdispars
cat("對于 a = 0.05,正態(tài)分布的分位數(shù)值為:" , ? ? qnorm(p = 0.05) , "\n" ,)
正如我們所觀察到的,95% 顯著性水平的分位數(shù)表明正態(tài)分布高估了風(fēng)險,但 99% 未能發(fā)現(xiàn)異常值的存在,因此發(fā)生了對風(fēng)險的低估。
Garch VaR 和Delta-normal 方法
Delta-normal?方法假設(shè)所有股票收益都是正態(tài)分布的。這種方法包括回到過去并計算收益的方差。風(fēng)險價值可以定義為:
其中 μ 是平均股票收益,σ 是收益的標(biāo)準(zhǔn)差,a 是選定的置信水平,N?1 是逆 PDF 函數(shù),生成給定 a 的正態(tài)分布的相應(yīng)分位數(shù)。
這種簡單模型的結(jié)果常常令人失望,如今很少在實踐中使用。正態(tài)性和恒定每日方差的假設(shè)通常是錯誤的,我們的數(shù)據(jù)也是如此。
之前我們觀察到收益率表現(xiàn)出隨時間變化的波動性。因此,對于 VaR 的估計,我們使用 GARCH(1,1) 模型給出的條件方差。我們使用學(xué)生的 t 分布。對于此方法,風(fēng)險價值表示為:
?
?是給定 t?1 信息的條件標(biāo)準(zhǔn)偏差,并且?
?是 t 分布的逆 PDF 函數(shù)。
qplot(y = rets , gom = 'point') + gem_pnt(col = 'lihtgrson')
紅線表示 GARCH 模型產(chǎn)生的 VaR,藍(lán)線表示 delta-normal VaR。
VaR預(yù)測
該?ugarchroll?方法允許執(zhí)行的模型/數(shù)據(jù)集組合的滾動估計和預(yù)測。它返回計算預(yù)測密度的任何所需度量所需的分布預(yù)測參數(shù)。我們將最后 500 個觀測值設(shè)置為測試集,并對條件標(biāo)準(zhǔn)偏差進(jìn)行滾動移動 1 步預(yù)測,?
. 我們每 50 次觀察重新估計 GARCH 參數(shù)。
roll = garhrol(spec = model.spec ) #測試集 500 個觀察mean(ret) + rolldesiy[,'Siga']*qdist(dis='std',
回測
讓?
?是 T 期間股票收益率低于 VaR 估計值的天數(shù),其中如果

? It 為?1,??和?如果?

?,?It 為?0?. 因此,N 是樣本中觀察到的異常數(shù)。正如 Kupiec (1995) 所論證的那樣,失敗數(shù)遵循二項式分布 B(T, p)。
for(i in 1:50 p[i]= (pbinom(q = (i-1 ) - pbinom(q ))qplot(y = p )

上圖表示由二項式分布給出的異常概率分布。預(yù)期數(shù)量為 25 (=500obs. x 5%)。兩條紅線表示 95% 的置信水平,較低的是?16??,較高的是?35。因此,當(dāng)我們檢查測試集上的異常時,我們期望 16 到 35 之間的數(shù)字表明 GARCH 模型預(yù)測成功。?
plot(VaR95, geom = 'line') + ? ?geom_point

黑線代表 GARCH 模型給出的每日預(yù)測 VaR,紅點代表低于 VaR 的收益率。最后一步是計算異常的數(shù)量,并將其與使用 delta-normal 方法生成的異常進(jìn)行比較。
cat('delta-normal 方法的異常數(shù):', (sum(rets[759:1258] < (mean(r]

正如我們之前所說,我們預(yù)計 delta-normal 方法會高估風(fēng)險?;販y時,只有 14 倍的收益率低于 VaR 低于 95% 顯著性水平 (<16)。另一方面,在這種特殊情況下,GARCH 方法(23 個例外)似乎是一種有效的預(yù)測工具。
參考
Angelidis T., Benos A. and Degiannakis S. (December 2003)?. The Use of GARCH Models in VaR Estimation.

最受歡迎的見解
1.R語言基于ARMA-GARCH-VaR模型擬合和預(yù)測實證研究
2.R語言時變參數(shù)VAR隨機模型
3.R語言估計時變VAR模型時間序列的實證研究
4.R語言基于ARMA-GARCH過程的VAR擬合和預(yù)測
5.GARCH(1,1),MA以及歷史模擬法的VaR比較
6.R語言用向量自回歸(VAR)進(jìn)行經(jīng)濟(jì)數(shù)據(jù)脈沖響應(yīng)
7.R語言實現(xiàn)向量自動回歸VAR模型
8.R語言隨機搜索變量選擇SSVS估計貝葉斯向量自回歸(BVAR)模型
9.R語言VAR模型的不同類型的脈沖響應(yīng)分析