Hace unas semanas publiqué un artículo en el que mostraba cómo generar gráficos de dispersión (scatter plots) en Amibroker para analizar los beneficios y pérdidas de un sistema de trading en función del número secuencial de cada operación. Aquella herramienta ya permitía detectar estabilidad, asimetrías y posibles anomalías en los resultados del backtest.

En esta ampliación vamos un paso más allá. Si en el artículo anterior el eje X representaba el número de trade, ahora vamos a construir un gráfico alternativo donde el eje X representa la duración de cada operación. Un simple cambio que abre la puerta a un análisis completamente distinto: entender cómo influye el tiempo en el resultado de cada trade.

Cada punto del gráfico representa una operación cerrada. Su posición en el eje X nos indica el número de barras que ha durado; en el eje Y, el beneficio (verde) o la pérdida (rojo) obtenidos. Así, de un vistazo, se ve si el sistema gana cuando aguanta posiciones abiertas o cuando cierra rápido, y si hay duraciones concretas en las que concentra la mayor parte del resultado.
¿Por qué analizar la duración de los trades?
La duración de una operación es una variable crítica que a menudo pasa desapercibida. Visualizarla junto con el resultado del trade permite responder preguntas como:
- ¿Mis operaciones ganadoras tienden a durar más que las perdedoras?
- ¿Las pérdidas rápidas indican stops bien ajustados o un sistema demasiado reactivo?
- ¿Existen operaciones extremadamente largas que aportan riesgo innecesario?
- ¿Hay un rango de duración óptimo donde el sistema funciona mejor?
Este tipo de gráfico convierte esas preguntas en patrones visuales fáciles de interpretar.
Qué información operativa podemos extraer
Este gráfico es especialmente útil para detectar cuatro tipos de comportamientos:
- Dependencia de trades largos. Si la mayor parte de los beneficios proviene de operaciones muy extensas, el sistema puede ser frágil ante cambios de volatilidad o ruptura de tendencias.
- Pérdidas prolongadas. Un grupo de puntos rojos desplazado hacia la derecha suele indicar stops demasiado amplios o falta de disciplina en la salida.
- “Punto dulce” del sistema. A veces aparece una nube de puntos verdes concentrada en un rango de duración específico. Ese rango es oro puro para optimizar las reglas de salida.
- Anomalías. Duraciones extremadamente largas o cortas pueden señalar errores de datos (splits, gaps, precios incorrectos) o condiciones mal definidas en el sistema.
Concepto del nuevo gráfico
La diferencia con el scatter plot original es mínima en el código, pero conceptual:
- Gráfico original: X = número de trade (secuencial), Y = beneficio/pérdida.
- Gráfico nuevo: X = duración del trade (en barras), Y = beneficio/pérdida.
Cuanto más a la derecha esté un punto, más tiempo ha estado abierta esa operación. Cuanto más arriba o más abajo, mayor el beneficio o la pérdida. Con estos dos ejes, se pueden detectar de un vistazo:
- Concentraciones de operaciones cortas y su impacto en el resultado final.
- Trades largos que aportan mucho valor… o que destruyen rentabilidad.
- Asimetrías temporales: por ejemplo, si las operaciones largas suelen ser perdedoras.
- Errores de datos cuando aparecen duraciones claramente anómalas.
👨💻 Código AFL de Amibroker
Tienes toda la razón, en el artículo he escrito que se ejecute en el Explore y me he saltado el paso previo del Backtest, que es lo que causa justo el error que te ha salido. Hay que corregirlo.
La frase correcta debería dejar claro el orden de ejecución. Te propongo sustituirla por esto:
Versión corregida del párrafo:
Si ejecutas el Explore sin haber hecho antes el Backtest, obtendrás el error «Could not find Trade Matrix», porque las matrices con los datos aún no existen. Una vez tengas el diagnóstico claro, puedes incorporar la lógica a tu propio sistema modificando las condiciones de entrada y salida.
El siguiente AFL no representa un sistema de trading y es meramente formativo. Para generar los gráficos, hay que ejecutarlo en dos pasos:
- Primero ejecuta un Backtest normal. Esto recorre todas las operaciones del sistema y guarda los resultados (beneficio y duración de cada trade) en variables estáticas.
- Después lanza un Explore sobre el mismo AFL. Esta vez el código leerá las variables estáticas guardadas por el Backtest y dibujará los dos gráficos de dispersión.
Conclusión
Este nuevo gráfico complementa al scatter plot original basado en el número de trades. Los dos juntos forman una herramienta diagnóstica muy potente para evaluar la estabilidad y la estructura interna de un sistema:
- El gráfico original te dice cuándo ocurre cada beneficio o pérdida.
- El gráfico nuevo te dice cuánto tiempo tardó en producirse.
Combinados, permiten entender de dónde procede realmente el rendimiento del sistema y si la relación entre tiempo y beneficio es saludable o esconde fragilidades. En la práctica, suelen ser de los primeros gráficos que reviso al analizar un sistema nuevo: si el punto dulce aparece claro, la optimización de las salidas es mucho más sencilla; si la nube está dispersa, conviene replantear la lógica antes de seguir afinando.
Por eso en MKTSignals nos tomamos el trabajo de probar, medir y comparar cada estrategia antes de compartirla contigo.
Si tú también quieres poder hacerlo, te puede interesar este curso pensado especialmente para ti.

Este artículo fue cortesía de Juan Carlos Sobrino para MKTSignals.













0 comentarios