Processing math: 100%

1 votos

Predicción de la rentabilidad de las acciones con GARCH en Python

He visto este post: Aplicación correcta de GARCH en Python que muestra cómo aplicar correctamente los modelos GARCH en Python utilizando el arch biblioteca. Ahora me pregunto cómo puedo obtener una previsión de rendimientos de un paso adelante. Todas las guías se refieren a la obtención de previsiones de volatilidad, pero no de rendimientos.

Mi intuición sería:

  • Recuperar las previsiones de media condicional y volatilidad de un paso adelante
  • Extraiga X números aleatorios de la distribución que se utilizó para ajustar el modelo GARCH.
  • Calcular mean + volatility * random_number para todas las innovaciones extraídas al azar.
  • Toma la media de lo anterior para recibir una previsión puntual de la rentabilidad.

¿Es este el enfoque correcto? Gracias de antemano.

2voto

scottishwildcat Puntos 146

De forma similar a como lo plantea Morten: si se tiene una previsión de la rentabilidad (como media condicional) entonces esta es una previsión sólida. El error GARCH podría decir algo sobre el riesgo, pero como previsión puntual se suele tomar la media condicional y ya la tienes.

Por supuesto, sería un milagro que pudieras conseguir comercializable previsiones de los rendimientos que son mejores que el azar a partir de un modelo de series temporales ARIMA (o similar).

1voto

bmdixon Puntos 4662

En primer lugar, permítanme comenzar diciendo que no estoy acostumbrado a usar Python. Otra cosa es que tal vez quieras volver a pensar en tu título, más concretamente, en el término "correctamente": No parece haber ninguna evidencia que apoye que se pueda predecir con exactitud el 100% de los rendimientos de las acciones. Tal vez, podrías buscar la Hipótesis del Mercado Eficiente, más precisamente cómo se relaciona la forma semi-fuerte con los modelos GARCH.

Supongo que podrías usar este método que describes, sin embargo por lo que veo sin calcularlo yo mismo, cuando tomas la media al final efectivamente matas la aleatoriedad de la misma. Es decir, cuando generas X previsiones puntuales diferentes, en teoría deberían distribuirse con la distribución asumida en las innovaciones (que son IID(0,1)), escaladas con la (misma) volatilidad prevista y la media, y así, al tomar la media al final, simplemente obtienes un número cercano a la media condicional prevista.

Yo simplemente utilizaría un valor generado aleatoriamente a partir de la distribución que estás asumiendo en el GARCH, por ejemplo una distribución normal estándar. Recuerde que usted asume eIID(0,1) . Se podría estudiar un esquema de previsión rodante de un paso adelante y quizás comprobar cómo se compara su previsión rodante con los rendimientos reales observados.

Otra cosa que podrías hacer es buscar la previsión de densidad paramétrica, en la que prácticamente pronosticas la volatilidad y luego escalas la supuesta distribución de las innovaciones con esta volatilidad.

Adición de GARCH edit

El proceso GARCH(1,1) sin media tiene el siguiente aspecto:

$$ r_t = \sigma_t \epsilon_t, ~~ \sigma_t^2 = \omega + \alpha r_{t-1}^2 + \beta\sigma_{t-1}^2, $$

Cuando se asume que la rentabilidad sigue un proceso GARCH, se dice simplemente que la rentabilidad viene dada por la volatilidad condicional ( σt ) por un número generado aleatoriamente ( ϵt ) de su distribución especificada. En caso de que quiera incluir una media, sólo tiene que añadirla a rt .

Edición de la HME

Le recomiendo que eche un vistazo a cómo la hipótesis del mercado eficiente, y las implicaciones relacionadas con las innovaciones, se corresponden con el modelado GARCH. Una buena palabra de moda es la diferencia de martingala. Una buena referencia sobre este tema es Fan & Yao, 2017 Los elementos de la econometría financiera .

0 votos

Gracias por su respuesta. Por supuesto que correctamente no se refería a la exactitud de la previsión potencial, sino simplemente al hecho de cómo recuperar correctamente la previsión de retorno del forecast objeto. Me preguntaba cómo incorporar la previsión de la volatilidad condicional en la predicción, ya que la forma más directa sólo tiene en cuenta la media condicional.

0 votos

Voy a editar mi respuesta para que quede claro cómo el proceso GARCH utiliza la volatilidad en la predicción de la rentabilidad.

0 votos

Gracias por la edición. Lo que aún se me escapa es que puedo tener los componentes de media y volatilidad del modelo, sin embargo, no tengo la innovación. Así que para obtener la rentabilidad siguiendo tu ecuación, sigo necesitando multiplicar la volatilidad por una innovación extraída de una determinada distribución.

1voto

Thomas G. Puntos 240

Los rendimientos esperados o las previsiones de rendimiento no son mejores utilizando GARCH que ARIMA. GARCH sólo es útil para predecir la varianza de la rentabilidad esperada o la rentabilidad futura al cuadrado. Por esta razón, no se encuentran guías para calcular las previsiones de rentabilidad. Por lo general, usted define su random number para tener una media nula por esta razón sólo debe utilizar el mean que tiene. Esto equivale a no utilizar el modelo GARCH en primer lugar, sino utilizar directamente ARIMA. O en tu caso sólo utilizar la media de los rendimientos pasados.

(Esto ya estaba más o menos explicado en las otras respuestas pero espero haberlo hecho más evidente para alguien).

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X