Genbox es el motor de Inteligencia Artificial incorporado en Alphadvisor que te permite crear sistemas a demanda para cualquier activo.

La estrategia de los robots generados por Genbox ha sido diseñada para el mercado Forex. Aunque no descartamos que también pueda funcionar en otros activos (índices, commodities, stocks), pero se recomienda emplear Genbox para pares de Forex.

El motor de Inteligencia Artificial va siguiendo una serie de pasos hasta obtener los sistemas, cada uno de los pasos es rigurosamente validado para obtener la máxima probabilidad de que el sistema tenga ventaja real y no haya caído en sobreoptimización.

Aun así, cualquier sistema obtenido con Genbox incurre en un riesgo indeterminado de sobreoptimización y por lo tanto la mejor forma de operar con robots de Genbox es mediante una cartera diversificada. De esta forma asumimos que un porcentaje de robots generados están sobreoptimizados pero el resto de robots estarán cubriendo sus pérdidas esperando que el resultado global de la cartera de sistemas sea positivo a largo plazo.

El proceso de generación de sistemas consta de 4 pasos principales:

  1. Configuración de serie temporal e indicadores base.
  2. Generación de ramas (entradas).
  3. Ensamblado de ramas (entradas).
  4. Optimización de redes neuronales.

PRIMERO

Lo primero será determinar la serie temporal sobre la que queremos generar un sistema. Una serie temporal se compone de instrumento, timeframe y periodo.

Por ejemplo: Instrumento “EURUSD”, en timeframe de “4H” y periodo desde 01/01/2010 hasta 01/01/21.

Además debemos determinar si el sistema es de compra o venta y el porcentaje de validación a emplear. 

La validación es un elemento clave del diseño de sistemas y sirve para evitar la sobreoptimización. El porcentaje de validación reservará los datos del final de la serie temporal para comprobar los resultados de los algoritmos. Se suele emplear un porcentaje entre el 20% y el 40% máximo.

SEGUNDO

Mediante minería de datos buscaremos puntos de entrada óptimos a mercado. Genbox utilizará el algoritmo Decision Tree para generar las reglas que determinan un buen momento para entrar en una posición.

Se divide en IS y OS (in-sample y out-sample) es decir, el periodo de entrenamiento y el periodo de validación.

Los parámetros son los siguientes:

Número mínimo de operaciones.

Mínimo % de ganadoras.

Mínimo de K-ratio.

Configurar correctamente estos parámetros es un proceso crítico para que funcione el algoritmo.

En esta fase buscaremos entre un 51% y 60% de operaciones ganadoras. Si ponemos 50% o menos no tendrá sentido el algoritmo y si superamos el 60% posiblemente se haga imposible encontrar ramas, en el siguiente paso de ensamblado se aumentará este porcentaje.

El K-ratio es una métrica fundamental que mide la robustez de un sistema, un sistema excelente tendrá un K-ratio por encima de 0,20 pero en esta fase es prácticamente imposible encontrar ramas tan robustas por lo que se recomienda buscar un K-ratio de 0,10 y subirlo en las siguientes fases.

El criterio de Máximo nivel de ruido determina, como su nombre indica, el nivel de ruido máximo que le permitimos a las ramas. En este paso buscamos un 70% máximo aunque podemos buscar un porcentaje algo inferior.

Finalmente el criterio de parada de la fase indica cuándo tendremos suficientes ramas para pasar a la siguiente fase de ensamblaje. Se suele emplear entre 10 y 20 ramas.

TERCERO

El ensamblado es un proceso por el cual fusionamos todas las entradas del sistema (ramas) que actúan como señales para posicionarse. 

La finalidad de esta fusión es aumentar el % de éxito en las operaciones.

Los criterios son básicamente los mismos que en la fase de ramas pero en esta ocasión debemos aumentarlos ligeramente para orientar el ensamblaje a mejorar el sistema.

Por ejemplo, si hemos buscado ramas con un 55% de ganadoras ahora subiremos el ensamblaje a 60%. Si hemos pedido un 0,10 de K-ratio en la fase de ramas ahora subiremos el ensamblaje a 0,12. Igualmente con el % de ruido que tendremos que disminuirlo.

Los criterios de parada representan las operaciones totales del robot, en entrenamiento (IS) y validación (OS). 

Hay que tener en cuenta que en la siguiente fase de redes neuronales la Inteligencia Artificial entrenará el algoritmo diezmando prácticamente el número de operaciones por lo que si pedimos aquí un total de 2000 (IS) + 500 (OS) = 2500 operaciones puede que nuestro robot final acabe con tan sólo 250 o 300 operaciones.

CUARTO

Optimización de Red Neuronal

La red neuronal se entrena para determinar la dimensión fractal del Mercado y por tanto la memoria y/o régimen de Mercado.

Los parámetros son básicamente los mismos que en las fases anteriores. Lo único que hemos de tener en cuenta es en exigir un poco más en el K-Ratio, un poco menos de ruido y finalmente la Esperanza matemática de los trades.

La Esperanza va a depender mucho de la serie temporal empleada, se puede pedir valores de entre 10 y 30 pips aunque posiblemente el algoritmo genere sistemas con Esperanzas superiores.

El parámetro Drawdown de Montecarlo hará un análisis probabilistico del riesgo del sistema y sólo entregará sistemas que no superen el número (en pips) que se le indique. Por ejemplo, si seleccionamos 2000, todos los sistemas generados tendrán menos de 2000 pìps de drawdown de Montecarlo en su backtest. No se recomienda emplear sistemas superiores a 2000 pips.

El último parámetro Ciclo de entrenamientos hace referencia a las evoluciones por las que va a pasar la red neuronal mientras está siendo entrenada. La evolución tiende a estancarse por lo que cada cierto número de entrenamientos se ha de reiniciar para comenzar de nuevo, se aconseja emplear entre 3000 y 5000 ciclos.