Cómo construir un algoritmo para operar

Respuestas

08/12/2020
Rahman Sanderfur

A continuación se muestra la guía paso a paso para crear su sistema comercial desde cero en el software Amibroker.

Paso 1: Formule su plan de negociación

El primer paso sería hacer una lista de verificación de los parámetros en función de los cuales toma sus decisiones comerciales. Estos parámetros deben ser algo que pueda formularse en un Algoritmo, evitando estrictamente los elementos de sensación o especulación de Gut. Puede ser tan simple como decisiones basadas en el tiempo, como comprar una acción en particular el primer día de cada mes, o decisiones basadas en análisis técnicos como la ruptura de Trendline con un volumen creciente. También debe planificar el monto de su inversión para cada transacción, el marco de tiempo para el comercio, así como su stoploss y objetivos. Una vez que haya formulado su plan, debe validarlo contra un grupo de acciones para ver si realmente funciona. Este paso es muy importante antes de saltar a los próximos pasos. Si su plan funciona el 50% del tiempo, con un Relación riesgo-recompensa de al menos 1: 2, entonces eres bueno para convertirlo en un Algoritmo.

Paso 2: convierte tu idea en un algoritmo

Luego, debe comenzar a escribir un código para su plan comercial formulado. Un código no es más que un conjunto de declaraciones a través de las cuales la computadora puede entender su lógica de Compra / Venta. Usaríamos Amibroker Formula Language (AFL) para escribir el Algoritmo de Trading. Es un lenguaje de programación de alto nivel y muy fácil de entender si comienzas desde lo básico. Incluso una persona sin experiencia en programación puede aprender AFL y evitar gastar innecesariamente en costosos AFL prefabricados. Cheque esta publicar para el tutorial de AFL desde cero. Supongamos que comercia en base a un cruce exponencial de promedio móvil en el marco de tiempo diario. Compraría una acción cuando 50 EMA cruzara 200 EMA desde abajo, y vendiera cuando 50 EMA cruzara 200 EMA desde arriba.

Así es como se ve cuando se aplica en el gráfico:

Paso 3: prueba tu algoritmo

Backtesting es un proceso para validar el rendimiento de su algoritmo en datos históricos. Esto es algo similar a lo que hizo en el Paso 1 manualmente. Amibroker tiene un motor de backtest muy poderoso que puede hacer esto en segundos. Solo necesita importar datos históricos de sus scripts favoritos en Amibroker. Mira esto enlace. descargar datos de 1 minuto de Intraday para Nifty y Banknifty. Para comprender el proceso detallado de backtesting en Amibroker, consulte el siguiente enlace de la documentación oficial:

Poner a prueba sus ideas comerciales en Amibroker

Para realizar una prueba de respaldo de esta estrategia de EMA Crossover, utilizaremos NSE Nifty como nuestro scrip preferido, con un capital inicial de 200000 rupias. Digamos que compramos 2 lotes (150 nos) por transacción. Una vez que pruebe esta estrategia, obtendrá un informe detallado que incluye su CAGR anual, reducción,% de pérdida / ganancia neta, etc. Puede comprender varios parámetros en Informe de prueba de Amibroker aquí.

Paso 4: optimiza tus parámetros de algoritmo

La optimización es el proceso de encontrar iterativamente los mejores parámetros para su sistema de comercio. Por ejemplo: en nuestro ejemplo, hemos utilizado 50 y 200 como períodos EMA, ahora intentaríamos optimizar estos parámetros para ver si existe alguna otra combinación de promedio móvil que pueda dar mejores resultados con la menor reducción. No necesita ingresar estos parámetros manualmente y registrar los resultados de la prueba de respaldo. El motor de optimización de Amibroker simplificaría esta tarea para usted. Recorrerá el rango de parámetros que especifique y evaluará el rendimiento de su sistema para cada conjunto de parámetros. Para comprender el proceso de optimización en detalle, consulte el siguiente enlace de la documentación oficial:

Guía de optimización de Amibroker

Paso 5: gestión de riesgos

No es suficiente construir un sistema de comercio exitoso que dé resultados decentes. Definitivamente necesita incorporar una gestión de riesgos que lo ayude a superar riesgos de mercado impredecibles. Consulte nuestra publicación de blog que describe las estrategias detalladas de gestión de riesgos para los comerciantes:

Estrategias de gestión de riesgos para comerciantes

Es posible que haya notado que el sistema algorítmico simple que hemos desarrollado no tiene ningún componente Stop loss. Todas las posiciones largas se cuadran en función de la señal de Venta. Intentemos agregar Stop Loss en este sistema. Agregue la siguiente línea en su código:

  1. Detener la pérdida de=2;
  2. ApplyStop(Tipo=0,Modo=1,Cantidad=Stoploss);

ApplyStop es una función que le indica a Amibroker que salga de la operación cuando se cumple una condición Stoploss o Target predefinida. A continuación se muestra la firma de esta función.

ApplyStop ( tipo, modo, cantidad)

