Está en la página 1de 8

Optimización de una cartera de inversiones utilizando algoritmos genéticos

María Gracia León, Nelson Ruiz, Ing. Fabricio Echeverría


Instituto de Ciencias Matemáticas ICM
Escuela Superior Politécnica del Litoral
Vía Perimetral Km 30.5, Guayaquil, Ecuador
mgleon@espol.edu.ec, nruiz@espol.edu.ec, pechever@espol.edu.ec

Resumen
En el presente trabajo se muestra la aplicación de los algoritmos genéticos a un problema de optimización de
una cartera de acciones. Tanto la naturaleza del problema de optimización como la teoría de los algoritmos
genéticos son expuestos brevemente y sirven de base para la resolución de dos problemas específicos, encontrar la
mejor asignación al momento de invertir en un grupo de acciones mexicanas y otro grupo de acciones
ecuatorianas. La exposición de este interesante tema se apoya en el uso de un software que permite observar paso
a paso el proceso de optimización utilizando algoritmos genéticos. Los conceptos expuestos al inicio de este
trabajo se ven ejemplificados con el uso del software, el cual incluye tanto resultados gráficos como numéricos.
Este software es extensible de tal manera que con ciertas modificaciones puede ser utilizado para trabajar con
cualquier grupo de acciones. En general, los lectores interesados en el tema de los algoritmos genéticos podrán
encontrar en el presente trabajo una útil introducción para estudios posteriores.

Palabras Claves: Algoritmos genéticos, cartera de acciones, optimización.

Abstract

This work shows the application of the theory of genetic algorithms to an optimization problem of a portfolio of
shares. Both of the optimization problems and the theory of genetic algorithms are exposed briefly and are useful to
solve two specific problems, to find the best assignment when it is necessary to invest in a group of Mexican shares
and another group of Ecuadorian shares. The exposition of this interesting topic is helped by software that allows
seeing the step-by-step optimization process by using genetic algorithms. The concepts exposed at the beginning of
this work can be better learnt with the use of this software that includes both graphical and numerical results. This
software can be extended by adding some code so it is possible to use it to work with any group of shares.
Generally speaking, readers who are interested in this topic can find that this work can be a useful beginning of
other studies.
1. Introducción Variables de decisión:
Wi: Peso de la inversión en la acción i
El diseño de una cartera de inversiones óptima es Puesto que no es posible maximizar y minimizar a
un problema que ha sido tratado por más de 50 años. la vez estas dos metas en conflicto, se propone una
Es claro que la decisión que el inversionista debe función objetivo que relacione tanto el rendimiento
tomar al escoger las acciones más prometedoras no como el riesgo de la siguiente manera:
puede ser guiada solamente por la intuición. Es n _

necesario que el inversionista apoye su decisión ∑R i wi


utilizando criterios científicos. En este resumen se f = n
i =1
n

resolverá una variación del problema clásico propuesto ∑ ∑σ


