Wednesday, October 19, 2016

Inversor Sistemática

Series de Tiempo a juego con Dynamic Time Warping ESTO NO ES UN CONSEJO DE INVERSIÓN. La información se proporciona únicamente con fines informativos. En el post Matching series de tiempo, usé doce y cincuenta y nueve minutos de la tarde de mapeo a la distancia de cálculo entre la consulta (patrón actual) y de referencia (series históricas). Siguiente cuadro visualiza este concepto. La distancia es la suma de las líneas verticales. Una forma alternativa para asignar un solo series de tiempo a otro es dinámico Time Warping (DTW). Algoritmo DTW busca mapeo mínima distancia entre consulta y referencia. A raíz de la carta de un visualiza a muchos mapeo posible con DTW. Para comprobar si hay una diferencia entre simples doce y cincuenta y nueve de la tarde mapeo y DTW, voy a buscar partidos de series de tiempo que son similares a las más recientes 90 días de SPY en los últimos 10 años de historia. Siguiente código carga los precios históricos de Yahoo prometido, configuraciones del problema y calcula la distancia euclídea para la ventana de rodadura histórica utilizando la caja de herramientas del Inversor sistemática: A continuación, dejar que examine los 10 partidos que utilizan Deformación Dinámica de Tiempo distancia. Voy a utilizar la aplicación Deformación Dinámica de Tiempo del paquete dtw. Ambos algoritmos producen partidos muy similares y predicciones muy similares. Me gustaría utilizar estas predicciones como una conjetura de la acción del mercado en el futuro. Hasta el momento, parece que el mercado no va a ir en el acelerador a fondo en los próximos 22 días. Para ver el código fuente completo para este ejemplo, por favor, eche un vistazo a la función bt. matching. dtw. test () en bt. test. r en github. Backtest multiactivos. Estrategias de negociación de rotación Quiero discutir la implementación de estrategias de rotación de comercio mediante la biblioteca backtesting en la estrategia del inversor Toolbox. La rotación Trading sistemática cambia las asignaciones de inversión a lo largo del tiempo, apostando por unos mejor clasificado de los activos. Por ejemplo, la clasificación puede basarse en la fuerza relativa o impulso. Algunos ejemplos de las estrategias comerciales de rotación (o asignación táctica de activos) son los siguientes: Quiero ilustrar el comercio de rotación mediante la estrategia introducido en la pantalla de la ETF en el post Estrategia Sectorial ETF. Cada mes, esta estrategia invierte en los dos primeros de los 21 ETFs según sus declaraciones de 6 meses. Para reducir el volumen de negocios, en los meses siguientes las posiciones ETF se mantienen siempre y cuando estos ETFs están en el rango superior 6. Antes de que podamos poner en práctica esta estrategia, tenemos que crear dos rutinas de ayuda. En primer lugar, vamos a crear una función que seleccionará las posiciones superiores N para cada período: A continuación, vamos a crear una función que seleccionará las posiciones superiores N para cada período y mantenerlos hasta que caen por debajo de rango KeepN: Ahora estamos listos para poner en práctica esta estrategia mediante la biblioteca backtesting en la caja de herramientas del Inversor sistemática: Hay muchas maneras de mejorar esta estrategia. Aquí está una lista de ejemplos de formas adicionales a tener en cuenta: Considere la posibilidad de una variedad de métodos de clasificación. Es decir. 1/2/3/6/12 retornos mensuales y sus combinaciones, el riesgo-ajustados ranking. Para el control de disposición del crédito y aumentar el rendimiento en cuenta el mecanismo de tiempo como se presenta en un enfoque cuantitativo de asignación táctica de activos por M. Faber (2006). Considere la posibilidad de un universo de activos diferentes. Incluya ETFs que están menos correlacionados con los otros activos, como materias primas, renta fija, renta variable y los mercados internacionales. Por ejemplo, tener una mirada en el puesto de Estrategia Internacional Individual País. El único límite es tu imaginación. También recomendaría que hacer análisis de sensibilidad durante el desarrollo de su estrategia para asegurarse de que su no sobreajuste los datos. Para ver el código fuente completo para este ejemplo, por favor, eche un vistazo a la función bt. rotational. trading. test () en bt. test. r en github. Trading usando Garch Volatilidad Pronóstico Financier Quantum escribió un Régimen interesante artículo de conmutación del sistema mediante Volatilidad Previsión. El artículo presenta un algoritmo elegante para cambiar entre media-reversión y estrategias de seguimiento de tendencias en función de la volatilidad del mercado. Dos modelos se examinan: uno utilizando la volatilidad histórica y otra mediante el Pronóstico GARCH (1,1) La volatilidad. La estrategia de media-reversión se modela con el RSI (2): Long cuando el RSI (2), y Short contrario. La estrategia de seguimiento de tendencias se modela con SMA 50/200 cruce: Long cuando SMA (50) & gt; SMA (200), y Short lo contrario. Quiero mostrar cómo implementar estas ideas usando la biblioteca backtesting en el sistemática Investor Toolbox. A raíz de las cargas de código de los precios históricos de Yahoo prometido y compara el desempeño del comprar y mantener, Mean-reversión, y las estrategias de seguimiento de tendencias mediante la biblioteca backtesting en la caja de herramientas del Inversor sistemática: A continuación, vamos a crear una estrategia que cambia entre media-reversión y estrategias de seguimiento de tendencias basado en la volatilidad histórica de mercado. A continuación, vamos a crear un GARCH (1,1) Pronóstico volatilidad. Yo recomendaría la lectura siguiente artículos para cualquier persona que quiera encontrar lo GARCH se trata o para actualizar sus conocimientos: GARCH (1,1) por David Harper un muy buen artículo de introducción con un montón de diagramas visuales. Problemas prácticos en univariante GARCH Modelado por Y. Chalabi, D. Wurtz ejemplo paso a paso de GARCH apropiado (1,1) modelo con el código R completa. Introducción básica a GARCH por Financier Quantum es una serie de mensajes que entra en los detalles y las hipótesis de GARCH y EGARCH. Hay unos cuantos paquetes de R para adaptarse a los modelos GARCH. Voy a considerar la función GARCH del paquete URBANA y función garchFit del paquete fGarch. La función GARCH del paquete URBANA es rápido, pero no siempre encuentra la solución. La función garchFit del paquete fGarch es más lento, pero no convergen de manera más consistente. Para demostrar la diferencia de velocidad entre la función GARCH y función garchFit he creado un punto de referencia simple: La función garchFit es en promedio 6 veces más lento que la función GARCH. Así que para predecir la volatilidad voy a tratar de utilizar la función GARCH siempre se puede encontrar una función solución y garchFit lo contrario. Ahora, vamos a crear una estrategia que cambia entre media-reversión y estrategias de seguimiento de tendencias basado en GARCH previsión (1,1) de la volatilidad. La estrategia de conmutación que utiliza GARCH (1,1) Pronóstico volatilidad se comportó ligeramente mejor que el que utiliza la volatilidad histórica. Hay muchos enfoques diferentes que usted puede tomar para incorporar la previsión en sus modelos y estrategias de negociación. R tiene un muy amplio conjunto de paquetes de modelar y predecir series de tiempo. He aquí algunos ejemplos que he encontrado interesante: Predicciones de mercado para los años 2011 y 2012 por Pat Burns utiliza GARCH (1,1) para calibrar la importancia de las predicciones de mercado de otras personas. Modelos ARMA para Trading por el promedio del inversor es una serie de mensajes que muestra cómo predecir próximos retornos diarios utilizando modelos ARIMA y GARCH. Maravilloso Nuevo Blog TimeSeriesIreland al Portafolio oportuna utiliza EGRACH para crear el modelo de comercio. Pronosticar En R: El acceso directo más grande que no pasaron la Ljung-Box utiliza modelos ARIMA para pronosticar PIB. Para ver el código fuente completo para este ejemplo, por favor, eche un vistazo a la función bt. volatility. garch () en bt. test. r en github. Calendario Estrategia: el fin de mes Estrategia Calendar es una estrategia muy simple que compra un vende en los días predeterminados, conocidos de antemano. Hoy quiero mostrar cómo podemos investigar fácilmente actuación en y alrededor días fin de mes. En primer lugar permite cargar los precios históricos de SPY de Yahoo prometido y calcular perfromance SPY en los fines de mes. Es decir. estrategia abrirá posición larga en la clausura de la 30a y vender posiciones al cierre de la 31a. Tenga en cuenta que anteriormente, en la llamada btn. share, me puse do. lag parámetro igual a cero (el valor predeterminado para el parámetro do. lag es uno). La razón para establecer igual a un valor por defecto es debido a la señal (decisión de comercio) se deriva utilizando toda la información disponible en la actualidad, por lo que la posición sólo se puede poner en práctica día siguiente. Es decir. Sin embargo, en el caso de la estrategia de calendario no es necesario a la zaga de la señal debido a que el día el comercio se conoce de antemano. Es decir. A continuación, he creado dos funciones para ayudar con la creación de la señal y prueba de la estrategia: Por encima, T0 es una estrategia calendario que compra el 30 y vende el 31. Es decir. posición solamente se lleva a cabo en un día de fin de mes. P1 y P2 son dos estrategias que compran un día antes y dos días antes correspondientemente. N1 y N2 son dos estrategias que compran un día después y dos días después correspondientemente. La estrategia N1, comprar el 31 y vender en la primera el próximo mes parece estar funcionando mejor para SPY. Por último, echemos un vistazo a los oficios reales: La estrategia P2 entra posición en los estrechos 3 días antes de que finalice el mes y sale de las posiciones al cierre de 2 días antes de que finalice el mes. Es decir. el rendimiento se debe a declaraciones de sólo 2 días antes de que finalice el mes. Con este post quería mostrar cuán fácilmente podemos estudiar el rendimiento estrategia calendario utilizando la caja de herramientas del Inversor sistemática. A continuación, voy a demostrar las aplicaciones de estrategia calendario para diversas fechas importantes. Para ver el código fuente completo para este ejemplo, por favor, eche un vistazo a la función bt. calendar. strategy. month. end. test () en bt. test. r en github. Oscilador Estocástico Me encontré con el enlace al documento de John Ehlers: Indicadores predictivos para una eficaz Estrategias de Trading. al leer el Blog Dekalog. John Ehlers ofrece una manera diferente para suavizar los precios e incorporar el nuevo filtro en la construcción del oscilador. Afortunadamente, también se proporcionó el código EasyLanguage y yo era capaz de traducirlo en R. Time Series Matching ESTO NO ES UN CONSEJO DE INVERSIÓN. La información se proporciona únicamente con fines informativos. ¿Quieres saber qué SP 500 va a hacer en la próxima semana, mes, trimestre? Una manera de hacer una conjetura es encontrar períodos históricos similares al actual entorno de mercado, y examinar lo que sucedió. Voy a llamar a este juego de series de tiempo de proceso, pero se puede encontrar un técnicas similares que se hace referencia como patrones técnicos y fractales. Para conseguir un poco de sabor sobre fractales, siguientes son dos artículos que he leído recientemente sobre fractales: Recomiendo la lectura siguiente artículo acerca de la coincidencia de series de tiempo para entender los diferentes enfoques: Voy a utilizar un método sencillo esbozado en el Cómo acelerar el despliegue de modelos usando Grajo por el artículo de Jean-Robert Avettand-Fenoel para encontrar coincidencias de series de tiempo que son similares a las más recientes 90 días de SPY. Siguiente código carga los precios históricos de Yahoo prometido, configuraciones del problema y calcula la distancia euclídea para la ventana de rodadura histórica utilizando la caja de herramientas del Inversor sistemática: A continuación, vamos a seleccionar los 10 mejores partidos en el patrón de consulta en la historia SPY: A continuación, vamos a superponer todos los partidos con el patrón de consulta y examinar su desempeño histórico después del partido se llevó a cabo: A continuación, le permite resumir todos los partidos desempeño en una tabla: El análisis a juego de la serie de tiempo se puede utilizar para hacer una conjetura lo que SP 500 lo harán en la semana siguiente, mes, trimestre. Esta suposición se basa en datos históricos y no hay ninguna garantía de que la historia se repita. En el próximo post voy a examinar otras medidas de distancia para series de tiempo a juego y voy a mostrar un ejemplo de distorsión de tiempo dinámico. Para ver el código fuente completo para este ejemplo, por favor, eche un vistazo a la función bt. matching. test () en bt. test. r en github.


No comments:

Post a Comment