19 abril 2021 20:03

Codificación de su propio robot de comercio de algoritmos

Tabla de contenido

Expandir

  • ¿Qué es un robot comercial?
  • Estrategias de negociación algorítmica
  • Backtesting y optimización
  • Ejecución en vivo
  • La línea de fondo

Muchos traders aspiran a convertirse en traders algorítmicos, pero tienen dificultades para codificar correctamente sus robots comerciales. Estos comerciantes a menudo encontrarán información de codificación algorítmica desorganizada y engañosa en línea, así como falsas promesas de prosperidad de la noche a la mañana. Sin embargo, una fuente potencial de información confiable es de Lucas Liew, creador del curso de comercio algorítmico en línea AlgoTrading101. En agosto de 2020, el curso ha reunido a más de 33.000 estudiantes desde su lanzamiento en octubre de 2014.

El programa de Liew se centra en presentar los fundamentos del comercio algorítmico de forma organizada. Él es inflexible sobre el hecho de que el comercio algorítmico «no es un esquema para enriquecerse rápidamente». A continuación se describen los conceptos básicos de lo que se necesita para diseñar, construir y mantener su propio robot de comercio  algorítmico (extraído de Liew y su curso).

¿Qué es un robot comercial?

En el nivel más básico, un robot de comercio algorítmico es un código de computadora que tiene la capacidad de generar y ejecutar señales de compra y venta en los mercados financieros. Los componentes principales de dicho robot incluyen reglas de entrada que indican cuándo comprar o vender, reglas de salida que indican cuándo cerrar la posición actual y reglas de tamaño de la posición que definen las cantidades a comprar o vender.

Conclusiones clave

  • Muchos aspirantes a comerciantes de algoritmos tienen dificultades para encontrar la educación o la orientación adecuadas para codificar correctamente sus robots comerciales.
  • AlgoTrading101 es una fuente potencial de instrucción confiable y ha obtenido más de 33,000 entre su lanzamiento en 2014 y agosto de 2020.
  • Un algoritmo de negociación o robot es un código informático que identifica oportunidades de compra y venta, con la capacidad de ejecutar las órdenes de entrada y salida.
  • Para ser rentable, el robot debe identificar eficiencias de mercado regulares y persistentes.
  • Si bien abundan los ejemplos de esquemas de enriquecimiento rápido, los aspirantes a comerciantes de algoritmos están mejor servidos si tienen expectativas modestas.

Obviamente, necesitará una computadora y una conexión a Internet para convertirse en un operador algorítmico. Después de eso, se necesita un sistema operativo Microsoft Windows o Mac para ejecutar MetaTrader 4 (MT4), que es una plataforma de comercio electrónico que utiliza MetaQuotes Language 4 (MQL4) para codificar estrategias comerciales. Aunque MT4 no es el único software que se puede usar para construir un robot, tiene una serie de beneficios importantes.

Una ventaja es que, si bien la principal clase de activos de MT4 es el cambio de divisas (FX), la plataforma también se puede utilizar para negociar acciones, índices de acciones, materias primas y Bitcoin mediante contratos por diferencias ( CFD ). Otros beneficios de usar MT4 (a diferencia de otras plataformas) es que es fácil de aprender, tiene numerosas fuentes de datos FX disponibles y es gratis.

Estrategias de negociación algorítmica

Uno de los primeros pasos en el desarrollo de una estrategia de algoritmo es reflexionar sobre algunos de los rasgos centrales que debe tener toda estrategia de negociación algorítmica. La estrategia debe ser prudente en cuanto al mercado, ya que es fundamentalmente sólida desde un punto de vista económico y de mercado. Además, el modelo matemático utilizado en el desarrollo de la estrategia debe basarse en métodos estadísticos sólidos.

A continuación, determine qué información pretende capturar su robot. Para tener una estrategia automatizada, su robot debe poder capturar ineficiencias identificables y persistentes del mercado. Las estrategias de negociación algorítmica siguen un conjunto rígido de reglas que aprovechan el comportamiento del mercado, y la aparición de una ineficiencia del mercado única no es suficiente para construir una estrategia. Además, si la causa de la ineficiencia del mercado no es identificable, no habrá forma de saber si el éxito o el fracaso de la estrategia se debió al azar o no.

