De entre todas las herramientas que están apareciendo en el campo del data mining y la generación automática de estrategias, hay una que me ha llamado poderosamente la atención en los últimos meses. Se trata de OpenKantu y me gusta por varios motivos:

  • Es gratuita.
  • Es de código abierto (programado en FreePascal/Lazarus), por lo que podemos modificar su funcionamiento si así lo deseáramos).
  • La ha desarrollado Daniel Fernández, creador del blog Mechanical Forex y de proyectos tan interesantes como Asirikuy, y al cual entrevistamos hace un par de años. Sin duda, toda una garantía de calidad.
  • Genera estrategias en base a Price Action.
  • Permite exportar a MQL4 las estrategias generadas.

Y es que con OpenKantu podemos crear estrategias derivadas de la comparación entre diferentes valores de apertura, máximo, mínimo y cierre a lo largo del histórico, estableciendo adicionalmente criterios estadísticos tales como un determinado ratio de Sharpe, porcentaje de operaciones ganadores, etc.

Dicho esto, vamos a ponernos manos a la obra para ver qué podemos hacer con este programita. Lo primero que debemos hacer es descargarlo e instalarlo, visitando para ello el siguiente enlace:  http://mechanicalforex.com/kantu-system-generator

Una vez instalado, lo abrimos y nos encontraremos con una ventana de este tipo:

Para que pueda funcionar, OpenKantu necesita lógicamente un histórico de datos. Para ello, debemos crear un símbolo en su base de datos yendo al menú History -> Load Symbol… accediendo a la siguiente ventana:

Ahí deberemos crear un símbolo nuevo haciendo click en “Add new entry to DB” y siguiendo los pasos, indicando en qué carpeta está nuestro histórico en formato CSV (tened en cuenta que podemos importar cualquier histórico generado desde Metatrader 4 de la manera habitual). Es importante tener en cuenta que OpenKantu solo trabaja con pares de divisas con un máximo de 4 decimales (2 decimales para el caso de los pares contra yen). Asimismo nos pedirá que indiquemos la distancia mínima del stop que admite nuestro bróker.

Una vez creado el símbolo, debemos cargar el archivo de datos: para ello seleccionamos el símbolo en cuestión y le damos al botón “Load Inputs”:

Si todo va bien, recibiremos un mensaje como este, confirmando que el proceso ha finalizado correctamente:

Una vez tenemos el histórico cargado ha llegado el momento de empezar a generar estrategias. Para ello, debemos configurar previamente todos los parámetros que van a configurar la generación de las mismas.

En primer lugar, nos vamos al menú Simulation -> Options… Nos aparecerá una ventana como la siguiente:

Desde este apartado vamos a poder configurar todos los parámetros de la estrategia: si se toman todos los valores de la vela o solo los cierres y los máximos, hasta qué distancia hacia atrás en el tiempo vamos a buscar relaciones entre los datos (Max Shift), fijar los valores de SL y TP, etc. así como establecer nuestro objetivo de optimización que puede ser el balance, el Máximo Drawdown, el Profit Factor, etc. En esta ventana también podremos establecer si usamos una parte del histórico como fuera de muestra para poder hacer un análisis walk-forward básico y ver si se mantienen los resultados con datos con los que no se ha generado la estrategia.

Si pinchamos en el botón “Show Options” podremos controlar aspectos adicionales como si la estrategia tiene SL o no, si debe operar a una hora fija, etc.:

Si además queremos descartar estrategias de las que vamos generando en base a algún criterio preestablecido, entonces debemos ir al menú Simulation -> Filters -> Define Filters (o si queremos establecer nuestros propios filtros, seleccionar Define Custom Filter). En ese apartado podremos acotar, entre otras muchas cosas, el Profit Factor mínimo que queremos o determinar un nivel de Máximo Drawdown a partir del cual no nos interesen las estrategias.

Con todo esto configurado ya podemos empezar a darle a la maquinita :D. Nos vamos al menú Simulation -> Find Systems -> Main Symbol (ojo, también podemos coger Multiple Symbols y crear estrategias sobre una cartera de símbolos que hayamos seleccionado previamente) y el programa empezará a escupir literalmente cientos de estrategias en cuestión de segundos. En este sentido debemos tener en cuenta que, considerando un histórico de 25 años en barras horarias, generar una estrategia lleva solo unos 60-80 milisegundos, por lo que es factible realizar millones de simulaciones en relativamente poco tiempo.

Por supuesto, mientras se van desarrollando podremos ver los resultados que se van obteniendo sin más que hacer doble click en la fila que nos interese:

También podremos ordenar resultados por cualquiera de las columnas sin más que hacer click en el encabezado y así tener por ejemplo los de mayor SQN en la parte superior mientras se generan las estrategias:


Otra opción que me gusta mucho es la de poder ver la Esperanza Matemática (entendida en este caso como la diferencia entre el MFE y el MAE) tanto para las operaciones largas como para las cortas:


Si además en el menú Selection marcamos la opción “Show Trade Analysis on Click”, el programa nos detallará todas y cada una de las operaciones realizadas indicando tamaño de la posición y resultado obtenido. Para ello, una vez activada la opción en ese menú, hacemos doble click en la fila deseada (nos mostrará un gráfico con las operaciones) y, pasándonos a la pestaña Trade Analysis, veremos el listado completo:

Para remate podemos combinar diferentes estrategias para crear un portfolio. Para ello, basta con marcar las casillas de las filas correspondientes a las estrategias que deseemos combinar e ir al menú Selection -> Show Portfolio Result.

Por supuesto una vez tenemos algo que nos gusta podemos llevarlo a nuestra Metatrader en formato mq4 sin más que marcar la casilla al lado de la estrategia que nos interese e ir al menú Selection -> Export to MQL4.


Conclusión
En resumidas cuentas, estamos ante un programa de data mining impresionante que nos va a permitir generar miles de estrategias de forma automatizada basándonos en Price Action, lo que nos evita tener que parametrizar las estrategias al no usar indicadores con todas las ventajas que ello supone, y que no tiene nada que envidiar a otras herramientas más conocidas como Strategy Quant.

Otra cosa, claro está, será evaluar los resultados que se obtienen con las estrategias generadas pero eso ya dependerá de los productos analizados, así como de las restricciones y filtros que establezcamos. Evidentemente este programa no nos permite encontrar el Santo Grial pero es una excelente herramienta para encontrar nuevas ideas con potencial cuando nos hemos quedado sin inspiración.


Saludos,
X-Trader