t-GARCH 模型的貝葉斯推斷理論
R語言實例鏈接:http://tecdat.cn/?p=17494
原文出處:拓端數(shù)據(jù)部落公眾號
?
實際處理中,發(fā)現(xiàn)金融數(shù)據(jù)存在尖峰厚尾現(xiàn)象。所以我們選擇擾動項服從 t 分布的 t-GARCH 模型來描述波動性過程。t-GARCH(1,1)模型的表達式如下:

模型的參數(shù)向量記為 ? ? ? ? ? ( , , , ) v ,則模型參數(shù)的似然函數(shù)可寫為:

假定 2 0 ? 是常數(shù),此時,該模型在 t 時刻的條件波動率為:

且方差方程的參數(shù)通過以下限制:

來保證 t h 大于 0。
先驗分布
根據(jù)Luc和Michel(1998) [28]的工作,對參數(shù) ? ? ? , , 取無信息先驗,選取以 0 為中心的柯西 函數(shù)的右半部分作為自由度參數(shù)v的先驗分布:

后驗分布
由貝葉斯公式可知:

其中,先驗密度 ? ?( ) 應(yīng)該至少滿足參數(shù)為正的限制和 ? ?1 的條件。 (1)假設(shè)參數(shù) ? 的先驗分布是 (0, ) 90 M1 上的均勻分布,其中 M1 是大于零的常數(shù), 且似然函數(shù)的表達式如(2.2)所示,則模型參數(shù) ? 的條件后驗分布表達式如下:

(2)假設(shè)參數(shù) ? 的先驗分布是 (0, ) M2 上的均勻分布,其中 M2 是大于零的常數(shù),且似然 95 函數(shù)的表達式如(2.2)所示,則模型參數(shù) ? 的條件后驗分布表達式如下:

(3)假設(shè)參數(shù) ? 的先驗分布是 (0, ) M3 上的均勻分布,其中 M3 是大于零的常數(shù),且 似然函數(shù)的表達式如(2.2)所示,則模型參數(shù) ? 的條件后驗分布表達式如下:

(4)對于參數(shù) v 取半柯西先驗(2.5),它是以 0 為中心的柯西函數(shù)的右半部分,且似然函數(shù) 的表達式如(2.2)所示,所以參數(shù) v 的條件后驗分布表達式如下:

實例分析
我們將貝葉斯估計方法應(yīng)用于(DEM / GBP)外匯對數(shù)收益率的每日觀察值。樣本時間為1985年1月3日至1991年12月31日,共1974個觀測值。此數(shù)據(jù)集已被推廣為GARCH時間序列軟件驗證的非正式基準。從這個時間序列中,前750個觀測值用于說明貝葉斯方法。我們的數(shù)據(jù)集中的觀察窗口摘錄繪制在圖1中。
?

我們對帶有Student-t的GARCH(1,1)模型進行了改進,以擬合此觀察窗的數(shù)據(jù)
function (y, mu.alpha = c(0, 0),
Sigma.alpha = 1000 * diag(1,2),
mu.beta = 0, Sigma.beta = 1000,
lambda = 0.01, delta = 2,
control = list())
函數(shù)的輸入自變量是數(shù)據(jù)向量,超參數(shù),例如:
? 要生成的MCMC鏈數(shù);默認值1。
? 每個MCMC鏈的長度;?start.val:鏈的起始值的向量;默認值為10000 。?
作為貝葉斯估計的先驗分布。通過設(shè)置控制參數(shù)值n.chain = 2和l.chain = 5000,我們?yōu)?000次傳遞生成了兩條鏈。
> MCMC <- bayg(y, control = list(
l.chain = 5000, n.chain = 2))
chain: 1 iteration: 10
parameters: 0.0441 0.212 0.656 115
chain: 1 iteration: 20
parameters: 0.0346 0.136 0.747 136
...
chain: 2 iteration: 5000
parameters: 0.0288 0.190 0.754 4.67
生成MCMC鏈的跟蹤圖(即,迭代與采樣值的圖)。采樣器的收斂(使用Gelman和Rubin(1992)的診斷測試),鏈中的接受率和自相關(guān)可以如下計算:
diag
Point est. 97.5% quantile
alpha0 1.02 1.07
alpha1 1.01 1.05
beta 1.02 1.07
nu 1.02 1.06
Multivariate psrf
1.02
> 1 - rejectionRate
alpha0 alpha1 beta nu
0.890 0.890 0.953 1.000
>
autocorr.diag
alpha0 alpha1 beta nu
Lag 0 1.000 1.000 1.000 1.000
Lag 1 0.914 0.872 0.975 0.984
Lag 5 0.786 0.719 0.901 0.925
Lag 10 0.708 0.644 0.816 0.863
Lag 50 0.304 0.299 0.333 0.558
收斂診斷沒有顯示最后2500次迭代的收斂證據(jù)。MCMC采樣算法的接受率非常高,從向量a的89%到b的95%不等,這表明分布接近于全部條件。我們丟棄了從MCMC的整體輸出中抽樣前2500次作為預(yù)燒期,僅保留第二次抽樣以減少自相關(guān),