Con lo anterior en mente, existen varios tipos de estrategias para informar el diseño de su robot de comercio algorítmico. Estas incluyen estrategias que aprovechan lo siguiente (o cualquier combinación de los mismos):

  • Noticias macroeconómicas (p. Ej., Nóminas no agrícolas o cambios en las tasas de interés)
  • Análisis fundamental (p. Ej., Utilizando datos de ingresos o notas de publicación de ganancias)
  • Análisis estadístico (p. Ej., Correlación o cointegración)
  • Análisis técnico (por ejemplo, promedios móviles)
  • La microestructura del mercado (por ejemplo, arbitraje o infraestructura comercial)

La investigación preliminar se centra en desarrollar una estrategia que se adapte a sus propias características personales. Es importante pensar en factores como el perfil de riesgo personal, el compromiso de tiempo y el capital comercial al desarrollar una estrategia. A continuación, puede comenzar a identificar las ineficiencias persistentes del mercado mencionadas anteriormente. Una vez identificada una ineficiencia del mercado, puede comenzar a codificar un robot comercial que se adapte a sus propias características personales.

Backtesting y optimización

El backtesting se enfoca en validar su robot comercial, lo que incluye verificar el código para asegurarse de que está haciendo lo que usted desea y comprender cómo se desempeña la estrategia en diferentes marcos de tiempo, clases de activos o diferentes condiciones de mercado, especialmente en  eventos del tipo cisne negro como el Crisis financiera 2007-2008.

Ahora que ha codificado un robot que funciona, maximice su rendimiento y minimice el  sesgo de sobreajuste. Para maximizar el rendimiento, primero debe seleccionar una buena medida de rendimiento que capture los elementos de riesgo y recompensa, así como la coherencia (p. Ej., Índice de Sharpe ). Mientras tanto, se produce un sesgo de sobreajuste cuando su robot se basa demasiado en datos anteriores; un robot así emitirá la ilusión de alto rendimiento, pero dado que el futuro nunca se parece completamente al pasado, en realidad puede fallar.

Ejecución en vivo

Ahora está listo para comenzar a usar dinero real. Sin embargo, además de estar preparado para los altibajos emocionales que pueda experimentar, hay algunos problemas técnicos que deben abordarse. Estos problemas incluyen la selección de un agente adecuado y la implementación de mecanismos para gestionar tanto los riesgos de mercado y riesgos operacionales, tales como los hackers potenciales y el tiempo de inactividad de la tecnología.

Conclusiones clave

Antes de comenzar a funcionar, los operadores pueden aprender mucho a través del comercio simulado, que es el proceso de practicar una estrategia utilizando datos de mercado en vivo, pero no dinero real.

También es importante en este paso verificar que el rendimiento del robot sea similar al experimentado en la etapa de prueba. Finalmente, se necesita monitoreo para garantizar que la eficiencia del mercado para la que se diseñó el robot aún exista.

La línea de fondo

Teniendo en cuenta que Richard Dennis, ellegendario comerciante de productos básicos, enseñó a un grupo de estudiantes sus estrategias comerciales personales que luego ganaron más de $ 175 millones en solo cinco años, es plausible que a los comerciantes sin experiencia se les enseñe un estricto conjunto de pautas y tenganéxito.. Sin embargo, si bien existen ejemplos extraordinarios, los aspirantes a comerciantes definitivamente deben recordar tener expectativas modestas.

Liew enfatiza que la parte más importante del comercio algorítmico es «comprender en qué tipos de condiciones de mercado funcionará su robot y cuándo se descompondrá» y «comprender cuándo intervenir». El comercio algorítmico puede resultar gratificante, pero la clave del éxito es la comprensión; Cualquier curso o maestro que prometa grandes recompensas sin la suficiente comprensión debe ser una señal de advertencia importante para mantenerse alejado.