Para la mayoría de los traders, el desarrollo de la estrategia algorítmica es simplemente un medio para un fin, un mal necesario que se debe soportar en el camino hacia la obtención de ganancias. Así como gastar oro es más agradable que buscarlo, lo mismo ocurre con el desarrollo del sistema de trading; el trading real suele ser más divertido que desarrollar un enfoque para hacer trading.
Desafortunadamente, esto lleva a los traders a tomar todo tipo de atajos y cometer todo tipo de errores a medida que desarrollan su metodología de trading. Si bien esto hace que la vida del trader sea más fácil a corto plazo, los errores y los atajos inevitablemente vuelven a aparecer en el trading en tiempo real. Y el resultado final no suele ser bueno.
La buena noticia es que la mayoría de los trader cometen los mismos errores en el desarrollo y, una vez identificados, pueden superarse y corregirse. Lamentablemente, eliminar estos problemas no hará que el desarrollo de la estrategia sea más fácil. El desarrollo de la estrategia, realizado de la manera correcta, se vuelve mucho más difícil cuando se eliminan los atajos.
Entonces, ¿cuáles son algunos de los errores y atajos más comunes? Aquí hay tres de los más populares, con explicaciones de por qué son dañinos, cómo se pueden reconocer y cómo se pueden corregir. Evitar estos errores comunes hará que cualquier trader sea un mejor creador de sistemas comerciales.
Error n.º 1: hacer que su estrategia algorítmica sea demasiado compleja
Si ha estado involucrado en el trading durante algún tiempo, sin duda se ha topado con enfoques complicados. Para un trader discrecional, esto podría verse como el gráfico que se muestra en la Figura 1 a continuación. Muchos indicadores, muchas líneas y muchas áreas de soporte y resistencia adornan todos y cada uno de los gráficos. Para un trader algorítmico, un enfoque complicado podría ser miles de líneas de código, con docenas o incluso cientos de variables para optimizar y modificar.
Ambos enfoques tienen una cosa en común: son extremadamente complicados. Muchos traders sin experiencia piensan que esta es la forma de desarrollar un sistema. Su pensamiento es que cuantos más indicadores se alineen y mejor se ajuste su algoritmo a los datos anteriores, mejor será la estrategia. Nada mas lejos de la verdad.
La falacia de pensar que un enfoque complicado es mejor es que un resultado superior con datos históricos no equivale al éxito en tiempo real. De hecho, jugar constantemente con un enfoque, agregar un indicador o insertar otra regla en el algoritmo para hacer que un enfoque comercial sea más complicado, generalmente solo le da al trader una falsa sensación de confianza. Mejorar y agregar reglas a una estrategia no significa que vaya a funcionar mejor en el futuro.
A pesar de que es difícil de creer para la mayoría, los enfoques simples suelen ser los mejores. Para un trader discrecional, un gráfico limpio con solo uno o dos indicadores, junto con una comprensión profunda de la acción del precio y la dinámica del mercado, siempre es mejor que un gráfico nublado con líneas e indicadores. Para los traders algorítmicos, una regla de entrada simple suele ser mejor que cinco o diez condiciones que deben cumplirse para realizar una operación.
Un ejemplo simple de esto se muestra en la Figura 2. Si bien está lejos de ser un sistema perfecto, la estrategia es muy simple. Es poco probable que dicha estrategia se adapte demasiado a los datos históricos y, por lo tanto, es más probable que funcione en el futuro.
Error n.º 2: suponer que tendremos operaciones sin deslizamiento (sin costo)
Eche un vistazo a la mayoría de los sistemas de trading que se venden a terceros y, por lo general, notará un pequeño descargo de responsabilidad en la parte inferior: las comisiones y el deslizamiento no están incluidos. Del mismo modo, muchos desarrolladores de hágalo usted mismo también ignoran las comisiones y los retrasos durante el desarrollo. Si incluyen estos costos, por lo general subestiman la cantidad.
Escuchará varias razones para no incluir comisiones y deslizamientos. «Diferentes brokers cobran diferentes comisiones» es una excusa común. «Mi sistema usa solo órdenes limitadas» es otra. Sin embargo, la verdadera razón es hacer que un sistema parezca mejor de lo que realmente es. Los sistemas rentables se vuelven mucho más difíciles de descubrir cuando se agregan los costos de hacer trading del mundo real.
Por ejemplo, tome un sistema de reventa simple para los futuros mini S&P. Sin comisiones ni deslizamientos, un sistema de este tipo podría realizar 20 transacciones por día y una ganancia promedio de $15 por transacción. El trader puede ver el resultado final, $300 por día, y pensar que es un buen día. Pero agregue comisiones de ida y vuelta de $ 5 y un deslizamiento de ida y vuelta de 1 tick (lo que probablemente sea optimista), y los $ 300 por día en realidad se convierten en -$ 50 por día.
Un impacto oculto de evaluar una estrategia sin comisiones y costos de deslizamiento es que lleva al trader a realizar más operaciones de las necesarias. Aquí hay un ejemplo. Supongamos que el Sistema A es el sistema de reventa mencionado anteriormente. Gana $ 300 por día antes de comisiones y deslizamiento. Compare eso con el Sistema B. Solo opera 1 vez al día y tiene un promedio de $50 por operación antes de los costos de negociación. Cualquiera que evalúe ambos sistemas uno al lado del otro, seguramente elegiría el Sistema A sobre el Sistema B. Sin embargo, cuando se agregan las comisiones y el deslizamiento, ocurre exactamente lo contrario; El sistema B es el único enfoque que vale la pena. Opera menos, y las comisiones y el deslizamiento son un porcentaje mucho menor de las ganancias brutas.
Es crítico, entonces, incluir montos adecuados para comisiones y deslizamientos al inicio del desarrollo. $ 5 por turno redondo para comisiones, y 1-2 ticks por turno redondo para deslizamiento, es un lugar razonable para comenzar.
Error n.º 3: utilizar todos los datos históricos
Un tercer error que cometen muchos operadores durante el desarrollo es utilizar todos los datos históricos disponibles para sus pruebas. La mayoría de los traders sin experiencia ejecutarán optimizaciones y análisis hasta el día de hoy. La idea suele ser que el trader quiere estar seguro de que la estrategia está «sintonizada» con los datos más recientes.
Por supuesto, si la primera prueba es un fracaso, el trader volverá, agregará una regla o un filtro (por lo tanto, cada vez más cerca de cometer el error de complicación discutido anteriormente) y volverá a ejecutar todos los datos. Eventualmente, el trader encuentra algo que funciona y luego comienza a operar en vivo. Este enfoque, sin embargo, es casi siempre una receta para un desastre en tiempo real.
Un camino mejor y mucho más difícil es utilizar una prueba fuera de la muestra para verificar un sistema. Por ejemplo, el trader podría desarrollar una estrategia sobre los últimos 10 años de datos, pero dejando el año de datos más reciente intacto y sin probar. Una vez que se completa el desarrollo, la estrategia se ejecuta en los datos no vistos (fuera de la muestra). Si el sistema funciona aceptablemente, entonces se puede considerar para operar en vivo.
Si se lleva un paso más allá, se pueden utilizar las pruebas de avance, que combinan varios períodos fuera de la muestra. Es mucho más probable que este enfoque conduzca al éxito del dinero real, ya que cualquier curva de capital resultante se compone completamente de resultados fuera de la muestra.
El escollo de las pruebas walkforward o fuera de la muestra es que una vez que la prueba se ejecuta una vez, cualquier otra prueba no será realmente «fuera de la muestra». Por lo tanto, es fácil convertir inadvertidamente una prueba fuera de la muestra en una prueba dentro de la muestra, si la realiza varias veces. Pero realizar pruebas fuera de la muestra es mucho mejor que optimizar todos los datos.
Conclusión
Crear una estrategia de trading viable es extremadamente difícil, como lo describo en mis libros.. De hecho, muchos traders ni siquiera son capaces de lograr esto, y muchas veces toman atajos o cometen errores de simplificación mientras desarrollan un sistema. Ciertamente, agregar regla tras regla, filtro tras filtro y condición y condición es más fácil que encontrar una regla simple que funcione razonablemente bien. Del mismo modo, descubrir estrategias viables es bastante fácil, si no tiene en cuenta la fricción de las comisiones y el deslizamiento. Finalmente, ejecutar una optimización en todos los datos disponibles también es mucho más simple y aparentemente mucho más fructífero que ejecutar laboriosas pruebas de avance o fuera de muestra.
La lección simple de estos errores de desarrollo es esta: si el enfoque facilita la búsqueda de sistemas, o siempre crea mejores backtesting, es una señal de advertencia de que algo puede estar mal. El desarrollo adecuado del sistema es difícil. Sin embargo, a la larga, desarrollar de la manera correcta siempre es preferible a perder dinero en el mercado debido a un error de desarrollo.