GARCH 滚动窗口预测

Python 中的 GARCH 模型

Chelsea Yang

Data Science Instructor

样本外预测的滚动窗口

金融建模的精彩之处:预测未知

预测插画

滚动窗口预测: 随时间推进,反复拟合并预测

滚动

Python 中的 GARCH 模型

扩展窗口预测

持续向样本加入新数据

扩展窗口预测

Python 中的 GARCH 模型

滚动窗口预测的动机

  • 避免回溯偏差
  • 降低过拟合风险
  • 使预测适应新观测
Python 中的 GARCH 模型

实现扩展窗口预测

扩展窗口预测:

for i in range(120):
    gm_result = basic_gm.fit(first_obs = start_loc, 
                             last_obs = i + end_loc, disp = 'off')
    temp_result = gm_result.forecast(horizon = 1).variance
Python 中的 GARCH 模型

固定滚动窗口预测

新数据加入,旧数据从样本中移除

固定滚动窗口预测

Python 中的 GARCH 模型

实现固定滚动窗口预测

固定滚动窗口预测:

for i in range(120):
    # Specify rolling window range for model fitting
    gm_result = basic_gm.fit(first_obs = i + start_loc, 
                             last_obs = i + end_loc, disp = 'off')
    temp_result = gm_result.forecast(horizon = 1).variance
Python 中的 GARCH 模型

如何确定窗口大小

通常按具体情况确定

  • 窗口过大:包含过时数据,方差更高

  • 窗口过小:排除相关数据,偏差更高

最优窗口:在偏差与方差间权衡

平衡示意图

Python 中的 GARCH 模型

让我们来练习!

Python 中的 GARCH 模型

Preparing Video For Download...