Saturday 10 December 2016

Media De Retroceso En Movimiento


Este sitio tiene un océano de backtests medio móvil que he realizado para el DAX, SP500 y también USD / EU (Forex). Estas pruebas se realizaron utilizando diferentes estrategias de señalización: variantes simples / exponenciales y crossover y diferentes índices para un período de tiempo de 1000 días de negociación. En contraste con otros sitios web, he probado todos los valores promedio de la ventana de día móvil de 1 a 1000 días, para las estrategias de cross-over también en combinación. Estos datos también son unqiue como traté de realizar pruebas realistas, simulando el spread de compra / venta y Impuestos para comparar con una estrategia de referencia (buy hold). Un valor de ventana de reacción rápida se ve bien en teoría y con una prueba simple. Pero la extensión, los honorarios y los impuestos destruirán todo funcionamiento en la aplicación práctica. Es por eso que estas pruebas realistas son tan valiosas. Espero que este sitio le pueda ayudar con sus oficios, disfrútalo IntroOverview: Este sitio web educativo gratuito está diseñado para permitirle comparar las estrategias comerciales más populares técnicamente como sea posible a través de backtesting. En general, es bastante difícil batir constantemente el mercado y usted debe ser escéptico de cualquier cosa que le dice lo contrario. Este sitio le permite backtest algunas estrategias técnicas comunes para ver cómo se habrían realizado contra el mercado y le permite buscar las acciones que cumplen con sus criterios comerciales. Las estrategias que backtest bien, por supuesto, no garantizan el éxito hacia adelante pero podrían tener una probabilidad más alta de funcionar bien. Backtesting también le permite ver las condiciones del mercado en las que una determinada estrategia tendrá un buen desempeño. Por ejemplo, si usted está seguro de que el mercado será gama limitada en el futuro, puede averiguar qué estrategias se desempeñan mejor en este tipo de mercado. Esto se hace mediante backtesting sobre los períodos de tiempo históricos que estaban vinculados a la gama y ver qué estrategias son mejores. Backtesting también le ayuda a ver qué parámetros de estrategia son más robustos en diferentes períodos de tiempo. Por ejemplo, un 10 stop-loss superar un 5 stop-loss 9 períodos de tiempo históricos de 10 Por lo tanto, backtesting puede proporcionar valiosas perspectivas comerciales, aunque no puede garantizar el futuro. Algunas cosas interesantes que podría descubrir: La combinación de negociación activa y comisiones puede acabar con usted, incluso si usted tiene un buen porcentaje de ganar oficios Realmente apretado trailing paradas puede perjudicar gravemente a su rentabilidad a largo plazo y no reducir bajar tanto como se podría esperar Estrategias que usted pensó que sería bueno que consistentemente underperform el mercado Direcciones (Single Stock Backtesting): Seleccione el stock que desea backtest su estrategia técnica. Capital Inicial: Cantidad de dinero que empiezas con Stoploss: Punto en el que quieres salir de una posición moviéndote contra ti. Una parada regular significa que usted saldrá de su posición si la acción cae un porcentaje del sistema debajo de donde usted lo compró. Trailing stop: Vamos a decir que comprar una acción a las 10 y poner en una parada de 10 arrastrar. Si la acción cae 10 sin ir siempre más arriba, usted venderá en 9. Pero si la acción va hasta 15 entonces abajo 10 a 13.5, usted venderá en 13.5 y bloqueará algo de la ganancia. Objetivo: Vender cuando su stock alcanza un cierto porcentaje de ganancia (Puede desactivar seleccionando No utilizar destino) Fecha de inicio / Fecha de finalización: Seleccione las fechas históricas entre las que desea probar la estrategia. Señales: Las señales implican los cruces o relaciones entre el precio y los indicadores técnicos. Por ejemplo, la cruz de oro, comprar cuando el promedio móvil de 50 días (sma) cruza por encima de los 200 días sma y vender cuando los 50 días cruza por debajo de los 200 días (cruz de la muerte). Los siguientes enlaces explican algunos indicadores técnicos populares: Get Trades / Graph: Get trades literalmente le mostrará los oficios que habría hecho si volviera a tiempo con un resumen de rendimiento incluido. Pruebas estadísticas: Compruebe si la rentabilidad media diaria de la estrategia es la misma que la media diaria de la SampP 500 o la misma que la rentabilidad media diaria de la compra y la retención durante el período. Queremos saber lo confiados que podemos estar para rechazar que los dos retornos son los mismos. Cuanto mayor sea la confianza, más seguro estará de que su estrategia es realmente mejor / peor que la SampP 500 o comprar y mantener. El gráfico representa el valor de la cartera a lo largo del tiempo con un resumen incluido del desempeño. Direcciones (PortTester Beta): Esto es para backtesting una estrategia que se aplicaría a su cartera como las poblaciones llegar a su técnica comprar y vender señales. En el primer cuadro de texto, ingrese los tickers para la cesta de acciones que desea volver a probar su estrategia técnica. Introduzca cada ticker separado por un espacio. Las existencias disponibles actualmente incluyen las existencias de 30 dow, AA AXP BAC CAT CSCO CVX DD DIS GE HD HPQ IBM INTC JNJ JPM KFT KO MCD MMM MRK MSFT PFE PG T TRV UTX VZ WMT XOM. Para incluir todos los 30 en el backtest, simplemente escriba DJIA que es el predeterminado. Target Número de Posiciones Abiertas: Este es el número de acciones en las que desea tener una posición y no más. Por ejemplo, digamos que desea apuntar a 2 posiciones abiertas. Cuando el backtester encuentra una señal de compra en una de las acciones que puso en la canasta, digamos GE, asumirá GE fue comprado. Ahora buscará 1 acción más para comprar cuando hay una señal de compra, digamos BAC. Ahora tiene una cartera de 2 posiciones abiertas (GE y BAC) y el backtester no va a comprar más hasta que una señal vendida vende una de las acciones. Una cartera diversificada debería tener 10 o más acciones, pero esto requiere mucho poder de computación para backtest. Por lo tanto, una pequeña cartera como el valor predeterminado de 5 posiciones abiertas será suficiente para tener una idea del desempeño de una estrategia. De la nota, para los inversionistas con una pequeña cantidad de capital diga 10.000, es costoso negociar un gran número de posiciones con 20 comisiones para comercios del viaje redondo. Los ETFs son una forma barata de diversificarse. Capital de Inicio: Cantidad de dinero que usted comienza con la Comisión de Comercio: Cantidad que paga TDAmeritrade, SOGO, ScottTrade, etc para negociar un stock Posición de tamaño: Así es como decide comprometer una cierta cantidad de dinero a cada acción de su cartera. Actualmente sólo una opción (Equal Cash Atribution) está disponible. Esto significa que si tengo 10.000 y quiero entrar en 2 posiciones, voy a poner 5000 en cada menos comisiones. En otras palabras, el efectivo disponible estará igualmente dividido hacia nuevas posiciones hasta llegar a mi objetivo n número de posiciones abiertas. Otras opciones por venir serán el mismo número de acciones, y las reglas basadas en volatilidad de tamaño de posición. Stoploss: Punto en el que desea salir de una posición en movimiento contra usted. Digamos que usted compra una acción en 10 y poner en una parada 10 de arrastre. Si la acción cae 10 sin ir siempre más arriba, usted venderá en 9. Pero si la acción va hasta 15 entonces abajo 10 a 13.5, usted venderá en 13.5 y bloqueará algo de la ganancia. Fecha de inicio / Fecha de finalización: seleccione las fechas históricas entre las que desea probar la estrategia. El backtester comenzará en la fecha de inicio en los datos históricos y buscará a través de las acciones que ha seleccionado hasta que multan una señal de compra. Si no hay señales de compra en el primer día, el backtester se mueve al día siguiente y busca todas las existencias de la canasta hasta que se compruebe una señal de compra en la que se asume que la acción se compra al precio de cierre ajustado por divisiones y Dividendos Tan pronto como una acción es comprada, el backtester estará mirando para vender esa acción cuando una señal de la venta viene. También sigue buscando comprar acciones hasta alcanzar el número objetivo de posiciones abiertas. Al mismo tiempo, venderá cualquier posición existente si ocurre una señal de la venta. El valor de la cartera se calcula todos los días hasta la fecha de finalización. Señales: Las señales implican los cruces o relaciones entre el precio y los indicadores técnicos. Por ejemplo, la cruz de oro, comprar cuando el promedio móvil de 50 días (sma) cruza por encima de los 200 días sma y vender cuando los 50 días cruza por debajo de los 200 días (cruz de la muerte). Get Trades / Graph: Obtener oficios literalmente le mostrará los oficios que habría hecho si volvió en el tiempo con un resumen de rendimiento incluido. El gráfico representa el valor de la cartera a lo largo del tiempo con un resumen incluido del desempeño. Descargo de responsabilidad: stockbacktest no aprueba ni recomienda ninguna de las estrategias o valores en este sitio. El contenido de este sitio es para propósitos informativos y no debe tomarse como consejo de inversión. Stockbacktest no se hace responsable de los errores en este sitio o las acciones tomadas en base a este contenido de sitios. Backtesting un promedio móvil Crossover en Python con pandas En el artículo anterior sobre Investigación Backtesting Ambientes En Python Con Pandas creamos una investigación orientada a objetos Basado en backtesting ambiente y probado en una estrategia de previsión aleatoria. En este artículo vamos a hacer uso de la maquinaria que introdujimos para llevar a cabo una investigación sobre una estrategia real, a saber, el Media Crossover móvil en AAPL. Estrategia de crossover de media móvil La técnica de crossover de media móvil es una estrategia de impulso simplista extremadamente conocida. A menudo se considera el ejemplo de Hello World para el comercio cuantitativo. La estrategia descrita aquí es larga solamente. Se crean dos filtros sencillos simples de media móvil, con periodos de retroceso variables, de una serie de tiempo particular. Las señales para comprar el activo ocurren cuando la media móvil de retroceso más corto excede la media móvil de retroceso más larga. Si el promedio más largo excede posteriormente el promedio más corto, el activo se vende de nuevo. La estrategia funciona bien cuando una serie de tiempo entra en un período de fuerte tendencia y luego invierte lentamente la tendencia. Para este ejemplo, he elegido Apple, Inc. (AAPL) como la serie de tiempo, con un breve lookback de 100 días y un largo lookback de 400 días. Este es el ejemplo proporcionado por la biblioteca de comercio algorítmico zipline. Por lo tanto, si queremos implementar nuestro propio backtester debemos asegurarnos de que coincide con los resultados en zipline, como un medio básico de validación. Implementación Asegúrese de seguir el tutorial anterior aquí. Que describe cómo se construye la jerarquía de objetos inicial para el backtester, de lo contrario el código siguiente no funcionará. Para esta implementación en particular he utilizado las siguientes bibliotecas: La implementación de macross. py requiere backtest. py del tutorial anterior. El primer paso es importar los módulos y objetos necesarios: Como en el tutorial anterior, vamos a subclase la clase base abstracta de la estrategia para producir MovingAverageCrossStrategy. Que contiene todos los detalles sobre cómo generar las señales cuando los promedios móviles de AAPL se cruzan entre sí. El objeto requiere una ventana corta y una ventana larga sobre la cual operar. Los valores se han fijado a valores predeterminados de 100 días y 400 días respectivamente, que son los mismos parámetros utilizados en el ejemplo principal de tirolesa. Los promedios móviles se crean mediante el uso de la función rollingmean de los pandas en las barrasCerrar el precio de cierre de la acción AAPL. Una vez que se han construido los promedios móviles individuales, la serie de señales se genera ajustando la colum igual a 1,0 cuando el promedio móvil corto es mayor que el promedio móvil largo, o 0,0 de lo contrario. A partir de esto, los pedidos de posiciones se pueden generar para representar señales comerciales. El MarketOnClosePortfolio está subclasificado de Portfolio. Que se encuentra en backtest. py. Es casi idéntica a la implementación descrita en el tutorial anterior, con la excepción de que las operaciones se llevan a cabo ahora en una base Close-to-Close, en lugar de una base Open-to-Open. Para obtener más información sobre cómo se define el objeto Portfolio, consulte el tutorial anterior. He dejado el código en la integridad y para mantener este tutorial autónomo: Ahora que las clases MovingAverageCrossStrategy y MarketOnClosePortfolio se han definido, una función principal se llamará para vincular todas las funciones. Además, el desempeño de la estrategia será examinado a través de un gráfico de la curva de equidad. El objeto de DataReader de pandas descarga los precios de OHLCV de las acciones de AAPL para el período del 1 de enero de 1990 al 1 de enero de 2002, momento en el que las señales DataFrame se crean para generar las señales de sólo larga duración. Posteriormente, la cartera se genera con una base de capital inicial de 100.000 USD y los rendimientos se calculan sobre la curva de patrimonio. El paso final es utilizar matplotlib para trazar un gráfico de dos cifras de los precios de AAPL, superpuestos con las medias móviles y las señales de compra / venta, así como la curva de equidad con las mismas señales de compra / venta. El código de trazado se toma (y se modifica) a partir del ejemplo de implementación de tirolesa. La salida gráfica del código es la siguiente. Hice uso del comando IPython paste para ponerlo directamente en la consola IPython mientras estaba en Ubuntu, de modo que la salida gráfica permaneció en la vista. Las barras de color rosa representan la compra de la acción, mientras que los downticks negros representan la venta de nuevo: Como se puede ver la estrategia pierde dinero durante el período, con cinco operaciones de ida y vuelta. Esto no es sorprendente teniendo en cuenta el comportamiento de AAPL en el período, que estaba en una ligera tendencia a la baja, seguido por un aumento significativo a partir de 1998. El período de retroceso de las señales de media móvil es bastante grande y esto afectó el beneficio del comercio final , Que de otro modo podría haber hecho rentable la estrategia. En los artículos siguientes crearemos un medio más sofisticado de analizar el rendimiento, así como describir cómo optimizar los períodos de retroceso de las señales individuales de media móvil.

No comments:

Post a Comment