時間序列的Garch模型怎麼定階?
01-23
最近在做金融時間序列,用R分析股票和匯率。有幾個問題,特此來請教。
1. 用R做了log-return的直方圖,怎麼在上面加個正態分布曲線。2.goodness of fit test 怎麼用R弄出來,像這樣的到值,其實這裡我不明白,我以為卡方是用來比較相關性,這裡感覺是檢驗正態性3. Garch模型怎麼定階?一般貌似Garch(1,1)就可以了。知道可以用AIC,但R的語句搞不清。還有她的結果(如圖)
第一個P假設很小拒絕H0正態分布,第二個P接受H0白雜訊,這算合理的么?謝謝閱讀!!
本人習慣用matlab操作,GARCH定階可以使用aic或bic,取的aic或bic最小值即可。在定階時,需要注意GARCH的滯後階數不宜過多,相對合適即可。為什麼說是階數相對合適呢?因為通常情況取GARCH(1,1)即可,但是如果為了更好地forecasting或者fitting模型,才會分別選用aic或bic標準進行篩選。但是如果一味追求aicbic,導致GARCH及ARCH項係數過多,則模型不穩定。通常來講,滯後階數取1至3比較合適。
下附定階過程的matlab代碼,供參考。
AIC=10000;lag=zeros(1,4);for r=0 for m=0for p=1:3
for q=1:3 if q==0p~=0 continue elsespec1=garchset("R",r,"M",m,"P",p,"Q",q,"Distribution","Gaussian","Display","off");
[coeff1,errors1,LLF1,innovations1,sigmas1] = garchfit(spec1,Return);%garchfit是擬合 %garchdisp(Coeff1,Errors1); [AIC1] = aicbic(LLF1,garchcount(spec1)); if AIC1&
GARCH定階的方法有很多,除了信息准側(AIC,BIC,HQ)方法以外,還有最直接的方法就是嘗試不同的階數,然後看最後一階的P值。如果p值過大,那麼我們就可以省略這一階。
ps.例如GARCH(4,5),軟體給出的q的第三階第四階第五階的p值都比較大,不能直接省略後三階從而將模型設定為GARCH(4,2),而要一步一步來,先試GARCH(4,4),然後GARCH(4,3)......推薦閱讀:
※目前的時間序列預測的state of the art 方法?
※時間序列如何分析周期性?
※如何判斷時間序列是否是白雜訊?
※時間序列異常檢測演算法研究?
※如何評價facebook開源的prophet時間序列預測工具?