El sistema mas simple que he visto nunca

Voy a tener contradecir en este artículo a muchos novicios que se inician en el trading pero con este titular llamado “El sistema mas simple que he visto nunca” he querido recordar una norma básica de los sistemas de trading, la filosofía “KISS”:

  • Keep
  • It
  • Simple
  • Stupid

Y es que el trading es como la vida misma, ¿para qué vas a complicar más las cosas y son más simple de lo que parecen? Es por ello por lo que soy un adepto a las enseñanzas del maestro Oscar G. Cagigas, el cual repite hasta la saciedad que los sistemas se pueden optimizar hasta un grado de complejidad, después dejan de funcionar por “sobre-optimización” o “complejidad”. Esto es la norma básica para los que seguimos sistemas de trading, ya sean discrecionales o automáticos.

Los módulos de desarrollo en los sistemas de trading. Podemos ver el típico flow-chart de un sistema.
Los módulos de desarrollo en los sistemas de trading. Podemos ver el típico flow-chart de un sistema.

La complejidad algo a tener en cuenta en el desarrollo de sistemas de trading

El desarrollo de sistemas de trading puede dar a lugar a alcanzar un alto grado de complejidad. El proceso de simulación de una estrategia en particular, que denominamos “backtesting”  puede ser realizado a lo laro de las etapas de una optimización de cualquier sistema sobre el que estemos trabajando.
Los desarrolladores de sistemas siempre buscan nuevas estrategias o combinaciones lógicas. Para que os hagáis una idea, un sistema compuesto por un conjunto de módulos (cada sistema se compone de varios módulos o capas de desarrollo),  podrían provocar “N” resultados posibles.

La complejidad algorítmica que puede surgir de este proceso de diseño en un sistema de trading es muy alto y si no se atiende la organización  durante el proceso de evolución, es muy probable que los errores se puedan ser imprevisibles y hacernos perder muchas horas de diseño, programación, pruebas y optimización puesto que puedes llegar a conclusiones erróneas o hacer que tu sistema deje de funcionar correctamente. (ver el artículo de Stagnation)

Los módulos dentro de un sistema automático, al ser una cantidad considerable y estar interactuando con otros módulos, pueden llegar incluso a trabajar de forma inestable cuando trabajan en conjunto y pueden generar desequilibrios en el flujo de información.

En un momento dado será útil para llevar a cabo varias simulaciones con el objetivo de optimizar los parámetros de una determinada estrategia. Sin embargo, esta estrategia se puede evaluar de varias maneras. Después de la optimización nuestro objetivo es evaluar la eficacia de esta estrategia y llevar a cabo simulaciones en torno a la solución encontrada por la variación de los parámetros de un poco (capa por capa o módulo a módulo) y observar los efectos en el entorno de forma aislada. También podemos ocasionar  podemos simular procesos casuísticos o de incertidumbre a través de diferentes métodos técnicos en el proceso de las pruebas más robustas como puede ser por ejemplo:

  • Simular un retraso en los datos.
  • Generar aleatoriedad en el entorno.
  • Simular datos o desordenarlos dentro de un periodo dado.

Con estos puntos no podemos hacer que nuestro sistema diga si mañana va a llover en Coruña, pero podemos hacer que sea robusto ante procesos aleatorios y caóticos puntuales. Por así decirlo, no podemos crear un soldado inmortal, pero podemos entrenarlo para la batalla.

¿Y la complejidad en el sistema de trading?

La verdad es que la palabra complejidad debe primero ser desmitificada, para cualquier automatización sobre un proceso en nuestro sistema de trading lleva implícito un aumento de la complejidad. La palabra complejidad nos trae un sentimiento encontrado de aumentar el poder y la tecnología en comparación con un sistema de gestión fuera de control.

Es muy útil observar las simulaciones máximos posibles de una estrategia en particular, cuando realizamos cambios controlados y sistemáticos. Este aumento de la complejidad es altamente deseable; el objetivo central de las estrategias de desarrollo y prueba es observar el rendimiento del sistema en diferentes situaciones, pero claro puede darse el caso que por buscar una optimización mayor, el sistema deje de comportarse igualmente de bien que lo hacía en sus versiones anteriores con lo que debemos ver “cuantos grados de optimización” nuestro sistema es capaz de soportar a través de técnicas de backtesting pero con un proceso aleatorio que sorprenda al sistema, si no, como afirma un amigo y compañero mío:

es como conseguir que un prisionero confiese lo que queremos oír tras torturarlo continuamente.

Summary
Review Date
Reviewed Item
El sistema mas simple que he visto nunca
Author Rating
5