51
DISEÑO DE UN PORTAFOLIO DE INVERSIÓN CON ALGORITMOS
EVOLUTIVOS
Elsa Rodríguez López
1
Juan Fernando García Mejía
2
Yenit Martínez Garduño
3
Recibido: 01/10/2020
Aprobado: 30/10/2020
Resumen
Los portafolios de inversión son instrumentos bursátiles que tienen como objetivo
generar los mejores rendimientos posibles con el menor riesgo de pérdida posible. Esto
puede realizarse por medio de diversas posturas teóricas. Una de ellas es la Teoría de
Portafolio Óptimo formulada por Harry Markowitz, que tiene como finalidad construir
un portafolio óptimo a partir de la diversificación, es decir, asignar a los activos diferentes
montos de inversión, los cuales son calculados por medio de una serie de ecuaciones que
se pueden resolver por medio de un método de programación no lineal denominado
Gradiente Reducido Generalizado (GRG). En este trabajo se propone un método alterno
de solución, los algoritmos evolutivos, en específico un Algoritmo Genético Canónico
con una codificación basada en números reales. Esto permite diseñar un portafolio de
inversiones alternativo denominado portafolio de divisas, compuesto por rendimientos de
seis monedas con respecto al peso mexicano. Las divisas seleccionadas fueron Guaraní
Paraguayo, Peso Uruguayo, boliviano, Dólar Americano, Libra Esterlina y Euro. Los
montos para invertir en cada moneda son formulados de acuerdo con diferentes
escenarios, tales como mínimo riesgo, máxima ganancia y relación ganancia-riesgo, los
cuales fueron resueltos por el GRG y comparados con soluciones obtenidas por un
Algoritmo Genético. Este último demostró que es la mejor opción de cálculo. Cabe
1
Licenciada en Informática Administrativa, maestrante en Administración de negocios, jefa del
departamento de titulación del Centro Universitario UAEM Atlacomulco, profesora de medio tiempo del
mismo espacio académico. etrodriguezl@uaemex.mx
2
Dr. en Proyectos con especialidad en TIC, Profesor de tiempo Completo del Centro Universitario UAEM
Atlacomulco. fgarciam@uaemex.mx
3
Dra. en Administración Directora del Centro Universitario UAEM Atlacomulco de la Universidad
Autónoma del Estado de México. ymartinezg@uamex.mx
52
destacar que, en los tiempos de incertidumbre financiera ocasionados por fenómenos
externos como la pandemia por el virus SARS CoV 2, los capitales de los mercados
financieros tienden a salir de los países que los albergan, provocando un interés en la
inversión en divisas. Esto motiva la búsqueda de soluciones al problema del portafolio
óptimo, las cuales se constituyan como una alternativa más eficiente que la obtenida por
métodos tradicionales.
Palabras-clave: Portafolio optimo-Algoritmo Genético-Markowitz
Abstract
Investment portfolios are trading instruments that aim to generate the best possible
returns with the lowest possible risk of loss. This can be done through various theoretical
positions. One of them is the Optimal Portfolio Theory formulated by Harry Markowitz,
which aims to build an optimal portfolio based on diversification, that is, assigning
different investment amounts to assets, which are calculated through a series of equations
that can be solved by means of a nonlinear programming method called Generalized
Reduced Gradient (GRG). In this work an alternative method of solution is proposed,
evolutionary algorithms, specifically a Canonical Genetic Algorithm with a coding based
on real numbers. This makes it possible to design an alternative investment portfolio
called a foreign exchange portfolio, made up of returns of six currencies with respect to
the Mexican peso. The selected currencies were Paraguayan Guaraní, Uruguayan Peso,
Bolivian, American Dollar, British Pound and Euro. The amounts to invest in each
currency are formulated according to different scenarios, such as minimum risk,
maximum profit and profit-risk ratio, which were resolved by the GRG and compared
with solutions obtained by a Genetic Algorithm. The latter proved that it is the best
calculation option. It should be noted that, in times of financial uncertainty caused by
external phenomena such as the SARS CoV 2 virus pandemic, capital from financial
markets tends to flow out of the host countries, causing interest in investment in foreign
currency. This motivates the search for solutions to the problem of the optimal portfolio,
which constitute a more efficient alternative than that obtained by traditional methods.
Keywords: Optimal Portfolio-Genetic Algorithm-Markowitz
53
1._Introducción
La pandemia ocasionada por el virus SARS Cov 2 obligó a los gobiernos del mundo a
reducir sus actividades económicas como consecuencia del aislamiento social y cierre de
fronteras, lo cual condujo a la escasez y alza de precios en algunos productos, sobre todo
aquellos que son relacionados con el cuidado de la salud, sin mencionar el aumento en la
inflación y en la caída del Producto Interno Bruto (PIB) sobre todo en los países de
América Latina. La incertidumbre económica provocó una fuga de capitales en la gran
mayoría de los países, reflejada en la compra de divisas extranjeras.
En las ciencias económico-administrativas, una de las áreas de estudio es la
inversión de divisas a partir de los comportamientos históricos de estas, con la finalidad
de obtener ganancias económicas en ventanas de tiempo a futuro con mínimo riesgo de
perdida. Esto puede obtenerse por medio de diversas posturas teóricas, una de ellas es el
modelo de Markowitz para la construcción de un portafolio de inversión óptimo a partir
de un mecanismo denominado diversificación, en el cual un inversionista dispone de
varias opciones para invertir con la finalidad de reducir riesgos y maximizar ganancias.
En este trabajo se propone implementar un portafolio de divisas usando el modelo
de Markowitz, conformado por divisas de países latinoamericanos: Paraguay, Uruguay y
Bolivia; así como monedas tradicionalmente fuertes como las de Estados Unidos y Reino
Unido, además del Euro, la moneda común de la Unión Europea. La idea del portafolio
construido es obtener el máximo rendimiento posible con el mínimo riesgo posible dado
el escenario de contingencia de salud en el cual se vuelve necesario reducir el riesgo de
pérdida porque las oportunidades de inversión se dificultan.
1.1 Portafolio de Inversión
En las ciencias económico-administrativas es posible definir a un portafolio de inversión
como un conjunto de activos en el que un inversionista está dispuesto a invertir un capital
económico con un mínimo de riesgo aceptable y un porcentaje de rendimiento esperado.
Guillermo L. Dumrauf doctor en ciencias económicas de la Universidad de Buenos Aires,
propone la siguiente definición: “un portafolio de inversión es una selección de
54
documentos que se evalúan en el mercado bursátil, en los que una persona física o moral
desean invertir su dinero, con el objetivo de repartir el riesgo entre los distintos
instrumentos de inversión los cuales pueden ser acciones, bonos, bienes raíces y divisas
(Fundación de Estudios Financieros - FUNDEF, 2017). La figura 1 muestra algunos
conceptos sobre portafolios de inversión
Figura 1 Elementos teóricos sobre portaolios de inversión (Fundación de Estudios Financieros -
FUNDEF, 2017)
1.2 Modelo de Markowitz
En Useche Arévalo (2015) se describe que la teoría y la práctica financieras han sido
profundamente influenciadas por el enfoque tradicional para la selección de portafolios
de inversión creado por Harry M. Markowitz (1952) en el artículo Portfolio Selection, en
el que formuló el método de media-varianza para la conformación de carteras óptimas,
55
enfoque bajo el cual se supone un agente racional que desea minimizar el riesgo sujeto a
un nivel de retorno mínimo esperado o maximizar la rentabilidad sujeto a un máximo de
riesgo deseado.
A partir del modelo de Markowitz se desarrollaron estudios como los de William
F. Sharpe (1964), John V. Lintner Jr. (1965) y Jan Mossin (1966), quienes basados en los
aportes de Markowitz postularon de forma independiente el Modelo de Valoración de
Activos Financieros (CAPM), modelo de equilibrio con el cual es posible hallar la tasa
de retorno esperada de un activo riesgoso, mediante una ecuación lineal que añade a la
tasa libre de riesgo una prima de riesgo, acorde con la sensibilidad del retorno del activo
riesgoso frente al comportamiento del mercado, expresada con el coeficiente Beta. La
aportación de Markowitz a las ciencias económico-administrativas fue reconocida en
1990 con el Premio Nobel de Economía, concedido de manera conjunta a Markowitz,
Sharpe y Merton (Useche Arévalo, 2015).
De acuerdo con Franco-Arbeláez, Avendaño-Rúa, & Barbutín-Díaz (2011) el
modelo de Markowitz tiene las siguientes premisas
a) El rendimiento de cualquier portafolio es considerado una variable aleatoria, para
la cual el inversionista estima una distribución de probabilidad para el periodo de
estudio. El valor esperado de la variable aleatoria es utilizado para cuantificar la
rentabilidad de la inversión.
b) La varianza o la desviación estándar son utilizadas para medir la dispersión, como
medida del riesgo de la variable aleatoria rentabilidad; esta medición debe
realizarse en forma individual, a cada activo y a todo el portafolio.
c) La conducta racional del inversionista lo lleva a preferir la composición de un
portafolio que le represente la mayor rentabilidad, para determinado nivel de
riesgo.
La descripción matemática del modelo de Markowitz que se presenta en la ecuación 1
consiste en determinar las ponderaciones
que maximizan el rendimiento esperado del
portafolio, sujeto a un riesgo mínimo admitido, mostrado esto en la ecuación 2, sujeto a
las restricciones modeladas matemáticamente en la ecuación 3.
56
(1)
(2)
(3)
Donde:
es la ganancia esperada
es la proporción del valor inicial invertido en el activo del i-ésimo portafolio
es el rendimiento del activo i-ésimo
es el número de activos
es el riesgo estimado del portafolio
es la covarianza de retornos
El principal aporte del modelo de Markowitz radica en proporcionar una estimación que
sirve como guía para la selección de un portafolio óptimo a partir de la elección de activos
financieros de tal forma que le produzca la máxima rentabilidad al controlar el riesgo; o
en forma alternativa, minimizar el riesgo, controlando el rendimiento. La solución al
modelo de Markowitz suele ser realizada bajo la óptica de un problema de optimización.
1.3 Optimización
Es posible definir el concepto de optimización como la selección de una de las opciones
en relación con las distintas alternativas posibles de solución de un determinado problema
y que esta permita tomar las decisiones adecuadas para el problema que se plantea. Su
objetivo primordial es encontrar la mejor solución de decisiones difíciles frente a un
57
universo de soluciones locales. Las distintas técnicas de optimización son empleadas para
encontrar un vector de parámetros de diseño 
lo cual es definido como
óptimo. (Porfirio González, 2014).
De acuerdo con Paredes Hernández hay elementos que se repiten en todos los
problemas de optimización:
1. Variables de decisión: El primer elemento clave en la formulación de
problemas de optimización es la selección de las variables independientes que
sean adecuadas para caracterizar los posibles diseños candidatos y las
condiciones de funcionamiento del sistema. Como variables independientes se
suelen elegir aquellas que tienen un impacto significativo sobre la función
objetivo.
Se representan las variables independientes se representarán mediante
vectores columna de
O vectores fila

