Diseño y Construcción de un Sistema de Trading

0
150
Sistemas para seguimiento de tendencias

Hasta ahora, hemos discutido los componentes básicos de los sistemas de trading, los criterios que tienen que cumplir y algunas de las muchas decisiones empíricas que un diseñador de sistemas debe tomar (ver artículo: Principios y características de los sistemas de trading). En este artículo examinaremos el proceso de construcción de los sistemas de trading, las consideraciones que deben hacerse y algunos puntos clave a recordar.

Para comenzar a construir un sistema de trading se necesitan los siguientes elementos:

  • Datos: Debido a que el diseñador del sistema debe utilizar pruebas extensivas de backtesting, un historial completo de precios pasados es esencial para la construcción de un buen sistema de trading. Estos datos pueden estar integrados en el software de desarrollo de sistemas (como en el caso de Metatrader) o pueden funcionar como un feed de datos independiente. Dependiendo del mercado, los datos en vivo a menudo se proporcionan por una cuota mensual, mientras que los datos de precios pasados se pueden obtener de forma gratuita. En el caso del Forex, por ejemplo, los datos de precios en vivo se proporcionan de forma gratuita.
  • Software: Aunque es posible desarrollar un sistema de trading sin software, es muy poco práctico. Desde finales de los 90, el software se ha convertido en una parte integral de la construcción de sistemas de trading en muchos mercados y es una herramienta utilizada por cada vez más operadores. Por lo general, estos sistemas informáticos permiten lo siguiente:

-Codificar un sistema de trading: Esta función del software utiliza un lenguaje de programación propietario que le permite al diseñador crear reglas de modo sencillo. Por ejemplo, MetaTrader utiliza MQL (MetaQuotes Language). He aquí un ejemplo de este código que sirve para cerrar posiciones si el margen libre es menor a $1000:

If FreeMargin < 1000, then exit;

A menudo, solo leyendo el manual con cuidado y experimentando podrá el diseñador aprender los conceptos básicos del lenguaje que usa su software.

-Colocación automática de operaciones: Esto a menudo requiere permiso por parte del broker porque una conexión constante debe estar implementada entre el software del operador y el propio corredor para la ejecución de las operaciones. Las operaciones deben ser ejecutados inmediatamente y a los precios exactos para asegurar la conformidad. Para que el software realice las operaciones en lugar del operador, todo lo que este necesita hacer es introducir el número de cuenta y la contraseña, y a partir de ahí todo se hace automáticamente. Tenga en cuenta que el uso de esta función es estrictamente opcional.

-Pruebas de backtesting de la estrategia: El desarrollo de sistemas de trading sin el uso de backtesting es como jugar al béisbol sin un bate. El software para el desarrollo de sistemas a menudo contiene una simple aplicación de backtesting que le permite al usuario definir una fuente de datos, introducir la información de la cuenta, y efectuar una prueba completa de backtesting para cualquier intervalo de tiempo con solo hacer un clic con el mouse. La siguiente imagen muestra la herramienta de backtesting de Metatrader 4:

backtesting mt4

Aplicación de backtesting de Metatrader 4. Plataforma MT4 del broker Alpari

Después de ejecutar la prueba de backtesting, se genera un informe que describe los detalles de los resultados. Este informe normalmente incluye datos importantes como ganancias, número de operaciones ganadoras/perdedoras, días consecutivos con ganancias/pérdidas, número de operaciones en total, máximo drawdown (relativo y absoluto) y muchas otras estadísticas más que pueden ser útiles cuando se trata de determinar cómo arreglar o mejorar el sistema.

Por último, el software suele crear un gráfico que muestra el crecimiento de la inversión a lo largo del período de tiempo probado. Este gráfico puede incluir el comportamiento del balance y la equidad de la cuenta a lo largo del periodo. En la siguiente imagen se muestra un ejemplo de un reporte de backtesting generado por la plataforma Metatrader:

reporte backtestingt mt4

Reporte de backtesting de Metatrader 4

 

Los pasos básicos para construir un sistema son los siguientes:

Diseño del sistema de trading

El diseño es el concepto detrás de un sistema de trading, la forma en que los parámetros se utilizan para generar una ganancia o pérdida. Estas reglas y parámetros se implementan mediante su programación. A veces, esta programación se puede hacer automáticamente a través de una interfaz gráfica de usuario. Esto le permite al operador crear reglas sin aprender un lenguaje de programación. Aquí hay un ejemplo de un sistema de cruce de medias móviles que utiliza como filtro de señales el indicador ADX, que mide la fuerza de la tendencia y el tipo de tendencia que presenta el mercado:

  • Si la media móvil simple (SMA) de 20 periodos cruza arriba de la SMA de 50 periodos, se abre una posición de compra.
  • Si la media móvil simple (SMA) de 20 periodos cruza debajo de la SMA de 50 periodos, se abre una posición de venta.
  • Filtro: Solo se aceptan las señales de los cruces de medias móviles que coincidan con las señales del indicador ADX.

Las reglas como estas bien definidas pueden utilizarse para operar de forma manual tal como hacen muchos operadores, o pueden colocarse en un código informático que permite a un software generar entradas y salidas automáticamente en los puntos cuando las reglas son aplicables. La siguiente imagen muestra como se ve la interfaz de diseño en Metatrader:

