原文鏈接 :http:///?p=23606本文考慮一些ARCH(p)過程,,例如ARCH(1),。 其中 有一個(gè)高斯白噪聲 . > 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)如果是一個(gè)ARCH(),,那么就是一個(gè)AR(1)過程,。所以第一個(gè)想法是考慮回歸,就像我們對(duì)AR(1)所做的那樣 > summary(lm(Y~X1,data=db))這里有一些明顯的自相關(guān),。但由于我們的向量不能被認(rèn)為是高斯分布的,,使用最小二乘法也許不是最好的策略。實(shí)際上,,如果我們的序列不是高斯分布的,,它仍然是有條件的高斯分布的,因?yàn)槲覀兗僭O(shè)是高斯(強(qiáng))白噪聲,。 然后,,似然函數(shù)是 而對(duì)數(shù)似然函數(shù)為 而一個(gè)自然的想法是定義 代碼簡(jiǎn)單地說就是 > OPT=optim(par=+ coefficients(lm(Y~X1,data=db)),fn=loglik) 由于參數(shù)必須是正數(shù),我們?cè)诖思俣ㄋ鼈兛梢詫懗梢恍?shí)數(shù)的指數(shù),。觀察一下,,這些值更接近于用來生成我們的時(shí)間序列的值。 點(diǎn)擊標(biāo)題查看相關(guān)文章 Python使用GARCH,EGARCH,,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測(cè) 左右滑動(dòng)查看更多 如果我們使用R函數(shù)來估計(jì)這些參數(shù),,我們會(huì)得到 > summary(garch(epsilon,c(0,1)))... 所以的置信區(qū)間是 coef\[2,1\]++ c(-1.96,1.96)*coef\[2,2\] 實(shí)際上,由于我們的主要興趣是這個(gè)參數(shù),所以有可能使用輪廓似然方法,。 > OPT=optimize(function(x) -proflik(x), interval=c(0,2))objective-qchisq(.95,df=1) > abline(h=t,col="red") 當(dāng)然,,所有這些技術(shù)都可以擴(kuò)展到高階ARCH過程。例如,,如果我們假設(shè)有一個(gè)ARCH(2)時(shí)間序列 其中 有一個(gè)高斯(強(qiáng))白噪聲 .對(duì)數(shù)似然性仍然是 而我們可以定義 上面的代碼可以被修改,,以考慮到這個(gè)額外的部分,。 optim(par=+ coefficients(lm(Y~X1+X2,data=db)),fn=loglik) 我們也可以考慮一些廣義的ARCH過程,,例如GARCH(1,1)。 其中 同樣,,可以使用最大似然技術(shù),。實(shí)際上,我們也可以用Fisher-Scoring算法編碼,,因?yàn)椋ㄔ谝粋€(gè)非常普遍的情況下 這里 . 使用標(biāo)準(zhǔn)的梯度下降算法,,我們可以得到以下對(duì)GARCH過程的估計(jì)。 > 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)\]} 這里有趣的一點(diǎn)是,,我們也得出了(漸進(jìn)的)方差 >sqrt(diag(solve(H)) |
|