Garch

一步預測 AR(1) 過程(GARCH 上下文)

  • December 29, 2015

我正在使用Matlab工具箱從ARMA(1,0)-GARCH(1,1)過程中獲得條件均值的一步預測,並且我遇到了一段程式碼,其中包含我認為的錯誤. 預測函式的完整程式碼可在以下位置查看:http ://uk.mathworks.com/matlabcentral/fileexchange/32882-armax-garch-k-toolbox–estimation–forecasting–simulation-and-value- at-risk-applications-/content/garchfor.m

我所指的片段是:

% Forecasting the Mean
MF = parameters(1:1+z)'*[1; data(end-(1:ar)); resids(end-(0:ma-1))]; % 1-period ahead forecast
for i = 2:max_forecast
    MF(i,1) = sum([parameters(1); ones(1,ar)*parameters(2:2+ar)*MF(i-1,1); ones(1,ma)*parameters(3+ar:2+ar+ma)*resids(end-(0:ma-1-i))]);
end
clear i

從這段程式碼看來,當我考慮**ARMA(1,0)**時,該函式採用最後一次觀察之前的預測進行預測。換句話說,當數據跨越時間點時 $ 1,…,t $ 我想獲得期間的預測 $ t+1 $ 我將 AR(1) 係數乘以 $ t-1 $ 觀察。在我看來,時間 $ t+1 $ AR(1) 預測我應該進行最後一次觀察( $ t $ ) 從數據集中乘以 AR(1) 係數。

您能否證實我對這段程式碼的懷疑?

關於您的問題的程式碼是正確的(並且僅適用於 AR(1) ),您犯了一個錯誤,因為對數據集的最後一次觀察是 $ t-1 $ 並不是 $ t $ 因為您正在預測時間點 $ t $ .

程式碼中:MF(i,1)是目前點預測( $ t $ )並滯後一次觀察(MF(i-1,1) 即 $ t-1 $ ) 與 AR 部分正確相關。

但是在我看來,以下部分存在錯誤:

ones(1,ar)*parameters(2:2+ar)*MF(i-1,1)

僅當您估計 AR(1) 時才是正確的,對於更高階的MF(i-1,1)部分是錯誤的,因為您將不同的係數應用於相同的觀察(例如: $ \alpha_{1} y_{t-1} + \alpha_{2} y_{t-1} $ 代替 $ \alpha_{1} y_{t-1} + \alpha_{2} y_{t-2} $ )。我建議您使用更可靠的程式碼,例如可以在MFE Toolbox中找到的函式。

引用自:https://quant.stackexchange.com/questions/22494