R語言具有Student-t分布改進(jìn)的GARCH(1,1)模型的貝葉斯估計
原文鏈接:http://tecdat.cn/?p=17494
原文出處:拓端數(shù)據(jù)部落公眾號
?
本說明介紹了具有Student-t改進(jìn)的GARCH(1,1)模型的貝葉斯估計方法。
?
介紹
摘要
本說明介紹使用Student-t改進(jìn)的GARCH(1,1)模型對匯率對數(shù)收益進(jìn)行貝葉斯估計。
自Engle(1982)的開創(chuàng)性論文以來,使用時間序列模型改變波動率的研究一直很活躍。ARCH(自回歸條件異方差)和GARCH(廣義ARCH)類型模型迅速發(fā)展成為80年代預(yù)測波動率的經(jīng)驗?zāi)P偷呢S富家族。這些模型是金融計量經(jīng)濟(jì)學(xué)的廣泛傳播和必不可少的工具。在Bollerslev(1986)引入的GARCH(p,q)模型中,(金融資產(chǎn)或金融指數(shù))對數(shù)收益yt在時間t的條件方差假設(shè)用ht表示,它是過去q個對數(shù)返回和過去p個條件方差的平方的線性函數(shù)。更確切地說:
帶有Student-t改進(jìn)的GARCH(1,1)模型基于Nakatsuma(1998)的工作,由Metropolis-Hastings(MH)算法組成,其中分布是根據(jù)平方觀測值由輔助ARMA過程構(gòu)建的。這種方法避免了選擇和調(diào)整采樣算法的耗時且困難的任務(wù),特別是對于非專家而言。該程序用R編寫,帶有一些用C實現(xiàn)的子例程,以加快仿真過程。該算法的有效性以及計算機(jī)代碼的正確性已通過Geweke(2004)的方法進(jìn)行了驗證。
模型,先驗和MCMC方案
可以通過數(shù)據(jù)擴(kuò)充編寫具有Student-t改進(jìn)的GARCH(1,1)模型,用于對數(shù)收益率fytg。
我們強(qiáng)調(diào)以下事實:在MH算法中僅實現(xiàn)正約束。在仿真過程中沒有施加平穩(wěn)性條件。
為了編寫似然函數(shù),我們定義向量y =(y1,...,yT)0,v =(v1,...,vT)0和a =(.a0,a1)。我們將模型參數(shù)重新組合為向量y =(.a,b,n)。然后,在定義T×T對角矩陣時
我們可以將(y,v)表示為
貝葉斯方法將(y,v)視為隨機(jī)變量,其特征在于以p(y,v)表示的先驗密度。先驗是在稱為超參數(shù)的參數(shù)的幫助下指定的,這些參數(shù)最初假定為已知且恒定。而且,根據(jù)研究人員的先驗信息,這種密度可能或多或少地提供信息。然后,通過將模型參數(shù)的似然函數(shù)與先驗密度耦合,我們可以使用貝葉斯規(guī)則對概率密度進(jìn)行變換,以得出后驗密度p(y,vjy),如下所示:
該后驗是觀察數(shù)據(jù)后關(guān)于模型參數(shù)的知識的定量概率描述。
我們在GARCH參數(shù)a和b上使用了截距的普通先驗
其中m?和S?是超參數(shù),1f·g是指標(biāo)函數(shù),fNd是d維法向密度??梢园l(fā)現(xiàn)以n為條件的向量v的先驗分布,從而得出
在選擇自由度參數(shù)的先驗分布時,我們遵循Deschamps(2006)的方法。分布是參數(shù)l> 0且d≥2的平移指數(shù)
對于較大的l值,先驗質(zhì)量集中在d附近,并且可以通過這種方式對自由度施加約束。
實現(xiàn)的MCMC采樣基于Ardia(2008)的方法,該方法的靈感來自Nakatsuma(1998)的先前工作。該算法由MH算法組成,其中GARCH參數(shù)按塊更新(a對應(yīng)一個塊,b對應(yīng)一個塊),而自由度參數(shù)是使用優(yōu)化的拒絕技術(shù)從轉(zhuǎn)換后的指數(shù)源密度中采樣的。該方法具有全自動的優(yōu)點。
實例分析
我們將貝葉斯估計方法應(yīng)用于(DEM / GBP)外匯對數(shù)收益率的每日觀察值。樣本時間為1985年1月3日至1991年12月31日,共1974個觀測值。此數(shù)據(jù)集已被推廣為GARCH時間序列軟件驗證的非正式基準(zhǔn)。從這個時間序列中,前750個觀測值用于說明貝葉斯方法。我們的數(shù)據(jù)集中的觀察窗口摘錄繪制在圖1中。
?
我們對帶有Student-t的GARCH(1,1)模型進(jìn)行了改進(jìn),以擬合此觀察窗的數(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ù);默認(rèn)值1。
? 每個MCMC鏈的長度;?start.val:鏈的起始值的向量;默認(rèn)值為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)合后驗樣本中進(jì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ī)改進(jìn)
控制參數(shù)addPriorConditions可用于在估計期間對模型參數(shù)y施加任何類型的約束。例如,為了確保估計協(xié)方差平穩(wěn)GARCH(1,1)模型,應(yīng)將函數(shù)定義為
p<-function(psi)
+ psi[2] + psi[3] < 1
實用建議
該算法中實施的估算策略是全自動的,不需要對MCMC采樣器進(jìn)行任何調(diào)整。對于從業(yè)者來說,這無疑是一個吸引人的功能。但是,馬爾可夫鏈的生成非常耗時,因此每天在多個數(shù)據(jù)集上估算模型可能會花費(fèi)大量時間。在這種情況下,通過在多個處理器上運(yùn)行單鏈可以輕松地使算法并行化。例如,可以使用foreach包輕松實現(xiàn)此目標(biāo)(Revolution Computing,2010)。同樣,當(dāng)估計值在更新的時間序列(即具有最近觀測值的時間序列)上重復(fù)時,明智的做法是使用在前一個估計步驟獲得的參數(shù)的后驗均值或中值來啟動算法。初始值(預(yù)燒階段)的影響可能較小,因此收斂速度更快。最后,請注意,與任何MH算法一樣,采樣器可能會卡在給定的值上,因此鏈不再移動。
總結(jié)
本說明介紹了Student-t改進(jìn)對GARCH(1,1)模型的貝葉斯估計。我們舉例說明了在匯率對數(shù)收益率上的實證應(yīng)用。
?
參考書目
D.?Ardia?使用GARCH模型的貝葉斯估計進(jìn)行的金融風(fēng)險管理:理論與應(yīng)用,經(jīng)濟(jì)學(xué)和數(shù)學(xué)系統(tǒng)講義第612卷。Springer-Verlag,德國柏林,2008年6月。ISBN978-3-540-78656-6。網(wǎng)址http://www.springer.com/economics/econometrics/book/978-3-540-78656-6。
最受歡迎的見解
1.HAR-RV-J與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)混合模型預(yù)測和交易大型股票指數(shù)的高頻波動率
2.R語言中基于混合數(shù)據(jù)抽樣(MIDAS)回歸的HAR-RV模型預(yù)測GDP增長
3.波動率的實現(xiàn):ARCH模型與HAR-RV模型
4.R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實際波動率進(jìn)行預(yù)測
5.GARCH(1,1),MA以及歷史模擬法的VaR比較
6.R語言多元COPULA GARCH 模型時間序列預(yù)測
7.R語言基于ARMA-GARCH過程的VAR擬合和預(yù)測
8.matlab預(yù)測ARMA-GARCH 條件均值和方差模型
9.R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
?