i =1 j =1
ij wi w j
por Markowitz haciendo uso de la novedosa técnica de
los algoritmos genéticos. Dada la naturaleza de esta nueva función objetivo,
es notorio que tanto cualquier incremento en el
rendimiento como cualquier disminución en el riesgo
2. Descripción del problema aumentarán el valor de la función.
Existen dos problemas al momento que el
inversionista decide destinar sus recursos limitados en 4. Teoría de los algoritmos genéticos
un grupo de acciones, la primera decisión que tiene
que enfrentar es escoger las acciones en las cuales va a En un problema de optimización se trata de escoger los
invertir y el segundo problema tiene que ver con la valores de las variables de decisión que optimizarán la
manera de distribuir el recurso limitado que posee función objetivo dentro de un espacio de soluciones.
dentro de este grupo de acciones previamente A diferencia de los métodos clásicos de optimización
escogidas. Es en este problema en el que el presente el algoritmo genético no escoge una solución inicial
trabajo concentrará su atención, es decir, en la sino un conjunto de soluciones conocidas como
selección de los porcentajes a invertir en cada acción. población inicial.
En general, el problema consiste en encontrar la Algunas de las fases de un algoritmo genético son las
cartera óptima de inversiones de n acciones siguientes:
considerando el rendimiento esperado de toda la • Función de Ajuste
cartera y el riesgo de la misma. Donde el rendimiento • Método de selección
total esperado Rp y el riesgo σ2p son: • Operaciones genéticas:
Rp=w1R1+w2R2+…+wn-1Rn-1+wnRn o Cruzamiento
σ2p=V[Rp] o Mutación
Siendo w1, w2,..,wn-1, wn los porcentajes del capital • Generación de nueva población
invertido en cada acción y V[Rp] la varianza del
rendimiento esperado. En resumen, el problema aquí 4.1 Función de ajuste
tratado consiste en la determinación de los pesos que
maximicen el rendimiento esperado, teniendo en Cuando se tiene la población inicial o una
consideración el riesgo. generación de n cromosomas se debe seleccionar a los
cromosomas más idóneos para la siguiente etapa. La
3. Modelo del problema idoneidad de los cromosomas o individuos que en el
caso específico de este problema son las n-uplas se la
De acuerdo al enfoque de media – varianza de determina utilizando lo que se conoce como función
Markowitz [1] el modelo general de la optimización de de ajuste. En el caso específico de esta tesis la función
cartera es el siguiente: de ajuste es la función objetivo propuesta
n _ anteriormente en la descripción del modelo, el valor de
max ∑ R i wi esta función depende únicamente de los pesos wi:
i =1 n _
n n ∑R i wi
min ∑∑ σ ij wi w j f ( w1 , w2 ,...., wn ) = n
i =1
n
i =1 j =1 ∑∑ σ
i =1 j =1
ij wi w j
n
Sujeto a ∑w
i =1
i = 1 wi ≥ 0 4.2 Operaciones genéticas
4.2.1 Cruzamiento. En esta etapa la aleatoriedad
Dónde: juega un papel preponderante teniendo que tomarse
i, j Índices de acciones; i, j =1,2,…,n dos decisiones:
_ o La pareja de cada uno de los individuos para
R i : El valor esperado de la acción i; para i=1,2,…,n el cruzamiento.
σij: La covarianza entre el rendimiento de la acción i y o La posición en la cual debe realizarse el
la acción j. cruce.
usuario deberá seleccionar la población inicial al
4.2.2 Mutación. Con este operador producimos presionar el botón correspondiente.
cambios aleatorios espontáneos en varios cromosomas
con una baja probabilidad. Una simple forma de
1
mutación es alterar uno o más genes.
Existen varios métodos de mutación, el método que se
utiliza en este caso es del intercambio. Como su
nombre lo indica este método consiste en escoger dos
genes aleatoriamente e intercambiarlos.

4.2.3 Generación de una nueva población. Luego


de la etapa de mutación los cromosomas resultantes
pasan a ser parte de la nueva generación que
reemplaza a la anterior. Repitiendo este proceso es
posible llegar a una solución óptima o subóptima, tal
como lo muestra el esquema de la figura 1.

Población inicial Figura 2. Seleccionar la población inicial por medio del


botón seleccionar.
Se observa en la pantalla de la figura 3. La
selección de los cromosomas más idóneos y el paso de
Selecció
éstos a la segunda etapa previa al cruce.

Cruzamiento
K iteraciones

Mutación

Nueva generación

Parar? Cromosomas seleccionados

Figura 3. Proceso de selección


Vector de pesos
óptimo Wi En el proceso de cruzamiento que el usuario deberá
accionar al dar click en el botón “Cruzar” se
encuentran aleatoriamente las parejas de cada
cromosoma y se determina la posición de cruce.
Figura 1. Diagrama de flujo del algoritmo genético

