Los errores que destruyen cuentas en trading algorítmico
Automatizar una estrategia elimina muchas decisiones emocionales. Pero también puede automatizar errores de diseño, riesgo y estadística que estaban presentes desde el principio.
Existe una idea bastante extendida: si automatizamos una estrategia, eliminamos el principal problema del trader.
Las emociones.
Pero esto solo es una parte de la historia.
Puedes tener un Expert Advisor funcionando las 24 horas, una curva histórica aparentemente impecable y un porcentaje de acierto espectacular.
Y aun así estar sentado sobre una bomba.
Porque muchas cuentas algorítmicas no se destruyen por un error de código.
Se destruyen por una mala comprensión de: riesgo, probabilidad, apalancamiento, drawdown y robustez.
Martingala disfrazada de recuperación
Probablemente sea uno de los sistemas más peligrosos porque durante mucho tiempo puede parecer extraordinariamente bueno.
El mecanismo suele presentarse de distintas formas:
Aumentar el lotaje después de una pérdida.
Añadir nuevas posiciones cuando el precio se mueve en nuestra contra.
Promediar entradas esperando que una pequeña reversión permita recuperar todas las pérdidas anteriores.
Durante cientos de operaciones, el resultado puede ser espectacular.
La mayoría de ciclos terminan recuperándose, el porcentaje de acierto aumenta y la curva prácticamente no muestra retrocesos.
El riesgo no desaparece. Se acumula.
Cada nueva posición utilizada para recuperar una pérdida incrementa la exposición. Si llega una secuencia suficientemente larga, el tamaño necesario para seguir recuperando crece de forma explosiva.
Por eso el verdadero riesgo de una martingala no se encuentra en la operación media.
Está en la cola de la distribución.
En esa secuencia extremadamente rara que quizá todavía no apareció en el backtest.
Sobreapalancamiento sistemático
El segundo error suele aparecer justo después de conseguir un buen backtest.
El trader observa una curva estable, un drawdown históricamente controlado y piensa:
Pero el problema es que el mercado real no reproduce exactamente el backtest.
Entorno controlado
Datos históricos, reglas conocidas, costes definidos y comportamiento ya observado.
Entorno incierto
Slippage, spreads variables, latencia, cambios de volatilidad y situaciones que nunca aparecieron en nuestra muestra.
Cuando trabajamos con demasiado apalancamiento, una pequeña desviación entre el comportamiento histórico y el comportamiento real puede multiplicarse.
Una pequeña diferencia estadística puede convertirse en una gran pérdida.
Si nuestro tamaño de posición está diseñado alrededor del mejor escenario histórico, dejamos muy poco margen para absorber situaciones peores de las observadas.
No entender el drawdown estadístico
Este error es diferente.
Aquí el sistema incluso puede tener ventaja.
El problema es que el trader no comprende cómo se distribuyen sus resultados.
Todo sistema rentable puede atravesar drawdowns.
Tener expectativa matemática positiva no significa ganar todos los días, todas las semanas ni todos los meses.
Una estrategia puede seguir funcionando correctamente mientras atraviesa una secuencia de pérdidas perfectamente compatible con su distribución histórica.
Y aquí aparece uno de los comportamientos más destructivos.
Cuando el bot entra en drawdown, el trader:
Apaga el sistema.
Cambia los parámetros.
Añade nuevos filtros para eliminar las pérdidas recientes.
Es decir:
modifica la estrategia precisamente porque acaba de observar un periodo estadísticamente incómodo.
Antes de operar un sistema deberíamos conocer, como mínimo:
Su máximo drawdown histórico.
La duración histórica de sus periodos bajo agua.
Sus rachas de pérdidas consecutivas.
Qué ocurre cuando alteramos el orden de las operaciones mediante simulaciones Monte Carlo.
Sobreoptimización constante
Este probablemente sea uno de los problemas más frecuentes del trading algorítmico.
Creamos una estrategia.
Vemos que tiene algunos periodos malos.
Y empezamos a tocar parámetros.
Después añadimos un filtro.
Luego otro.
Y después modificamos la salida.
Hasta que conseguimos algo que visualmente parece perfecto.
No estás optimizando una estrategia. Puedes estar optimizando el pasado.
Cada regla adicional aumenta nuestros grados de libertad. Cuantas más decisiones tomemos después de observar el histórico, mayor es la posibilidad de encontrar por casualidad una combinación que explique perfectamente esos datos.
Y ese es precisamente el problema.
El futuro no tiene ninguna obligación de parecerse exactamente al periodo que utilizamos para diseñar el sistema.
Entonces, ¿qué deberíamos buscar?
El objetivo del trading algorítmico no debería ser construir el bot más bonito.
Debería ser construir un sistema capaz de sobrevivir cuando el futuro sea diferente del pasado.
Riesgo controlado.
Ninguna operación ni secuencia debería tener capacidad
para destruir toda la cuenta.
Apalancamiento razonable.
Debemos dejar margen para escenarios peores
que los registrados históricamente.
Drawdowns asumibles.
Tenemos que entender qué comportamiento negativo
forma parte natural de nuestra distribución.
Robustez.
Una estrategia debería seguir teniendo sentido
cuando modificamos ligeramente parámetros, periodos y mercados.
Out-of-Sample.
La estrategia debe demostrar que puede funcionar
sobre información que no utilizamos para diseñarla.
El objetivo no es construir el bot perfecto
El trading algorítmico no consiste en eliminar absolutamente todas las pérdidas.
Tampoco consiste en fabricar una curva de equity sin ningún retroceso.
Consiste en construir sistemas con una ventaja estadística suficientemente robusta como para sobrevivir a la incertidumbre real.
Los traders amateurs suelen buscar curvas perfectas.
Los enfoques cuantitativos profesionales buscan estabilidad estadística, control del riesgo y robustez.

