Quiero crear un código que permita realizar previsiones fuera de muestra del modelo HAR-RV.
El modelo en sí se formula como sigue, y las betas se estiman mediante HAC-OLS o Newey-West.
Donde semanal y mensual son 5 y 22 promedios diarios del RV diario, pero si te interesa lee más al respecto aquí .
Así que tengo todos los datos y parámetros listos en pandas dataframes.
Ahora deseo pronosticar sobre ventanas móviles para poder obtener una serie temporal que me muestre cómo se habría pronosticado todo el período sobre una base semanal.
Mi problema es que no sé cómo escribir algo así. Realmente no sé cómo debo interpretar la previsión de este modelo.
He visto modelos muy intuitivos para pronosticar GARCH, pero me está costando dar con la ecuación adecuada para pronosticar HARRV, y por tanto problemas para programarlo.
Esto es lo que he conseguido.
Este código:
Model = smf.ols(formula='RVFCAST ~ RV1 + RV5 + RV22', data = df).fit(use_correction=True)
mdl = Model.get_robustcov_results(cov_type='HAC', maxlags=1, use_correction=True)
#print(mdl.summary());
#print(pd.stats.ols.OLS(y=df['RVFCAST'], x=df[['RV1', 'RV5', 'RV22']], nw_lags=1))
actual = pd.DataFrame(0.0005 + 0.272 * df.RV1 + -0.0486 * df.RV5 + 0.7061 * df.RV22)
pred = pd.DataFrame(mdl.predict())
rw = pd.rolling_window(pred, window = 5, win_type = 'blackman')
Como veis he utilizado el rolling_window
que creo que aplica un análisis de ventana móvil, y los datos/función aplicada es la "pred" que, como puede ver, es una predicción OLS de mi anterior HAC-OLS.
Pero en definitiva, no tengo ni idea de si lo que he hecho es correcto del todo, si la función rolling_window hace lo que yo quiero que haga, así que mi pregunta es si esto es correcto o solo un galimatías.