5. Herramienta informática aplicada en la


solución del problema

Se ha diseñado una aplicación específica en


Microsoft Visual Basic 6.0 interrelacionada con
Microsoft Access 2007. Este programa permite aplicar
el algoritmo genético a cualquier grupo de 8 acciones.

5.1 Aplicación del algoritmo genético paso a


paso

Esta forma de ejecutar el software permite


examinar detalladamente el proceso que sigue el
algoritmo genético mediante los pasos mencionados en Figura 4. Cruzamiento de cromosomas
la figura 1. Tal como se muestra en la figura 2. El
Finalmente la última etapa de mutación tiene lugar
accionando el botón “mutar”, esto se ve en la figura 5.

Figura 7. Resultados del número de iteraciones


ingresadas

6. Resultados e implementación
Figura 5. Proceso de mutación
En esta sección se mostrarán los resultados
El método paso a paso permite visualizar la solución obtenidos al aplicar el software expuesto en la sección
encontrada en cualquiera de las iteraciones. Al anterior.
presionar el botón “Solución actual” el software
escogerá el mejor cromosoma del grupo de 6.1 Resultados encontrados con los datos de las
cromosomas mostrados en la columna “Mutados”. acciones mexicanas.
5.2 Aplicación del algoritmo genético por el Las 8 empresas mexicanas de las cuales se ha
método abreviado tomado el precio de sus acciones en un periodo de
enero 2007 a diciembre 2008 se muestran a
El método abreviado consiste en permitir que el continuación:
software ejecute en forma automática el número de
iteraciones que el usuario decida. Tal como lo muestra Tabla 1. Acciones mexicanas
la figura 6. el botón denominado “Quick Solution” TELMEX-L
activa un cuadro de diálogo que solicita al usuario la
CONSORCIO ARA
cantidad de iteraciones que desea ejecutar. Luego de lo
cual, se muestra la solución encontrada al final del FOMENTO ECONOM UTS
proceso, tal como lo muestra la figura 7. GFFINA –O
MEXICHEM
GRUPO BIMBO-A
AMERICA MOVIL-L
GMEXICO-B

Ensayo 1

Los resultados que se obtienen al aplicar el software


en este primer ensayo con 200 iteraciones se muestran
en la figura 8.

Figura 6. Número de iteraciones a ejecutar

Figura 8. Resultado después de 200 iteraciones


En este ensayo el software permite visualizar la
gran diferencia existente entre el porcentaje de
inversión recomendado para las acciones de la
empresa GFFINA-O y las acciones de las otras
empresas.

La figura 9. Demuestra que esta notable diferencia


se mantiene cuando el número de iteraciones aumenta
a n=400.

Figura 11. Función de ajuste en 400 iteraciones

En cuanto al rendimiento y riesgo se refiere por las


figuras 12. y 13. se observa que estos se estabilizan
cuando se incrementa el número de iteraciones. Como
es de esperarse el riesgo decrece en las primeras
iteraciones permitiendo así un crecimiento en la
función de ajuste.
Figura 9. Resultado después de 400 iteraciones

Sin embargo, el valor de la función de ajuste


aumenta tal como se espera. Esto se indica en la tabla
2.
Tabla 2. Valor de la función de ajuste en iteración
200 y 400
Ensayo 1
iteraciones f. ajuste rendimiento riesgo
200 8,54 1,58% 0,001856
400 8,82 1,63% 0,001852
Figura 12. Rendimiento y riesgo en 200 iteraciones
Además se observa en la tabla anterior que en este
ensayo particular el incremento en el número de
iteraciones también incrementa el rendimiento,
manteniendo el riesgo casi constante.
La descripción gráfica del comportamiento de este
ensayo en lo que se refiere a la función de ajuste se
muestra en las figuras 10. y 11. para n=200 iteraciones
y n=400 iteraciones respectivamente. Es notorio por
estas 2 figuras que en este ensayo el aumento en el
número de iteraciones logra que la función de ajuste
se estabilice y converja.

