原文鏈接:http://tecdat.cn/?p=24211
原文出處:拓端數據部落公眾號
描述
使用 garch 指定一個單變量GARCH(廣義自回歸條件異方差)模型。
garch 模型的關鍵參數包括:
-
GARCH 多項式,由滯后條件方差組成。階數用P表示 。
-
ARCH多項式,由滯后平方組成。階數用Q表示 。
P 和 Q 分別是 GARCH 和 ARCH 多項式中的最大非零滯后。其他模型參數包括平均模型偏移、條件方差模型常數和分布。
所有系數都是未知(NaN 值)和可估計的。
示例: 'ARCHLags',[1 4],'ARCH',{NaN NaN} 指定 GARCH(0,4) 模型和未知但非零的 ARCH 系,滯后 1 和 4。
例子
創建默認 GARCH 模型
創建默認 garch 模型對象並指定其參數值。
創建 GARCH(0,0) 模型。
garch

Mdl 是一個 garch 模型。它包含一個未知常數,其偏移量為 0,分布為 'Gaussian'。該模型沒有 GARCH 或 ARCH 多項式。
為滯后 1 和滯后 2 指定兩個未知的 ARCH 系數。
ARCH = {NN NN}

該 Q 和 ARCH 性能更新為 2 和 {NaN NaN}。兩個 ARCH 系數與滯后 1 和滯后 2 相關聯。
創建 GARCH 模型
garch 創建 模型 garch(P,Q),其中 P 是 GARCH 多項式的階數, Q 是 ARCH 多項式的階數。
創建 GARCH(3,2) 模型
garch(3,2)

Mdl 是一個 garch 模型對象。 Mdl的所有屬性,除了 P, Q和 Distribution,是 NaN 值。默認情況下:
-
包括條件方差模型常數
-
排除條件平均模型偏移(即偏移為
0) -
包括 ARCH 和 GARCH 滯后運算符多項式中的所有滯后項,分別達到滯后
Q和P。
Mdl 僅指定 GARCH 模型的函數形式。因為它包含未知的參數值,您可以通過 Mdl 和時間序列數據 estimate 來估計參數。
使用參數創建 GARCH 模型
garch 使用名稱-值對參數創建 模型。
指定 GARCH(1,1) 模型。默認情況下,條件平均模型偏移為零。指定偏移量為 NaN。
grch('GRCHas',1,'CHLas',1,'Oset',aN)

