Saturday, November 19, 2016

Estrategias De Negociación Automatizadas Con C # Y Ninjatrader 7 - Parte 3 - Backtesting De La Estrategia

Bienvenido a la parte 3 en esta breve introducción al desarrollo de la estrategia de trading automatizado usando C # y NinjaTrader! En la parte 1. discutimos los fundamentos de comercio automatizado, cómo instalar NainjaTrader y la generación automática de una clase de estrategia. En la parte 2. nos adentramos en el código de estrategia mediante la implementación de una estrategia de Golden Cross básica en código C #, y ahora, vamos a demostrar cómo backtest esa estrategia utilizando datos de existencias históricas para ver cómo se habría realizado. Antes de empezar, me gustaría señalar que la parte muy importante de backtesting, pruebas directas, o la ejecución del comercio en vivo es obtener buenos datos de instrumentos para utilizar en sus estrategias. Con la versión gratuita de NinjaTrader, Kinetick proporciona un feed de datos gratuito con datos de fin de día - lo que significa que podemos backtest barras diarias de forma gratuita. Puede confirmar que está conectado al feed de Kinetic al final del día en el menú de NinjaTrader que se muestra a continuación: Una vez que hayamos confirmado que estamos conectados a nuestro proveedor de datos, vamos a iniciar una nueva sesión de pruebas de estrategia seleccionando el elemento de menú Archivo = & gt; Nuevo = & gt; Esto abrirá una nueva ventana del analizador de estrategias que funcionará como una caja de arena para nuestro backtesting. En esta ventana abierta, verá una vista de árbol en el panel izquierdo con algunas entradas predeterminadas. Para nuestro primer esfuerzo de backtesting, intentemos probar nuestra estrategia de Crossover con los datos de Apple durante los últimos 2 años. Como usted puede saber, Apple se negocia en el Nasdaq bajo el símbolo AAPL. Expanda el nodo NASDAQ 100, seleccione AAPL, haga clic con el botón derecho y seleccione "Backtest" como se muestra a continuación: Si te sientes particularmente aventurero, incluso podrías probar la estrategia contra toda la lista de NASDAQ 100 - aunque los resultados se vuelven un poco más difíciles de interpretar. Cuando seleccione esto, aparecerá una ventana acoplable desde el lado derecho de la pantalla. Pin este a la pantalla con el icono Pin en la parte superior derecha, y establecer los parámetros como se muestra a continuación: Éstos son algunos de los puntos destacados de los parámetros que estamos estableciendo aquí: MyInput0: Esta es la propiedad pública que mencionamos en la Parte 1 de esta serie. Aunque este valor no afectará nuestra estrategia en absoluto, esto debería ilustrar cómo es posible poner las variables a disposición del backtest para que pueda probar múltiples valores. Serie de datos: Aquí es donde creamos nuestro tamaño de barra - y como estamos usando datos de fin de día gratis, lo pondremos en Día, 1. Marco de tiempo: Especifica la duración de la prueba de backtesting. Voy a volver a principios de 2011 Salir al cerrar: Asegúrese de establecer esto en "Falso", de lo contrario las órdenes que entramos en no se celebrará durante una noche. Incluya la comisión: En nuestro ejemplo, no estamos incluyendo la comisión que se cargaría para realizar los oficios. Este es un tema un poco más avanzado que será tratado en un futuro artículo. Después de que se hayan establecido estos valores, continúe y haga clic en "Run Backtest" para iniciar las cosas. Después de un breve periodo de tiempo, debería ver los resultados en la pestaña Resumen del panel central. Como puede ver, nuestra estrategia fue globalmente rentable durante este período de tiempo (ver "Total Net Profit"), ejecutando 10 operaciones, 5 de las cuales fueron rentables! Tome este éxito con un grano de sal, sin embargo, ya que hay muchos factores que deben tenerse en cuenta al evaluar si una estrategia será exitosa cuando se ejecuta en contra de los datos en vivo (retrospectiva es de 20/20, ¿verdad?). Para obtener más información sobre los datos que se muestran en esta cuadrícula, consulte esta página NinjaTrader para obtener documentación. Al hacer clic en la pestaña Gráfico, podemos ver una representación visual de cómo las operaciones de la estrategia se realizaron en el tiempo: Y al hacer clic en "Trades" podemos ver los detalles de cada operación que se ejecutó: Usando estas herramientas, podemos evaluar muy bien qué tan bien nuestra estrategia habría hecho si hubiera sido ejecutado durante un período de tiempo pasado - increíblemente poderoso! Ahora, digamos que usted quiere hacer un tweak a su estrategia y ver los resultados - puede ser hecho por: Saltar de nuevo en el Editor de NinjaScript Haga el cambio deseado Re-compile con un F5 Vuelve al Analizador de Estrategias Haga clic con el botón derecho del ratón en & gt; Backtest Esperemos que esta serie provee un salto rápido para aquellos desarrolladores de C # que están interesados ​​en Automated Trading, pero han asumido que el obstáculo es demasiado alto - ¡es muy fácil y GRATIS empezar! Todavía hay mucho más que cubrir, incluyendo la depuración de Visual Studio y la optimización de la estrategia - espero que voy a añadir estos temas en futuros puestos!


No comments:

Post a Comment