Figura 13. Rendimiento y riesgo en 400 iteraciones

6.2 Resultados encontrados con los datos de las


acciones ecuatorianas

Las 8 empresas ecuatorianas de las cuales se ha


tomado el precio de sus acciones en un periodo de
enero 2007 a diciembre 2008 se muestran a
continuación:

Figura 10. Función de ajuste en 200 iteraciones


Tabla 3. Acciones ecuatorianas Además se observa en la tabla anterior que en este
Bco. Bolivariano ensayo particular el incremento en el número de
Bco. del Pichincha iteraciones también incrementa el rendimiento,
manteniendo el riesgo casi constante.
Bco. Guayaquil
La descripción gráfica del comportamiento de este
Cia. de Cervez. Nac. ensayo en lo que se refiere a la función de ajuste se
Holcim Ecuador muestra en las figuras 16. y 17. para n=200 iteraciones
Soc. Agr. e Ind. San Carlos y n=400 iteraciones respectivamente. Es notorio por
estas 2 figuras que en este ensayo el aumento en el
Inversancarlos
número de iteraciones logra que la función de ajuste
Corporación Favorita se estabilice y converja.

Los resultados que se obtienen al aplicar el


software en este primer ensayo con 200 iteraciones se
muestran en la figura 14.

Figura 16. Función de ajuste luego de 200 iteraciones

Figura 14. Resultados después de 200 iteraciones

En este ensayo el software permite visualizar las


dos empresas con mayor porcentaje de inversión que
corresponden a “Bco. Guayaquil” y “Holcim Ecuador”
con pesos de 47.3% y 39.3% respectivamente.
Las figura 15. demuestra que este patrón se
mantiene cuando el número de iteraciones aumenta a
n=400.

Figura 17. Función de ajuste luego de 400 iteraciones

En cuanto al rendimiento y riesgo se refiere por las


figuras 18. y 19. se observa que estos se estabilizan
cuando se incrementa el número de iteraciones. Como
es de esperarse el riesgo decrece en las primeras
iteraciones permitiendo así un crecimiento en la
función de ajuste.
Figura 15. Resultados después de 400 iteraciones

Sin embargo, el valor de la función de ajuste


aumenta tal como se espera:

Tabla 4. Valor de la función de ajuste en iteración


200 y 400
ensayo 1
iteraciones f. ajuste rendimiento riesgo
200 24.046 0.783% 0,0003
400 24.123 0.857% 0,0003
que en 10 de los 20 ensayos la función de ajuste fue
mayor que 27.

7. Conclusiones y recomendaciones
En un experimento de 20 ensayos utilizando los
datos de las acciones mexicanas el valor máximo de la
función de ajuste que se obtuvo fue de 8.9628 con un
rendimiento de 1.6692% y riesgo de 0.001862. Siendo
los pesos obtenidos 9.5%; 0.20%; 2.30%; 78.10%;
9.5%; 0.20%; 0.20% y 0.20%

En el mismo experimento de 20 ensayos para las


acciones mexicanas se obtuvo que el 40% de los
Figura 18. Rendimiento y riesgo en 400 iteraciones ensayos obtuvieron funciones de ajuste mayores que 8;
(acciones ecuatorianas) el 25% tuvieron funciones de ajuste entre 7 y 8; el
30% entre 6 y 7; y apenas el 5% obtuvo valores
menores que 6. Por lo cual podemos concluir que el
algoritmo genético pocas veces produce valores
indeseables.

En un experimento de 20 ensayos utilizando los


datos de las acciones ecuatorianas el valor máximo de
la función de ajuste que se obtuvo fue de 28.9549 con
un rendimiento de 0.86% y riesgo de 0.000297. Siendo
los pesos obtenidos 0.00%; 0.00%; 60.40%; 4.7%;
30.20%; 4.7%; 0.00% y 0.00%.

