Saturday 25 November 2017

Media Móvil Autorregressiva C ++


(P, d, q) Modelos para el análisis de series temporales En el conjunto anterior de artículos (partes 1, 2 y 3) se detallaron de manera significativa los AR (p), MA (q) y ARMA P, q) series lineales lineales. Utilizamos estos modelos para generar conjuntos de datos simulados, modelos ajustados para recuperar los parámetros y luego aplicamos estos modelos a los datos de las acciones financieras. En este artículo vamos a discutir una extensión del modelo ARMA, a saber, el modelo de media móvil integrada Autoregressive, o modelo ARIMA (p, d, q). Veremos que es necesario considerar el modelo ARIMA cuando tenemos series no estacionarias. Tales series se producen en presencia de tendencias estocásticas. Recapitulación Rápida y Próximos Pasos Hasta la fecha hemos considerado los siguientes modelos (los enlaces le llevarán a los artículos apropiados): Hemos construido constantemente nuestra comprensión de series de tiempo con conceptos tales como correlación serial, estacionariedad, linealidad, residuos, correlogramas, Simulando, ajustando, estacionalidad, heterocedasticidad condicional y pruebas de hipótesis. Hasta el momento no hemos realizado ninguna predicción o pronóstico de nuestros modelos y por lo tanto no hemos tenido ningún mecanismo para producir un sistema de comercio o curva de patrimonio. Una vez que hemos estudiado ARIMA (en este artículo), ARCH y GARCH (en los próximos artículos), estaremos en condiciones de construir una estrategia básica de comercio a largo plazo basada en la predicción de los rendimientos del índice bursátil. A pesar de que he entrado en muchos detalles sobre modelos que sabemos que en última instancia no tendrá un gran rendimiento (AR, MA, ARMA), ahora estamos bien versados ​​en el proceso de modelado de series de tiempo. Esto significa que cuando llegamos a estudiar modelos más recientes (e incluso los que actualmente están en la literatura de investigación), tendremos una base de conocimiento importante sobre la cual dibujar, con el fin de evaluar efectivamente estos modelos, en lugar de tratarlos como un turn key Prescripción o caja negra. Lo que es más importante, nos dará la confianza para extenderlos y modificarlos por nuestra cuenta y entender lo que estamos haciendo cuando lo hacemos. Quisiera agradecerle por ser paciente hasta ahora, ya que podría parecer que estos artículos están muy lejos de La acción real del comercio real. Sin embargo, la verdadera investigación comercial cuantitativa es cuidadosa, medida y toma un tiempo significativo para obtener la derecha. No hay una solución rápida o un esquema rico en el comercio de Quant. Estábamos casi listos para considerar nuestro primer modelo comercial, que será una mezcla de ARIMA y GARCH, por lo que es imprescindible que pasemos algún tiempo entendiendo bien el modelo ARIMA Una vez que hemos construido nuestro primer modelo comercial, vamos a considerar más Modelos avanzados tales como procesos de memoria larga, modelos de espacio de estado (es decir, el filtro de Kalman) y modelos vectoriales (VAR), que nos llevarán a otras estrategias de negociación más sofisticadas. (ARIMA) Modelos de orden p, d, q Justificación Los modelos ARIMA se utilizan porque pueden reducir una serie no estacionaria a una serie estacionaria usando una secuencia de pasos de diferenciación. Podemos recordar del artículo sobre el ruido blanco y los paseos aleatorios que si aplicamos el operador de la diferencia a una serie de caminata aleatoria (una serie no estacionaria) nos quedamos con ruido blanco (una serie estacionaria): begin nabla xt xt - x wt Final ARIMA realiza esencialmente esta función, pero lo hace repetidamente, d veces, para reducir una serie no estacionaria a una estacionaria. Para manejar otras formas de no estacionariedad más allá de las tendencias estocásticas, se pueden usar modelos adicionales. Los efectos de la estacionalidad (como los que ocurren en los precios de las materias primas) se pueden abordar con el modelo ARIMA estacional (SARIMA), sin embargo, no hablaremos mucho de SARIMA en esta serie. Los efectos heteroscedásticos condicionales (como con el agrupamiento de volatilidad en los índices de renta variable) se pueden abordar con ARCH / GARCH. En este artículo consideraremos series no estacionarias con tendencias estocásticas y modelos ARIMA ajustados a estas series. También produciremos finalmente pronósticos para nuestras series financieras. Definiciones Antes de definir los procesos ARIMA debemos discutir el concepto de una serie integrada: Serie Integrada de orden d Una serie temporal se integra de orden d. Es decir, si diferenciamos la serie d veces recibimos una serie de ruido blanco discreto. Alternativamente, usando el operador de cambio hacia atrás una condición equivalente es: Ahora que hemos definido una serie integrada podemos definir el propio proceso de ARIMA: Modelo de orden móvil integrado Autoregresivo Modelo de orden p, d, q Una serie de tiempo es un modelo de media móvil integrado autoregresivo De orden p, d, q. ARIMA (p, d, q). Si nablad xt es una media móvil autorregresiva de orden p, q, ARMA (p, q). Es decir, si la serie se diferencia d veces, y luego sigue un proceso ARMA (p, q), entonces es una serie ARIMA (p, d, q). Si usamos la notación polinómica de la Parte 1 y la Parte 2 de la serie ARMA, entonces un proceso de ARIMA (p, d, q) se puede escribir en términos del Operador de Turno Trasero. : Donde wt es una serie de ruido blanco discreto. Hay algunas observaciones sobre estas definiciones. Dado que el recorrido aleatorio se da por xt x wt se puede ver que I (1) es otra representación, ya que nabla1 xt wt. Si sospechamos una tendencia no lineal entonces podríamos ser capaces de usar diferenciación repetida (es decir, d gt 1) para reducir una serie a ruido blanco estacionario. En R podemos usar el comando diff con parámetros adicionales, p. Diff (x, d3) para realizar diferencias repetidas. Simulación, Correlograma y Ajuste de Modelo Ya que ya hemos hecho uso del comando arima. sim para simular un proceso ARMA (p, q), el siguiente procedimiento será similar al que se lleva a cabo en la Parte 3 de la serie ARMA. La principal diferencia es que ahora estableceremos d1, es decir, produciremos una serie temporal no estacionaria con un componente de tendencia estocástica. Como antes vamos a ajustar un modelo ARIMA a nuestros datos simulados, tratar de recuperar los parámetros, crear intervalos de confianza para estos parámetros, producir un correlograma de los residuos del modelo ajustado y finalmente llevar a cabo una prueba de Ljung-Box para establecer si tenemos Un buen ajuste. Vamos a simular un modelo ARIMA (1,1,1), con el coeficiente autorregresivo alfa0,6 y el coeficiente de media móvil beta-0,5. Aquí está el código R para simular y trazar tal serie: Ahora que tenemos nuestra serie simulada vamos a tratar de encajar un modelo ARIMA (1,1,1). Dado que conocemos el orden simplemente lo especificamos en el ajuste: Los intervalos de confianza se calculan como: Las dos estimaciones de parámetros se encuentran dentro de los intervalos de confianza y están cerca de los valores de los parámetros reales de la serie ARIMA simulada. Por lo tanto, no deberíamos estar sorprendidos de ver los residuos que parecen una realización de discreto ruido blanco: Por último, podemos ejecutar una prueba de Ljung-Box para proporcionar pruebas estadísticas de un buen ajuste: Podemos ver que el valor p es significativamente mayor que 0,05 y como tal podemos afirmar que existe una fuerte evidencia de que el ruido blanco discreto es un buen ajuste a los residuos. Por lo tanto, el modelo ARIMA (1,1,1) es un buen ajuste, como se esperaba. Datos Financieros y Predicción En esta sección vamos a encajar los modelos de ARIMA con Amazon, Inc. (AMZN) y el SampP500 US Equity Index (GPSC, en Yahoo Finance). Haremos uso de la biblioteca de pronósticos, escrita por Rob J Hyndman. Vamos a seguir adelante e instalar la biblioteca en R: Ahora podemos usar quantmod para descargar la serie de precios diarios de Amazon a partir de principios de 2013. Ya que ya habremos tomado las diferencias de primer orden de la serie, el ajuste ARIMA llevado a cabo en breve No se requiere d gt 0 para el componente integrado: Como en la parte 3 de la serie ARMA, vamos ahora a recorrer las combinaciones de p, dyq, para encontrar el modelo ARIMA (p, d, q) óptimo. Por óptimo nos referimos a la combinación de órdenes que minimiza el Criterio de Información Akaike (AIC): Podemos ver que se seleccionó un orden de p4, d0, q4. Dado que ya hemos tomado las diferencias de primer orden arriba: Si tracemos el correlograma de los residuos podemos ver si tenemos evidencia de una serie de ruido blanco discreto: Hay dos picos significativos, a saber, en k15 y k21, aunque debemos Esperan ver picos estadísticamente significativos simplemente debido a la variación de muestreo 5 del tiempo. Vamos a realizar una prueba de Ljung-Box (ver el artículo anterior) y ver si tenemos pruebas de un buen ajuste: Como podemos ver el valor de p es mayor que 0,05 y por lo que tenemos pruebas de un buen ajuste en el nivel 95. Ahora podemos usar el comando de pronóstico de la biblioteca de pronósticos para predecir 25 días de anticipación para las series de devoluciones de Amazon: Podemos ver los pronósticos de punto para los próximos 25 días con 95 (azul oscuro) y 99 (azul claro) . Vamos a utilizar estas previsiones en nuestra primera estrategia de series de tiempo cuando vayamos a combinar ARIMA y GARCH. Vamos a realizar el mismo procedimiento para el SampP500. En primer lugar se obtienen los datos de cuánmod y lo convierten en un diario de regreso log arroyo: Nos ajustamos a un modelo ARIMA haciendo un bucle sobre los valores de p, dyq: El AIC nos dice que el mejor modelo es el ARIMA (2,0, 1) modelo. Notemos una vez más que d0, ya que ya hemos tomado las diferencias de primer orden de la serie: Podemos trazar los residuos del modelo ajustado para ver si tenemos evidencia de ruido blanco discreto: El correlograma parece prometedor, por lo que el siguiente paso es ejecutar La prueba de Ljung-Box y confirman que tenemos un buen ajuste de modelo: Puesto que el valor de p es mayor que 0,05 tenemos evidencia de un buen ajuste de modelo. ¿Por qué es que en el artículo anterior nuestra prueba de Ljung-Box para el SampP500 demostró que el ARMA (3,3) era un ajuste pobre para las devoluciones de registro diarias? Tenga en cuenta que deliberadamente trunqué los datos de SampP500 a partir de 2013 en adelante en este artículo , Que convenientemente excluye los periodos volátiles alrededor de 2007-2008. Por lo tanto, hemos excluido una gran parte de la SampP500 donde teníamos volatilidad excesiva agrupación. Esto afecta a la correlación serial de la serie y por lo tanto tiene el efecto de hacer que la serie parezca más estacionaria de lo que ha sido en el pasado. Este es un punto muy importante. Cuando analizamos las series temporales, debemos tener mucho cuidado con las series condicionalmente heteroscedasticas, como los índices bursátiles. En finanzas cuantitativas, tratar de determinar períodos de volatilidad diferente se conoce a menudo como detección de régimen. Es una de las tareas más difíciles de lograr. Bueno, discuta este punto detalladamente en el siguiente artículo cuando consideremos los modelos ARCH y GARCH. Ahora vamos a trazar un pronóstico para los próximos 25 días del log diario SampP500 devuelve: Ahora que tenemos la capacidad de ajustar y pronosticar modelos como ARIMA, estuvimos muy cerca de ser capaces de crear indicadores de estrategia para el comercio. Próximos Pasos En el próximo artículo vamos a echar un vistazo al modelo Generalizado Autoregressive Conditional Heteroscedasticity (GARCH) y usarlo para explicar más de la correlación serial en ciertas series de renta variable y equidad. Una vez que hemos discutido GARCH estaremos en una posición para combinarlo con el modelo ARIMA y crear indicadores de señal y por lo tanto una estrategia de comercio cuantitativa básica. Haga clic abajo para aprender más sobre. La información contenida en este sitio web es la opinión de los autores individuales sobre la base de su observación personal, investigación y años de experiencia. El editor y sus autores no son asesores de inversiones, abogados, CPA u otros profesionales de servicios financieros registrados y no prestan asesoría legal, fiscal, contable, de inversión u otros servicios profesionales. La información ofrecida por este sitio web es sólo educación general. Debido a que cada situación de hecho individual es diferente, el lector debe buscar a su propio asesor personal. Ni el autor ni el editor asumen responsabilidad alguna por errores u omisiones y no tendrán ni responsabilidad ni responsabilidad con ninguna persona o entidad con respecto a los daños causados ​​o presuntamente causados ​​directa o indirectamente por la información contenida en este sitio. Úselo bajo su propio riesgo. Además, este sitio web puede recibir compensación financiera de las empresas mencionadas a través de publicidad, programas de afiliados o de otra manera. Las tarifas y ofertas de los anunciantes que se muestran en este sitio web cambian con frecuencia, a veces sin previo aviso. Mientras nos esforzamos por mantener información oportuna y precisa, los detalles de la oferta pueden estar desactualizados. Los visitantes deben verificar los términos de tales ofertas antes de participar en ellas. El autor y su editor se niegan a la responsabilidad de actualizar la información y renunciar a la responsabilidad por el contenido de terceros, productos y servicios, incluso cuando se accede a través de hipervínculos y / o anuncios en este sitio. RIMA significa Autoregressive Integrated Moving Average. Univariante (vector único) ARIMA es una técnica de previsión que proyecta los valores futuros de una serie basada enteramente en su propia inercia. Su aplicación principal es en el área de pronósticos a corto plazo que requieren al menos 40 puntos de datos históricos. Funciona mejor cuando los datos muestran un patrón estable o consistente en el tiempo con una cantidad mínima de valores atípicos. A veces llamado Box-Jenkins (después de los autores originales), ARIMA suele ser superior a las técnicas de suavización exponencial cuando los datos son razonablemente largos y la correlación entre las observaciones pasadas es estable. Si los datos son cortos o muy volátiles, entonces algún método de suavizado puede funcionar mejor. Si usted no tiene por lo menos 38 puntos de datos, debe considerar algún otro método que ARIMA. El primer paso para aplicar la metodología ARIMA es verificar la estacionariedad. La estacionariedad implica que la serie permanece a un nivel bastante constante a lo largo del tiempo. Si existe una tendencia, como en la mayoría de las aplicaciones económicas o de negocios, sus datos NO son estacionarios. Los datos también deben mostrar una variación constante en sus fluctuaciones en el tiempo. Esto se ve fácilmente con una serie que es muy estacional y que crece a un ritmo más rápido. En tal caso, los altibajos en la estacionalidad se harán más dramáticos con el tiempo. Si no se cumplen estas condiciones de estacionariedad, no se pueden calcular muchos de los cálculos asociados con el proceso. Si un gráfico gráfico de los datos indica nonstationarity, entonces usted debe diferenciar la serie. La diferenciación es una excelente forma de transformar una serie no estacionaria en una serie estacionaria. Esto se hace restando la observación en el período actual a la anterior. Si esta transformación se realiza sólo una vez en una serie, se dice que los datos se han diferenciado primero. Este proceso esencialmente elimina la tendencia si su serie está creciendo a una tasa bastante constante. Si está creciendo a un ritmo creciente, puede aplicar el mismo procedimiento y diferenciar los datos de nuevo. Sus datos entonces serían segundos diferenciados. Las autocorrelaciones son valores numéricos que indican cómo una serie de datos se relaciona a sí misma con el tiempo. Más precisamente, mide cuán fuertemente los valores de datos en un número específico de períodos separados están correlacionados entre sí a lo largo del tiempo. El número de períodos separados se llama generalmente el retraso. Por ejemplo, una autocorrelación en el retardo 1 mide cómo los valores 1 período aparte están correlacionados entre sí a lo largo de la serie. Una autocorrelación en el retraso 2 mide cómo los datos dos períodos aparte están correlacionados a lo largo de la serie. Las autocorrelaciones pueden variar de 1 a -1. Un valor próximo a 1 indica una alta correlación positiva, mientras que un valor cercano a -1 implica una correlación negativa alta. Estas medidas se evalúan con mayor frecuencia a través de tramas gráficas llamadas correlagramas. Un correlagrama traza los valores de autocorrelación para una serie dada con diferentes retardos. Esto se conoce como la función de autocorrelación y es muy importante en el método ARIMA. La metodología ARIMA intenta describir los movimientos en una serie temporal estacionaria como una función de lo que se llaman parámetros de media móvil y autorregresiva. Estos parámetros se denominan parámetros AR (autoregessivos) y MA (medias móviles). Un modelo de AR con un solo parámetro se puede escribir como. X (t) A (1) X (t-1) E (t) donde X (t) serie temporal bajo investigación A (1) el parámetro autorregresivo de orden 1 X (t-1) (t) el término de error del modelo Esto simplemente significa que cualquier valor dado de X (t) puede explicarse por alguna función de su valor anterior, X (t-1), además de algunos errores aleatorios inexplicable, E (t). Si el valor estimado de A (1) fue de 0,30, entonces el valor actual de la serie estaría relacionado con 30 de su valor hace 1 período. Por supuesto, la serie podría estar relacionada con más de un valor pasado. Por ejemplo, X (t) A (1) X (t-1) A (2) X (t-2) E (t) Esto indica que el valor actual de la serie es una combinación de los dos valores inmediatamente anteriores, X (t-1) y X (t-2), más algún error aleatorio E (t). Nuestro modelo es ahora un modelo autorregresivo de orden 2. Modelos de media móvil: Un segundo tipo de modelo de Box-Jenkins se denomina modelo de media móvil. Aunque estos modelos parecen muy similares al modelo de AR, el concepto detrás de ellos es muy diferente. Los parámetros de la media móvil relacionan lo que sucede en el período t sólo con los errores aleatorios que ocurrieron en períodos de tiempo pasados, es decir, E (t-1), E (t-2), etc., en lugar de X (t-1), X T-2), (Xt-3) como en los enfoques autorregresivos. Un modelo de media móvil con un término MA puede escribirse como sigue. El término B (1) se denomina MA de orden 1. El signo negativo frente al parámetro se utiliza para convención solamente y normalmente se imprime La mayoría de los programas de ordenador. El modelo anterior simplemente dice que cualquier valor dado de X (t) está directamente relacionado solamente al error aleatorio en el período anterior, E (t-1), y al término de error actual, E (t). Como en el caso de los modelos autorregresivos, los modelos de media móvil pueden extenderse a estructuras de orden superior que abarcan diferentes combinaciones y longitudes móviles. La metodología ARIMA también permite la construcción de modelos que incorporen parámetros tanto de autorregresión como de media móvil. Estos modelos se refieren a menudo como modelos mixtos. Aunque esto hace que sea una herramienta de pronóstico más complicada, la estructura puede simular mejor la serie y producir un pronóstico más preciso. Los modelos puros implican que la estructura consiste solamente en los parámetros AR o MA - no ambos. Los modelos desarrollados por este enfoque generalmente se llaman los modelos ARIMA, ya que utilizan una combinación de autorregresivo (AR), la integración (I) - refiriéndose al proceso de diferenciación inversa para producir el pronóstico, y moviendo las operaciones promedio (MA). Un modelo de ARIMA se indica generalmente como ARIMA (p, d, q). Esto representa el orden de los componentes autorregresivos (p), el número de operadores de diferenciación (d) y el orden más alto del término medio móvil. Por ejemplo, ARIMA (2,1,1) significa que usted tiene un modelo autorregresivo de segundo orden con un componente de media móvil de primer orden cuya serie se ha diferenciado una vez para inducir la estacionariedad. Elegir la especificación correcta: El principal problema en el clásico Box-Jenkins es tratar de decidir qué especificación ARIMA utilizar-i. e. Cuántos AR y / o MA parámetros para incluir. Esto es lo que gran parte de Box-Jenkings 1976 se dedicó al proceso de identificación. Dependía de la eva - luación gráfica y numérica de las funciones de autocorrelación de la muestra y de autocorrelación parcial. Bueno, para sus modelos básicos, la tarea no es demasiado difícil. Cada uno tiene funciones de autocorrelación que se ven de cierta manera. Sin embargo, cuando se sube en complejidad, los patrones no se detectan tan fácilmente. Para hacer las cosas más difíciles, sus datos representan sólo una muestra del proceso subyacente. Esto significa que los errores de muestreo (valores atípicos, errores de medición, etc.) pueden distorsionar el proceso teórico de identificación. Es por ello que el modelado ARIMA tradicional es un arte más que una ciencia. Funciones para asegurar la estacionariedad en la autorregresión y la invertibilidad en parámetros de media móvil 309 Resumen: Proporcionar función para restringir un vector al espacio de coeficientes de funciones autoregresivas estacionarias y funciones de media móvil invertible . Descripción: Al estimar modelos de series temporales ARMA no son estacionarios si las raíces del polinomio característico de la parte AR están fuera del círculo unitario, o las raíces del polinomio característico de la parte MA están fuera del círculo unitario. Puesto que este espacio se complica una vez que el orden de esos polinomios supera 2, sería útil tener funciones que conviertan de la línea real a este espacio, y la inversa. Este problema se menciona en la pág. 95 del manual v2.10.0, y la restricción se impone manualmente en el modelo GARCH (1,1) en p. 90. Estas funciones permitirían asegurar la estacionaria de los coeficientes de ARMA (p, q) y modelos de series de tiempo relacionados. A continuación presento funciones de Stan que implementan las transformaciones necesarias, descritas en Monahan (1984) y Jones (1987). Podría reimplementarlos en C si esto es de interés. Monahan, John F. 1984. Nota sobre la imposición de la estacionariedad en los modelos de media móvil con movimiento autorregresivo. Biometrika 71 (2) (1 de agosto): 403-404 Jones, R. H. (1980) Adaptación máxima de la probabilidad de modelos ARMA a series temporales con observaciones faltantes. Technometrics 22 389395. Jones, 1987. Selección aleatoria de parámetros de la estacionariedad y la región de la invertibilidad de los modelos de media móvil autorregresiva. Estadística Aplicada, 36. funciones unimitarias y no unimportadas en el paquete de Python statsmodels. R función arima. Con las transformaciones implementadas en C con funciones partrans e invpartrans Salida esperada: Información adicional: Funciones Stan implementando estas transformaciones. Proporcione cualquier información adicional aquí.

No comments:

Post a Comment