?
> smpl
n.chain : 2
l.chain : 5000
l.bi : 2500
batch.size: 2
smpl size : 2500
基本的后驗統(tǒng)計:
Iterations = 1:2500
Thinning interval = 1
Number of chains = 1
Sample size per chain = 2500
1. Empirical mean and standard deviation
for each variable, plus standard error
of the mean:
Mean SD Naive SE Time-series SE
alpha0 0.0345 0.0138 0.000277 0.00173
alpha1 0.2360 0.0647 0.001293 0.00760
beta 0.6832 0.0835 0.001671 0.01156
nu 6.4019 1.5166 0.030333 0.19833
每個變量的分位數(shù):
2.5% 25% 50% 75% 97.5%
alpha0 0.0126 0.024 0.0328 0.0435 0.0646
alpha1 0.1257 0.189 0.2306 0.2764 0.3826
beta 0.5203 0.624 0.6866 0.7459 0.8343
nu 4.2403 5.297 6.1014 7.2282 10.1204
通過首先將輸出轉(zhuǎn)換為矩陣,然后使用函數(shù)hist,可以獲取模型參數(shù)的邊際分布。
邊緣后部密度顯示在圖3中。我們清楚地注意到直方圖的不對稱形狀。對于參數(shù)n尤其如此。后平均值和中位數(shù)之間的差異也反映了這一點。這些結(jié)果應(yīng)該警告我們,不要濫用漸近論證。在當(dāng)前情況下,即使是750次觀測也不足以證明參數(shù)估計量分布的漸近對稱正態(tài)近似。
可以通過從聯(lián)合后驗樣本中進行仿真來直接獲得關(guān)于模型參數(shù)的非線性函數(shù)的概率陳述。
特別是,我們可以測試協(xié)方差平穩(wěn)性條件,并在滿足該條件時估計無條件方差的密度。根據(jù)GARCH(1,1)規(guī)范,如果a1 + b <1,則過程是協(xié)方差平穩(wěn)的。值接近1時,過去的沖擊和過去的方差將對未來的條件方差產(chǎn)生更長的影響。
?為了推斷平方過程的持久性,我們僅使用后驗樣本,并為后驗樣本中的每個繪制y [j]生成(a1 [j] + b [j])。持久性的后部密度繪制在圖4中。直方圖向左傾斜,中值為0.923,最大值為1.050。假設(shè)a1 + b <1,則GARCH(1,1)模型的無條件方差為a0 /(1- a1- b)。條件是存在時,后驗均值為0.387,90%可信區(qū)間為[0.274,1.378 ]。經(jīng)驗方差為0.323。
使用聯(lián)合后驗樣本可以獲得關(guān)于模型參數(shù)的其他概率陳述。使用后驗樣本,我們估計條件峰度存在的后驗概率為0.994。在存在條件下,峰度的后均值為8.21,中位數(shù)為5.84,對區(qū)間的95%置信度為[4.12,15.81],表明尾部比正態(tài)分布更重。條件峰度的后驗正偏是由幾個非常大的值(最大模擬值為404.90)引起的。

先前的限制和常規(guī)改進
控制參數(shù)addPriorConditions可用于在估計期間對模型參數(shù)y施加任何類型的約束。例如,為了確保估計協(xié)方差平穩(wěn)GARCH(1,1)模型,應(yīng)將函數(shù)定義為
p<-function(psi)
+ psi[2] + psi[3] < 1
實用建議
該算法中實施的估算策略是全自動的,不需要對MCMC采樣器進行任何調(diào)整。對于從業(yè)者來說,這無疑是一個吸引人的功能。但是,馬爾可夫鏈的生成非常耗時,因此每天在多個數(shù)據(jù)集上估算模型可能會花費大量時間。在這種情況下,通過在多個處理器上運行單鏈可以輕松地使算法并行化。例如,可以使用foreach包輕松實現(xiàn)此目標(Revolution Computing,2010)。同樣,當(dāng)估計值在更新的時間序列(即具有最近觀測值的時間序列)上重復(fù)時,明智的做法是使用在前一個估計步驟獲得的參數(shù)的后驗均值或中值來啟動算法。初始值(預(yù)燒階段)的影響可能較小,因此收斂速度更快。最后,請注意,與任何MH算法一樣,采樣器可能會卡在給定的值上,因此鏈不再移動。


總結(jié)
本說明介紹了Student-t改進對GARCH(1,1)模型的貝葉斯估計。我們舉例說明了在匯率對數(shù)收益率上的實證應(yīng)用。