tipo =
0 = stopTypeLoss - parada de pérdida máxima,
1 = stopTypeProfit - stop objetivo de beneficio,
2 = stopTypeTrailing - parada final,
3 = stopTypeNBar - Parada de barra N

modo =
0 - deshabilitar stop (stopModeDisable),
1 - cantidad en porcentaje (stopModePercent), o número de barras para N-bar stop (stopModeBars),
2 - cantidad en puntos (stopModePoint);
3 - monto en porcentaje del beneficio (riesgo)

cantidad =
porcentaje / pérdida de puntos / desencadenante de ganancias / monto de riesgo.
Esto podría ser un número (nivel de parada estático) o una matriz (nivel de parada dinámico)

Paso 6: Análisis de Monte Carlo

La simulación de Monte Carlo es uno de los pasos más importantes en el desarrollo y optimización del sistema de Trading. Un proceso que realiza la ejecución repetida de un conjunto predefinido de pasos agregando aleatoriedad a los parámetros de entrada en cada iteración. Los resultados se anotan al final de cada iteración que forma la base del análisis probabilístico del resultado deseado. En términos comerciales, la simulación de Monte Carlo se realiza para pronosticar el éxito de un sistema de comercio probado. Con el fin de garantizar que su sistema de negociación sea robusto, se deben realizar backtesting varias veces agregando variaciones a sus reglas o datos de negociación. Si da resultados consistentes cada vez, entonces tiene una mayor probabilidad de generar ganancias. La siguiente publicación explica el proceso detallado de realizar el análisis de Monte Carlo en Amibroker:

Análisis de Monte Carlo en Amibroker

Vea la instantánea del informe de análisis de Monte Carlo para nuestro sistema de comercio de ejemplo:

Es un hecho bien conocido que 'Los mercados son aleatorios', por lo que la simulación de Monte Carlo es un método para absorber esta aleatoriedad en su sistema de Trading. Si su sistema funciona bien en condiciones de mercado aleatorias, entonces tiene una gran probabilidad de éxito. Al final, todo se reduce a la probabilidad y esa es realmente la base de todos los sistemas de Trading rentables. Realmente no es suficiente creer en el sistema de Trading solo basado en informes rentables de backtest. El análisis de Monte Carlo pesa igualmente mientras se diseña un sistema.

Paso 7: automatice su sistema de comercio

Recomendamos estrictamente que debe operar manualmente durante al menos 6 meses antes de ir a un comercio totalmente automatizado. Una vez que tenga plena convicción sobre el rendimiento de su sistema de comercio, debe comenzar a explorar la automatización. El comercio automático o semiautomático no deja que las emociones afecten sus decisiones comerciales, coloca directamente el pedido en la terminal cuando su estrategia da señales. Hay muchos complementos y softwares listos para usar disponibles en el mercado que pueden interpretar las órdenes de compra / venta de Amibroker y colocarlas en su terminal de Trading. Consulte la publicación a continuación para obtener una lista de dichos softwares:

Software y Complementos de Auto Trading

Para automatizar completamente su estrategia, necesitará una terminal de distribuidor. Los intercambios no permiten una plataforma completamente automatizada en una terminal minorista . Para para obtener un terminal de distribuidor para segmentos NSE / BSE, deberá convertirse en una persona autorizada con su corredor y también aprobar el examen NISM-Series-VIII - Examen de certificación de derivados de capital. Mientras que no existe tal procedimiento para MCX. Se registrará un costo único para registrarse como persona autorizada (es necesario consultar con su corredor) y un alquiler para la terminal del concesionario de 250 rupias / segmento / intercambio.

Paso 8: observar el rendimiento

Entonces ha desarrollado su sistema, convencido de su rendimiento y / o automatizado. Lamentablemente, la historia no termina aquí. Los mercados siempre están cambiando, y tu estrategia también. Debe observar el rendimiento de su sistema regularmente y anotar todo lo que no sucede como se esperaba. Siempre recuerde que nunca podrá diseñar un sistema de santo grial que funcione en todas las condiciones del mercado.

Edit: Soy coautor de un curso de desarrollo del sistema comercial que está disponible para inscribirse en Academia de matrículas comerciales. Este curso está destinado a enseñarle todos los aspectos del desarrollo de sistemas algorítmicos. No se preocupe, incluso si no tiene experiencia previa en programación, lo tenemos todo cubierto. Años de experiencia e investigación se han reunido en un solo curso para que no tenga que gastar un solo centavo en otro lugar. Compruébalo y comparte tus comentarios.

Rieth Gluz
Si vendió y obtuvo ganancias de 50 dólares, debe reclamarlo en sus impuestos. Debería completar el programa D con la información adecuada, que incluye si se trata de una ganancia o pérdida de capital a corto o largo plazo.Si mantuvo las acciones durante más de un año, tiene una ganancia a largo plazo, menos de un año (12 meses) tiene una ganancia a corto plazo.Si genera pérdidas, esas ganancias co...

Escriba su respuesta