Mdl 是一個 garch 模型對象。
由於 Mdl 包含 NaN 值, Mdl 僅適用於估計。將 Mdl 時間序列數據傳遞給 estimate.
創建具有已知系數的 GARCH 模型
創建一個具有平均偏移量的 GARCH(1,1) 模型,
yt=0.5+εt,
其中 εt=σtzt,
σ2t = 0.0001 + 0.75σ2t − 1 + 0.1ε2t − 1,
zt 是一個獨立同分布的標准高斯過程。
-
garh('Conant',00001,'GACH',0.75,...
-
'AR H ,0.1,'Ofet'0.5)

訪問 GARCH 模型屬性
創建 garch 模型對象。
garch(3,2)

從模型中刪除第二個 GARCH 項。即,指定第二個滯后條件方差的 GARCH 系數為 0。
GAH{2} = 0

GARCH 多項式有兩個未知參數,分別對應滯后 1 和滯后 3。
顯示擾動的分布。
Ditiuton
![]()
擾動是均值為 0 且方差為 1 的高斯擾動。
指定基礎 IID 擾動具有 五個自由度的t分布。
dl.Dirbton = trut('Nme','t','DF',5)

指定第一個滯后的 ARCH 系數為 0.2,第二個滯后的 ARCH 系數為 0.1。
ACH = {0.2 0.1}

要估計殘差的參數,您可以將Mdl 數據傳遞 給 estimate 指定的參數並將其用作等式約束。或者,您可以指定其余的參數值,然后通過將完全指定的模型分別傳遞給simulate 或 來模擬或預測 GARCH 模型的條件方差 forecast。
估計 GARCH 模型
將 GARCH 模型擬合到 1922-1999 年股票收益率的年度時間序列。
加載 Data數據集。繪制收益率 ( nr)。
-
RN;
-
-
fiure;
-
plot(daes,nr;
-
hod n;
-
pot([dtes(1) dtes(n
-

收益序列似乎具有非零條件平均偏移,並且似乎表現出波動聚集。也就是說,較早年份的變異性小於晚年的變異性。對於此示例,假設 GARCH(1,1) 模型適用於該序列。
創建 GARCH(1,1) 模型。默認情況下,條件平均偏移為零。要估計偏移量,請將其指定為 NaN。
garh('GCHags',1,'ARHLgs',1,'Ofst',Na);
將 GARCH(1,1) 模型擬合到數據。
eimae(dl,r);

EstMdl 是一個完全指定的 garch 模型對象。也就是說,它不包含 NaN 值。您可以通過使用 生成殘差infer,然后對其進行分析來評估模型的充分性 。
要模擬條件方差或序列,請傳遞 EstMdl 到 simulate。
要預測分布,請 EstMdl 轉到 forecast.
模擬 GARCH 模型觀察序列和條件方差
從完全指定的garch 模型對象模擬條件方差或序列路徑 。也就是說,從估計garch 模型或已知 garch 模型(您在其中指定所有參數值)進行模擬 。
加載 Data 數據集。
RN;
創建具有未知條件平均偏移量的 GARCH(1,1) 模型。將模型擬合到年度收益序列。
-
gach('GCHLgs',1,ARCLgs',1,Ofet',Na);
-
Est = esiae(Mnr);

從估計的 GARCH 模型模擬每個時期的 100 條條件方差和序列路徑。
-
mOb = nul(n); % 樣本大小(T)
-
nuths = 100; % 要模擬的路徑數
-
rg(1); % 用於重現
-
[Vim,Sm] = simae(EMdl,nuOs,NumPts,umPts);
VSim 和 YSim 是 T-by- numPaths 矩陣。行對應一個采樣周期,列對應一個模擬路徑。
繪制模擬路徑的平均值以及 97.5% 和 2.5% 的百分位數。將模擬統計數據與原始數據進行比較。
-
Var = men(Vim,2);
-
VSI = quntie(Vi,[0.025 0.975],2);
-
Ymar = man(YSm,2);
-
YCI = qatle(Sim,[0.025 0.975],2);
-
-
pot(ae,im,);
-
hld on;
-
h2 = plt(des,Viar);
-
h =plo(ats,VSiCI,
-
hld off;

預測 GARCH 模型條件方差
從完全指定的garch 模型對象預測條件方差 。也就是說,根據估計garch 模型或garch 您指定所有參數值的已知 模型進行預測 。
加載 Data 數據集。
RN;
創建具有未知條件平均偏移量的 GARCH(1,1) 模型,並將該模型擬合到年度收益率序列。
-
dl = grh('GCas',1,'AHas',1,'Ofet',aN);
-
Edl = esate(dl,r);

使用估計的 GARCH 模型預測未來 10 年收益率序列的條件方差。將整個收益系列指定為樣本前觀察。軟件使用樣本前觀測值和模型推斷樣本前條件方差。
-
numPeiods = 10;
-
F = foeast(EtMdl,uPes,nr);
繪制名義收益的預測條件方差。將預測與觀察到的條件方差進行比較。
-
-
fgure;
-
pot(dtes);
-
hld n;
-
pot(dts(ed):ds(ed) + 10,[v(nd);vF]);

參考
[1] Tsay,金融時間序列的RS 分析。第 3 版。新澤西州霍博肯:John Wiley & Sons, Inc.,2010 年。

最受歡迎的見解
1.HAR-RV-J與遞歸神經網絡(RNN)混合模型預測和交易大型股票指數的高頻波動率
2.R語言中基於混合數據抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長
4.R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測