En el mismo experimento de 20 ensayos para las


Figura 19. Rendimiento y riesgo en 550 iteraciones acciones ecuatorianas se obtuvo que el 30% de los
(acciones ecuatorianas) ensayos obtuvieron funciones de ajuste mayores que
28; el 20% tuvieron funciones de ajuste entre 27 y 28;
Finalmente, se mostrará un experimento de 20 el 5% entre 26 y 27; el 5% entre 25 y 26; el 5% entre
ensayos independientes para cada grupo de acciones 24 y 25; el 5% entre 23 y 24; el 20% entre 22 y 23; y
con el fin de obtener una idea global del el 10% obtuvo valores entre 21 y 22.
comportamiento del algoritmo.
Puesto que el algoritmo genético puede producir
6.3 Acciones mexicanas: Experimento de 20 valores no óptimos en ciertos ensayos se recomienda
ensayos ejecutar el software varias veces para escoger la mejor
solución.
Al realizar los ensayos con 500 iteraciones, se tiene
que existe una cierta regularidad puesto que a pesar de Aunque el rendimiento correspondiente al ensayo
los diferentes resultados obtenidos en la función de que obtuvo el mayor valor de la función de ajuste para
ajuste y los pesos, el mayor porcentaje en cualquiera las acciones mexicanas no es el más alto sin embargo
de los ensayos es destinado a la cuarta empresa su riesgo es menor al obtenido en el ensayo de máximo
(GFFINA –O), siendo su valor máximo 90.60% y su rendimiento.
valor mínimo 63.10%
8. Agradecimientos
6.4 Acciones ecuatorianas: Experimento de 20
ensayos Nuestros agradecimientos van dirigidos a las personas
que nos ayudaron a lograr este proyecto. Al Ing.
Con los 20 ensayos de las acciones ecuatorianas cada Echeverría por dirigir nuestro proyecto, al Ec. Fabricio
uno de 500 iteraciones, se tiene que existe una cierta Arellano miembro de la bolsa de valores de Guayaquil,
regularidad puesto que a pesar de los diferentes por creer en nosotros al facilitarnos los datos de las
resultados obtenidos en la función de ajuste y los acciones y al Ing. César Noboa por su apoyo
pesos, el mayor porcentaje en cualquiera de los incondicional.
ensayos es destinado a la tercera empresa (Bco. de
Guayaquil), siendo su valor máximo 74.30% y su valor
mínimo 44.90%.
Al ordenar la función de ajuste se obtuvo el valor
de 28.9549. Con los datos obtenidos se pudo observar
9. Referencias bibliográficas
[1] Applied Mathematical Sciences, Vol. 1, 2007, no.
5, 203 – 204
[2] ALAITZ MENDIZÁBAL ZUBELDIA, LUIS M.ª
MIERA ZABALZA, MARIAN ZUBIA
ZUBIAURRE, A LM 2002, El modelo de Markowitz
en la gestión de carteras, Obtenido el 26 de Julio de
2009, de
http://www.ehu.es/cuadernosdegestion/documentos/21
2.pdf

[3] Ryan, R 1978, Presentación del problema de


optimización de carteras de inversión, Obtenido el 25
de Julio de 2009, de
http://catarina.udlap.mx/u_dl_a/tales/documentos/lat/m
ora_r_tx/capitulo.pdf
[4] Yahoo Finanzas, (n.d.). Precios Históricos del
mercado mexicano, Obtenido el 23 de Julio de 2009,
de
http://mx.finance.yahoo.com/q/hp?s=AMXL.MX&a=0
0&b=1&c=2007&d=11&e=1&f=2008&g=m
[5] Ec. Fabricio Arellano, Bolsa de valores de
Guayaquil, Obtenido el 3 de agosto de 2009 12:58:57
mediante un correo electrónico Ec. Fabricio Arellano
<farellano@bvg.fin.ec>

También podría gustarte