algoritmos genéticos

Algoritmos genéticos en la conformación de estrategias en Bolsa

27/03/2017
Número de visualizaciones

En el campo de la inteligencia artificial, un algoritmo genético es una búsqueda heurística que simula el proceso de la selección natural. Estos algoritmos genéticos hacen evolucionar una población de individuos al someterla a mutaciones y recombinaciones genéticas, así como a una selección de acuerdo con algún criterio. En función de la cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que se descartan. Esta heurística se utiliza para generar soluciones útiles a los problemas de optimización y búsqueda. Los algoritmos genéticos pertenecen a la clase de algoritmos evolutivos, que generan soluciones de optimización de problemas usando técnicas inspiradas en la evolución natural, tales como la herencia, mutación, selección y cruce.

La evolución normalmente comienza con una población de individuos generados aleatoriamente, y es un proceso iterativo, en el que en cada iteración se genera una nueva generación de individuos o soluciones. En los algoritmos genéticos, cada generación se evalúa la aptitud de cada individuo de la población, la aptitud es el objetivo de la función en la optimización del problema. Así pues, los individuos de la población mas aptos son seleccionados estocásticamente, y el genoma de cada individuo se modifica (recombina y posiblemente mudado aleatoriamente) para formar una nueva generación.

La nueva generación de soluciones candidatas es usada en la siguiente iteración del algoritmo. El algoritmo normalmente termina cuando se ha alcanzado un número de generaciones, o un nivel de aptitud propicio en la población.

MGA (Algoritmo genético multiobjetivo)

Los MGA o algoritmos multiobjetivos son clasificados como de tipo elitista, ya que incorpora un mecanismo de preservación de las soluciones dominantes a través de varias generaciones de un algoritmo genético. El proceso aplicado a la obtención de carteras mas optimas se inicia a partir de un tamaño de población, en la que se crean aleatoriamente carteras cumpliendo el rango del problema y las restricciones impuestas.

Inicialización del algoritmo

  • Se fijan el número máximo de generaciones maxit y el tamaño de la población npop. Ademas de la probabilidad de cruce pc y de mutación pm que indicará el número de individuos que se generaran mediante cruce o mutación del total de la población.
  • Generación de la población de N carteras aleatorias cerciorándose de que cumplen la restricción de diversificación y de tamaño de activos de la cartera.
  • La población de carteras son ordenadas de mayor a menor según la aptitud o fitness.

Funciones de selección, cruce y mutación

  • Selección: Sobre la población actual son seleccionados una pareja de padres, mediante torneo binario (Binary  Tournament), que consiste en tomar al azar dos parejas de padres y posterior- mente  quedarse con la pareja que tenga la mayor aptitud.
  • Cruce: Para generar dos nuevos individuos, se toman los dos padres elegidos anteriormente y se cruzan sus genes (o en nuestro caso .Activos).
  • Mutación: Para generar un nuevo individuo mediante mutación, se escoge un individuo de la población mediante torneo binario y se produce la mutación a un activo de los que tiene presentes o no la cartera para así generar un nuevo individuo.

Cabe destacar que cuando se generan nuevos individuos, si estos no cumplen las restricciones del tamaño máximo o mínimo de activos presentes automáticamente son descartados como individuos que pertenezcan  a la población.

Recombinación y  selección

La población resultante de las mutaciones y cruces es combinada con la generación anterior y se realiza el proceso de selección de individuos para generar un nuevo pool. Al únicamente incluir los mejores individuos en la población, y al tener un número fijo de ellos, el elitismo del que se caracteriza el algoritmo queda patente, así pues los individuos de la población quedan ordenados de mayor a menor  según la aptitud de cada uno.

El bucle principal del algoritmo es donde se utilizan las funciones de cruce y mutación de carteras, creando nuevos individuos en cada generación, y seleccionando los más óptimos para crear las siguientes generaciones.

La población de una generación en el bucle principal se divide en tres partes:

  • Los genes de las carteras más óptimas de la población actual (pop).
  • Las carteras creadas mediante cruces (pop2 ).
  • Las carteras mutadas (pop3).
0
Categorizado en: Finanzas y Contabilidad

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Descubre MasterClass de INESEM. Una plataforma en la que profesionales enseñan en abierto

Profesionales enseñando en abierto