¡Muy buenos días a todos!
Hoy vengo a presentaros, como decía antes, de como probar estrategias de trading automático. Para poder explicar el podcast de hoy que aunque digo ya de antemano que es un punto muy importante a explicar bien y es por eso que dedicaré un curso exclusivamente de ello, creo que debemos empezar por el principio.
¿Qué quiero decir con probar una estrategia de trading automático?
Bien, pues cuando nosotros estamos empezando a intentar entrar en el mundo del trading, siempre nos pasa que queremos correr demasiado. Esto no es una carrera de velocidad ni de poco tiempo, sino es una carrera de fondo. Esta carrera de fondo empieza siempre con el mismo concepto. Haz el primer paso para empezar el camino. Este camino, aunque puede sonar muy metaforico, tiene mucha razón. Hay cosas que no se pueden acelerar. El embarazo de un niño no se puede acelerar. Dura alrededor de 9 meses y ya. Algunos quieren correr y tenerlo a las 2 semanas de gestarlo pero es que aunque quieras, no puedes.
En el trading es igual. Mucha gente quiere beneficios y poder vivir de ello al cabo de 2 meses, cuando para poder vivir como profesor de secundaria se están preparando durante muchos años, tanto en la universidad como en oposiciones. Entonces, ¿porqué no en el trading tenemos la misma perspectiva de aprender poco a poco para tener el beneficio al final? Bueno, la gente se piensa que es de un día para otro. Seguramente es por lo que le han vendido, aunque como supongo que os ha pasado a muchos de vosotros, os habéis dado cuenta que como dice el refrán: “Visteme despacio que tengo prisa”.
Pues bien, después de la reflexión, os explicaba esto porque una estrategia de trading pasa exactamente lo mismo. Nosotros no podemos saber si la estrategia que estamos usando en el día a día es valida o no. Si funciona o simplemente cuando ha ido bien es por cosas del mercado y que nos ha beneficiado en todas las entradas o al revés, que cuando hemos entrado, siempre ha ido en contra de nosotros y desechamos la estrategia cuando realmente no era mala, sino simplemente, no la habíamos probado suficiente.
Pues tengo una mini-solución para algunos de vosotros. Ojalá pudiera arreglaros la vida a todos pero al menos, puedo ayudar a algunos. Y precisamente a los que he dedicado el programa y es que para los que saben programar o se defienden, tienen la posibilidad de acelerar el proceso de gestación del bebé. Se puede saber si una estrategia es buena o no en un tiempo mucho más pequeño que si lo hiciéramos manualmente. Para poder hacerlo, lo único que tenemos que hacer es seguir los pasos que os indico aquí y que realmente no son difíciles, pero si mecánicos.
Para estos pasos, cabe decir de antemano que hemos de tener la estrategia ya pensada y que por tanto, la tenemos que tener muy clara en todos sus puntos y vertientes (temporalidad de uso, activos a usarlo, plataforma a usarlo, filtros posibles o cualquier elemento diferenciador de esta estrategia). Una vez la tenemos diseñada, tenemos que seguir estos pasos siguientes:
1- Programarla: Cuando nosotros la tenemos muy clara, esta estrategia se tiene que automatizar. Tened en cuenta que todas las estrategias de trading que se pueden escribir en un diario de trading con pasos concretos, se puede automatizar. Lo que no se puede automatizar son intuiciones o sensaciones de mercado que se tienen por parte de las personas. El resto, yo creo que se puede materializar a código y por tanto, que la máquina haga por ti las operaciones. Por tanto, tenemos que pasarla a programación y hacerlo de tal manera que si fuera una programación web o un servicio concreto de un proyecto de software. No deja de ser igual. Funciones, condicionales y elementos básicos de programación añadiendo los toques de entradas y salidas del mercado.
2- Testearla: lo primero que tenemos que hacer cuando estamos programando la idea, es comprobar que esta funciona como toca. En todos los casos y en todos los escenarios posibles. Tiene que estar perfecta antes de pasar a las pruebas de estrés. Estas pruebas seguro que nos muestran errores en el sistema, pero cabe decir que siempre aparecerán nuevas cosas, pero en este punto es donde de una madera tallada, tenemos que quitar las astillas y pulirla al máximo. Es donde la estrategia tiene que estar con todos los “hedge cases” resueltos para pasar a la acción. Dedícale tiempo a esta parte y no la obvies tanto. Es muy importante para el proceso ya que todo el tiempo que pierdas aquí, no lo perderás más adelante.
3- Backtestearla: empezamos con el proceso de probar con los valores iniciales. Es decir, nosotros habíamos creado estrategia a partir de una estrategia con unos parámetros concretos: timeframe, activos, indicadores, horarios y otras variables que estaban ya definidas por la propia estrategia. Vamos a ver si realmente en el tiempo funciona y aquí es donde nos apalancaremos más en el uso de la máquina, usándolo de una manera extrema para conseguir probar la estrategia durante muchos meses en cuestión de minutos. Los datos, que no me meteré ahora con eso pero que lo encuentro igual de importante dado este punto, se pasan por la estrategia para saber y determinar qué hubiera pasado si esta estrategia hubiera pasado por el momento del pasado concreto. ¿Hubiera salido ganadora? ¿Hubiera salido perdedora? o ¿hubiera salido más o menos igual que como empezó? Esto nos permite probar lo que un trader manual hace durante un año entero de forma convencional en cuestión de minutos y con una precisión milimétrica. Solo por este mismo hecho, ya me vale automatizarla. Me sale a cuenta, ya que así puedo comprobar cuan de buena es la estrategia.
4- Optimizarla: Perfecto. Llegados a este punto seguro que tenemos la estrategia al menos, probada como queríamos. En el caso que nos funcione como esperábamos y que saque beneficios (que esto, sinceramente, es ya muy bueno), vamos a acabar de perfeccionarla. En el caso que no se supere el backtesting y que se quiera seguir probando la estrategia, podemos usar este punto, aunque es entrar en terreno de la aleatoriedad. Y lo digo más que nada porque cuando optimizamos una estrategia que estaba diseñada para que funcionara con los parámetros iniciales y ni con esos funcionan, será poco probable que a base de fuerza bruta, funcione correctamente.
En este punto, lo que vamos a hacer es lo siguiente: vamos a probar cada parámetro que hay en la estrategia para ver hasta donde llega con los datos del mercado. Es decir, vamos modificando cada variable de esta estrategia y probamos como reacciona a lo largo del tiempo. En el caso que funcione, nos guardamos los parámetros y seguimos probando. En el caso que no nos gusten o no salgan como esperamos a nivel de riesgo/beneficio, los descartamos y seguimos buscando. Al final, es un trabajo más de buscar la configuración que otra cosa.
Cabe decir que este punto es un punto crítico, ya que no queremos caer en lo que se llama la sobreoptimización. Cuando hable de sobreoptimización, me referiré a los parámetros que salen del robot dado un tiempo y mercado concreto. Es decir, es como si hiciéramos el traje a medida de esos datos y por tanto, en cuanto estos datos cambien, el traje ya no servirá. Por tanto, como no sabemos como reaccionará en un futuro en el activo que hemos seleccionado, tenemos que tener en cuenta que claro, esta configuración está diseñada, probada y adaptada a datos pasados pero no futuros. Por tanto, lo mejor es seguir con el siguiente punto. El forward test.
5- Forward test: Este punto es el de la paciencia. Es el punto donde hemos recopilado los parámetros y variables del sistema que mejor se adaptan al robot para el activo concreto. Una vez hemos obtenido estos dos, que repito, no es fácil, lo que tenemos que hacer es abrir una cuenta demo en el broker con el que más nos apetezca trabajar y simular que esa cuenta es real. Es decir, poner el robot a funcionar con los mejores parámetros (o los que creemos nosotros que funcionarían bien en una cuenta real, es decir, con dinero real y no ficticio como en las cuentas demo). Nos tenemos que basar en un espacio temporal concreto (1 mes, 2 meses o 6 meses, dependiendo de la estrategia, claro está). Una vez haya pasado la prueba y el sistema responda de la misma manera (con el mismo riesgo/beneficio de forma aproximada que en el backtesting) durante ese periodo, podemos decir que está preparada para pasar a real. En el caso que no lo esté, debemos pasar a diseñarla de nuevo (si es problema de concepto), optimizarla de nuevo (si es problema de la parametrización) o descartar la estrategia si no nos acaba de gustar este tipo de operativa.
6- Real: En el caso que lleguemos aquí, os felicito ya que muy pocos llegan. Es la hora de la verdad y es exactamente lo mismo que el punto anterior. Pero esta vez, vamos de verdad. Con dinero real, esperando recoger los beneficios que tanto esperamos dado el trabajo realizado.
En cualquier caso, como decía antes, haré explicitamente un curso para enseñar a nivel práctico, como haríamos todo este proceso, aunque tengo que decir que el apartado más complicado y es por eso que dedicaré un curso entero también, es el de backtesting y optimización. En este caso, de la plataforma más usada a nivel de Forex como es Metatrader. De todas maneras, las metodologías que se explicarán se pueden usar tanto para el software de Metaquotes como cualquier otro, ya que lo importante no es como hacerlo, sino la manera analizar los datos y hacer los pasos adecuados para llegar a tener una estrategia idónea.
¡Y por hoy ya está! Hasta aquí el podcast de hoy. Si podéis, suscribiros al canal y de darme un me gusta en iVoox y 5 estrellas en iTunes!
¡Muchas gracias! ¡Buen inicio de semana a todos!
¡Hasta mañana!
La entrada 51. Probar una estrategia de trading automático aparece primero en Ferran P..