Hoy hablaremos de como concluir que una idea de trading es realmente potente o no. El “core” o núcleo del sistema, seguramente sea la parte más importante en la elaboración de un sistema automático de trading. No podemos partir de una idea mediocre y esperar tener una “máquina de hacer dinero” y que además nos dure mucho tiempo funcionando. No es tan difícil partir de una idea mediocre y añadiendo los suficientes filtros conseguir una curva aparentemente “bonita”. La idea base del sistema deberá ser ganadora por sí misma, sin ningún filtro. Tener esto claro es importante, si recordáis el primer artículo dije que no hay sistema que dé más beneficio que el sentido común. Pues considero que la idea expuesta en este párrafo está llena de sentido común.
¿De dónde extraemos esta idea base o core?
De las horas de vuelo en el mercado y porqué no, también de otros traders y autores de referencia (aquí que cada uno se fie de quien considere oportuno). Aunque se tenga ya cierta experiencia en el mercado, siempre hay que ser humilde y nunca pensar que todo lo sabes, porque no es así, en cualquier caso siempre esté “el señor mercado” para recordarte esto de vez en cuando.
Cuando tengamos una idea que creamos que puede tener una ventaja en el mercado que nos reportará unos beneficios la llevaremos a código de programación (hay diversos lenguajes de programación, C#, JAVA, Easylenguage…). Abajo se añade un ejemplo de código del lenguaje con el que yo trabajo. Después se añadirán un stop y una salida por beneficios lo más sencillos posibles, evidentemente que tengan sentido.
En programación de sistemas nos encontramos dos conceptos importantes, el primero es el de variable, que por ejemplo será el valor del indicador MACD en un momento del histórico y que como su propio nombre indica cambiará con el movimiento del precio. El segundo concepto es el de parámetro que siguiendo con el ejemplo del MACD será el periodo del mismo. Serán los parámetros los que podamos optimizar, pero una vez que hayamos elegido uno, esté no cambia con el movimiento del precio. El objetivo de la optimización deberá ser buscar robutez y no el máximo beneficio, es decir, no escorger una combinación de parámetros que nos dé el máximo beneficio en la optimización pero que esté en una zona muy inestable. Claro si se dan ambas cosas pues genial.
Ya tenemos la idea de trading ahora añadimos dos salidas una por beneficio (TP) y otra por pérdidas (Stop loss) al core del sistema. Debemos añadir tanto a la variable con la trabajemos como a las salidas sus correspondientes parámetros. Por ejemplo, MACD (periodo), TP (npuntos), Stop(mpuntos). En este caso MACD será variable, TP y Stop son funciones (otro concepto en programación que ya hablaremos de él) y periodo, npuntos y mpuntos son parámetros. A estos últimos deberemos pasar la primera optimización buscando la mejor combinación y sobre todo que nos muestre una gráfica estable y robusta. Insisto en que este momento es crítico en el desarrollo de un sistema de trading.
Como se aprecia en la imagen en 3D, la gráfica presenta estabilidad en gran parte de la misma lo que nos hace pensar de que estamos en el buen camino. Hay una gran combinación de parámetros en los que el sistema se comporta de manera estable. Buena noticia. (Es sólo un ejemplo de cómo tiene que aparecer una gráfica de optimización). A contiuación se pruede ver una gráfica en la que la robustez brilla por su ausencia.
Si miramos la imagen se puede ver la inestabilidad. Esto no son buenas noticias porque el sistema no sería previsible y podría romperse con facilidad por tanto si estamos trabajando en el core del sistema y tenemos una gráfica como ésta yo la descartaría y a otra cosa.
Hay plataformas que te dan estas gráficas directamente pero también se pueden crear en Excel con facilidad, eso sí requiere un poco de tiempo, aunque cuando se le coge “el tranquillo” no tanto. En próximos artículos explicaré como crear estos gráficos 3D en Excel, para los que no tengan una plataforma que les de esta opción.
Me despido por esta semana con los puntos que debe tener una idea base de un sistema para que se pueda considerar robusta por sí misma.
1. Debe ser ganadora por sí misma. Nada de filtros en este punto.
2. Debe comportarse de manera similar en activos parecidos cambiando poco o nada en los parámetros.
3. Debe ganar en timefrimes parecidos.
Quiero dar las gracias a los lectores porque me hizo saber el responsable de la web en Kostarof que los artículos están teniendo una buena acogida. Si dejáis comentarios considero que será bueno para todos.
Un saludo.