原文链接:http://tecdat.cn/?p=2841
此示例显示MATLAB如何从条件均值和方差模型预测。
步骤1加载数据并拟合模型
加载工具箱附带的纳斯达克数据。将条件均值和方差模型拟合到数据中。
nasdaq = DataTable.NASDAQ;
r = price2ret(nasdaq);
N = length(r);
fit = estimate(mode ,r,'Variance0',{'Constant0',0.001});
ARIMA(1,0,0) Model (t Distribution):
Value StandardError TStatistic PValue
_________ _____________ __________ __________
Constant 0.0012326 0.00018163 6.786 1.1528e-11
AR{1} 0.066389 0.021398 3.1026 0.0019182
DoF 14.839 2.2588 6.5693 5.0539e-11
GARCH(1,1) Conditional Variance Model (t Distribution):
Value StandardError TStatistic PValue
__________ _____________ __________ __________
Constant 3.4488e-06 8.3938e-07 4.1087 3.9788e-05
GARCH{1} 0.82904 0.015535 53.365 0
ARCH{1} 0.16048 0.016331 9.8268 8.6333e-23
DoF 14.839 2.2588 6.5693 5.0539e-11
[E0,V0] = infer(fit,r);
第2步预测收益和条件差异
使用forecast
计算收益率:条件方差为1000周期的未来数据的MMSE预测。使用观察到的收益率和推断残差以及条件方差作为预采样数据。
[Y,YMS E,V] = forecast(fit, 100 0,'Y 0',r,'E0', E0, 'V0' ,V0);
upper = Y + 1.96*sqrt(YMSE);
lower = Y - 1.96*sqrt(YMSE);
figure
subplot(2,1,1)
plot(r,'Color',[.75,.75,.75])
hold on
条件方差预测收敛于GARCH条件方差模型的渐近方差。预测的收益收敛于估计的模型常数(AR条件均值模型的无条件均值)。