interfaz programar sistemas mt4

Interfaz de Metatrader 4 para la programación de sistemas de trading, indicadores, sistemas automatizados y scripts basada en el lenguaje MQL

El sistema puede crearse simplemente escribiendo las reglas en la ventana y guardándolas. Las referencias para las diferentes funciones disponibles (por ejemplo, osciladores y similares) se pueden encontrar haciendo clic en el icono del libro. La mayoría de los programas de este tipo tienen un sistema de referencia similar disponible ya sea dentro del propio programa o en su sitio web. Después de crear las reglas deseadas y codificar el sistema, simplemente guardamos el archivo. A continuación, podemos ponerlo en uso seleccionándolo en la pantalla principal.

Toma de decisiones

Hay muchas decisiones que se deben tomar en este punto:

  1. ¿En qué mercado quiero operar, Forex, Futuros, acciones?
  2. ¿Qué período de tiempo debo usar?
  3. ¿Cuáles son las condiciones ideales para aplicar mi sistema?
  4. ¿Qué serie de precios debo usar?
  5. ¿Qué periodos de tiempo debo utilizar para las pruebas?

Tenga en cuenta que los sistemas de trading deben ser capaces de obtener ganancias de forma más o menos constante en mercados que usualmente varían mucho. Al personalizar el período de tiempo y la serie de precios demasiado, se pueden afectar los resultados y producir resultados poco realistas y poco aplicables.

Práctica y evaluación del sistema

El Backtesting y el paper trading son esenciales para el desarrollo exitoso de un sistema de trading. Además, dada la abundancia de brokers que ofrecen cuentas demo de práctica por tiempo ilimitado, no hay excusa en la actualidad para no probar un sistema de trading de forma extensa con dinero virtual en una cuenta demo antes de utilizarlo para operar con dinero real. Debemos recordar que un sistema que no ha sido debidamente evaluado puede conducir a fuertes pérdidas.

Al evaluar un sistema de trading mediante backtesting y paper trading debemos tener en mente los siguientes consejos:

  1. Ejecute varias pruebas de backtesting en diferentes períodos de tiempo y asegúrese de que los resultados son coherentes y satisfactorios.
  2. Pruebe su sistema en una cuenta demo de práctica (utilizando dinero virtual), y de nuevo, busque una rentabilidad consistente. Durante esta prueba es importante que registre todas las operaciones y los resultados para que sea capaz de detectar fallos del sistema y las condiciones en las cuáles produce los mejores y los peores resultados.
  3. En el caso de los sistemas automatizados de trading, compruebe cuidadosamente los errores en el programa, u operaciones no deseadas, las cuáles a veces pueden ocurrir. Estos errores pueden ser el resultado de una programación defectuosa o la imposibilidad de prever ciertas circunstancias que tienen repercusiones no deseadas.

Repita de ser necesario y trabaje en el sistema

La repetición es necesaria. Sigua trabajando en el sistema hasta que pueda obtener un beneficio en la mayoría de los mercados y condiciones. Siempre hay eventos imprevistos que ocurren tan pronto como un sistema comienza a ser utilizado. Estos son algunos factores que a menudo causan resultados sesgados:

  • Costos de transacción: Asegúrese de que está utilizando datos reales de comisiones y costos, y algunos otros adicionales para contabilizar aspectos como los spreads (diferencia entre los precios de compra y de venta) y las ejecuciones inexactas. En otras palabras, evite el deslizamiento. Si no incluimos los costos de transacción los resultados de evaluación de un sistema pueden ser engañosos.
  • Vigilancia: No ignore las operaciones perdedoras; vigile con cuidado todas las operaciones generadas por el sistema, tanto las positivas como las negativas.
  • Optimización: Procure no sobre-optimizar el sistema. En otras palabras, no cometa el error tan común de adaptar demasiado el sistema a un entorno de mercado muy específico. Trate de que el sistema sea rentable en un entorno tan amplio como sea posible.
  • Riesgo: Nunca ignore ni olvide el riesgo. Es muy importante tener formas de limitar las pérdidas (como por ejemplo los famosos stop-loss), y maneras de asegurar los beneficios (toma de ganancias).

Finalmente, utilice el sistema para operar en vivo

Si todo sale bien, el paso final es probar el sistema en vivo y operar con dinero real, que para eso fue creado, pero no se sorprenda si hay resultados no deseados. Es importante utilizar el sistema de trading de forma manual al inicio y no automatizarlo hasta que esté seguro del rendimiento y la consistencia del sistema.

Toma mucho tiempo desarrollar un sistema de trading exitoso, y antes de que lo perfeccione, puede que tenga que soportar algunas pérdidas con sus operaciones bajo condiciones reales para detectar fallas: el backtesting no puede representar perfectamente las condiciones del mercado en vivo y el paper trading, aún en cuentas demo, puede ser inexacto. Si su sistema pierde dinero, vuelva a la mesa de diseño y vea dónde falló (consulte el paso anterior).

Conclusión

Estos pasos básicos proporcionan una visión general de todo el proceso de construcción de un sistema de trading. En la siguiente sección, vamos a aprovechar este conocimiento y realizar una mirada más profunda al importante tema de la solución de problemas y las modificaciones.


 

Raul Canessa

Leave a reply