拓端tecdat|R語言用極大似然和梯度下降算法估計GARCH(p)過程
原文鏈接:http://tecdat.cn/?p=23606?
原文出處:拓端數(shù)據(jù)部落公眾號
本文考慮一些ARCH(p)過程,例如ARCH(1)。

其中

有一個高斯白噪聲?

.
> for(t in 3:n){
+ sigma2[t]=w+a1*epsilon[t-1]^2+a2*epsilon[t-2]^2
+ epsilon[t]=eta[t]*sqrt(sigma2[t])
+ }

(紅線是條件方差過程)。
> acf(epsilon,lag=50,lwd=2)

如果

是一個ARCH(),那么

就是一個AR(1)過程。所以第一個想法是考慮回歸,就像我們對AR(1)所做的那樣
> summary(lm(Y~X1,data=db))

?這里有一些明顯的自相關(guān)。但由于我們的向量不能被認為是高斯分布的,使用最小二乘法也許不是最好的策略。實際上,如果我們的序列不是高斯分布的,它仍然是有條件的高斯分布的,因為我們假設

是高斯(強)白噪聲。

然后,似然函數(shù)是

而對數(shù)似然函數(shù)為

而一個自然的想法是定義

代碼簡單地說就是
> OPT=optim(par=
+ coefficients(lm(Y~X1,data=db)),fn=loglik)

由于參數(shù)必須是正數(shù),我們在此假定它們可以寫成一些實數(shù)的指數(shù)。觀察一下,這些值更接近于用來生成我們的時間序列的值。
如果我們使用R函數(shù)來估計這些參數(shù),我們會得到
> summary(garch(epsilon,c(0,1)))
...

?所以

的置信區(qū)間是?
coef[2,1]+
+ c(-1.96,1.96)*coef[2,2]

?實際上,由于我們的主要興趣是這個

參數(shù),所以有可能使用輪廓似然方法。
> OPT=optimize(function(x) -proflik(x), interval=c(0,2))
objective-qchisq(.95,df=1)
> abline(h=t,col="red")

當然,所有這些技術(shù)都可以擴展到高階ARCH過程。例如,如果我們假設有一個ARCH(2)時間序列

其中
有一個高斯(強)白噪聲?
.對數(shù)似然性仍然是
而我們可以定義
上面的代碼可以被修改,以考慮到這個額外的部分。
optim(par=
+ coefficients(lm(Y~X1+X2,data=db)),fn=loglik)
我們也可以考慮一些廣義的ARCH過程,例如GARCH(1,1)。
其中
同樣,可以使用最大似然技術(shù)。實際上,我們也可以用Fisher-Scoring算法編碼,因為(在一個非常普遍的情況下?

這里?

. 使用標準的梯度下降算法,我們可以得到以下對GARCH過程的估計。
> while(sum(G^2)>1e-12){
+ s2=rep(theta[1],n)
+ for (i in 2:n){s2[i]=theta[1]+theta[2]*X[(i-1)]^2+theta[3]*s2[(i-1)]}

這里有趣的一點是,我們也得出了(漸進的)方差
>sqrt(diag(solve(H))


最受歡迎的見解
1.HAR-RV-J與遞歸神經(jīng)網(wǎng)絡(RNN)混合模型預測和交易大型股票指數(shù)的高頻波動率
2.R語言中基于混合數(shù)據(jù)抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長
3.波動率的實現(xiàn):ARCH模型與HAR-RV模型
4.R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測
5.GARCH(1,1),MA以及歷史模擬法的VaR比較
6.R語言多元COPULA GARCH 模型時間序列預測
7.R語言基于ARMA-GARCH過程的VAR擬合和預測
8.matlab預測ARMA-GARCH 條件均值和方差模型
9.R語言對S&P500股票指數(shù)進行ARIMA + GARCH交易策略