2. Restricciones: Una vez determinadas las variables independientes, el siguiente
paso es establecer, mediante ecuaciones o inecuaciones las relaciones
existentes entre las variables de decisión. Estas relaciones son debidas, entre
otras razones, a limitaciones en el sistema, a leyes naturales o a limitaciones
tecnológicas y son las llamadas restricciones del sistema. Se pueden distinguir
dos tipos de restricciones:
a. Restricciones de igualdad: Son ecuaciones entre las variables de la
forma
Donde
es una función real de variables reales
definida sobre un conjunto de números reales.
b. Restricciones de desigualdad: Son inecuaciones entre las variables de
la forma

58
Donde 
es una función real de variables reales
definida sobre un conjunto de números reales.
3. Función objetivo: Finalmente, el último ingrediente de un problema de
optimización es la función objetivo, también llamado índice de rendimiento o
criterio de elección. Este es el elemento utilizado para decidir los valores
adecuados de las variables de decisión que resuelven el problema de
optimización. La función objetivo permite determinar los mejores valores para
las variables de decisión.
Existen diversas técnicas de optimización. Las dos s populares son el Gradiente
Reducido Generalizado y el uso de algoritmos evolutivos como el Algoritmo Genético
2. Gradiente Reducido Generalizado
El uso del Gradiente Reducido Generalizado como método de solución al problema de
asignación de montos de inversión en portafolios óptimos se encuentra documentado en
la literatura (Alrabadi,2016) donde se utiliza el GRG para obtener un portafolio óptimo
en diferentes escenarios de riesgo de 30 activos separados en grupos de 10
correspondientes al mercado financiero de Amman en el período 2009-2013 con
observaciones mensuales. Por otro lado, Man&Chan (2018) muestra el uso de GRG en la
construcción de un portafolio de inversiones compuesto por 10 activos, donde los montos
a invertir en ellos se calculan a partir de un perfil de riesgo moderado. Estos trabajos
documentados en la literatura especializada tienen en común el uso de Microsoft Excel y
el complemento Solver para implementar el GRG.
El modelo de Gradiente Reducido Generalizado es un método utilizado cuando un
problema de optimización tiene restricciones (en el caso de la cartera, esto se expresa en
la ecuación 4) extendiendo el método lineal de Gradiente Reducido. En el punto de partida
de la búsqueda GRG debe cumplir con las condiciones del problema de optimización a
resolver (ecuación 2 o 3, depende del perfil de la cartera). Si esto sucede, el algoritmo
modifica la solución en una dirección de descenso cumpliendo con las restricciones,
repitiendo esta operación iterativamente hasta un punto donde el algoritmo no puede
encontrar una dirección de modificación del individuo donde la función objetivo podría
59
reducirse.
3. Algoritmo Genético
Uno de los algoritmos evolutivos más usados en la resolución de problemas de
optimización es el Algoritmo Genético simple (Genetic Algorithm, GA, por sus siglas en
inglés), que fue desarrollado por John Holland en la década de los 60 en la Universidad
de Michigan, basado en los principios de Charles Darwin y Gregor Mendel. La Figura 2
muestra el diagrama de flujo de un Algoritmo Genético simple o Canónico para la
solución de un problema de optimización mono objetivo (García Mejía, 2017):
Figura 2 Diagrama de flujo de un Algoritmo Genético Canónico
Un GA tiene ventajas sobre otros algoritmos evolutivos tales como (García Mejía, 2017):
Permiten encontrar soluciones aproximadas a problemas sin soluciones prácticas.
Se desenvuelven bien en problemas con un paisaje adaptativo complejo.
Habilidad de manipulación para muchos parámetros simultáneamente. Los
problemas de la vida real no pueden definirse en términos con un único valor que
se tenga que minimizar o maximizar.
En su utilización no necesita saber nada a fondo de los problemas que se intentan
resolver, solo se realizan cambios aleatorios en las soluciones candidatas,
evaluándose con la función objetivo para ver si estos llegan a una mejora.
60
Son paralelos.
Ahora bien, un GA también presenta algunas limitaciones y desventajas sobre otros
métodos evolutivos (García Mejía, 2017):
Si se realiza una incorrecta elección de la función objetivo o se define de forma
inexacta, el Algoritmo Genético será incapaz de encontrar la solución al
problema.
Se debe delimitar el tamaño de la población, ritmo de la mutación y
cruzamiento ya que, si la población es pequeña el algoritmo puede no explorar
todo el espacio de soluciones.
Que el algoritmo puede converger de forma prematura, si la solución óptima
aparece demasiado pronto, mermando las soluciones y llegando a un óptimo
local en lugar de explorar todo el espacio y llegar al óptimo global.
No se deben de utilizar en problemas de solución analítica, ya que los métodos
analíticos tradicionales consumen mucho menos tiempo y potencia de la
computadora que los algoritmos genéticos.
De manera general, el pseudocódigo de un GA es el siguiente (García Mejía, 2017):
1. Definir una función de aptitud o función objetivo.
2. Generar una serie de posibles soluciones (cromosomas) de manera aleatoria
formando un conjunto denominado población.
3. Codificar la población.
4. Evaluar con la población la función objetivo, iniciando así́ la i-ésima generación.
5. Seleccionar soluciones que se reproducirán.
6. Aplicar una operación de cruzamiento.
7. Mutar algunos elementos resultantes del cruzamiento.
8. Reemplazar elementos de la población de la i-ésima generación con los mejores
elementos de 6 y 7.
9. Detener, si se cumple criterio de paro, y en caso contrario ir al paso a 4.
3.1 Función objetivo
61
En los GA (y en cualquier otro algoritmo evolutivo) es necesaria la formulación
matemática del problema a optimizar, esto puede ser por medio de una o varias ecuaciones
matemáticas que son llamadas funciones objetivas (en algunas referencias son
denominadas función fitness) y se usan para medir el desempeño de las probables
soluciones. En un sentido estricto las funciones fitness son una transformación de
funciones que también valora el desempeño de los problemas de minimización.
Existen una serie de requerimientos que debe de cubrir una función objetivo, los cuales
desde el punto de vista matemático son:
La función f(x) debe ser monótona creciente.
Debe evitar la presencia de máximos locales.
f(x) debe asegurar durante el proceso evolutivo la convergencia de la población
hacia el valor óptimo representado por el máximo global de f(x).
f(x) no debe ser una función negativa, evitando además los valores nulos, ya que
los individuos no deben tener valores negativos o iguales a cero.
f(x) debe incluir parámetros con los que se pueda ajustar la forma y el rango de la
función.
De acuerdo con las teorías evolutivas desarrolladas por Darwin y Mendel solo los
individuos más aptos tienen una mayor probabilidad de sobrevivir y generar
descendencia, de esta manera, transmitir su herencia biológica a las nuevas generaciones
3.2 Codificación
El conjunto de soluciones para un determinado problema de optimización resuelto con
algoritmos genéticos recibe el nombre de población, la cual de manera inicial se puede
generar de manera aleatoria a partir de una distribución de probabilidad uniforme. Esto
permite que el algoritmo converja de manera rápida evitando los óptimos locales. A cada
uno de los elementos de una población de un GA se le denomina cromosoma y a la
mínima expresión de un cromosoma se le denomina gen. Posteriormente los elementos
que conforman la población se representan con un determinado alfabeto. A este proceso
se le conoce como codificación y determina los procedimientos de recombinación y
mutación de los pasos subsiguientes.