Caso Portafolios
Asignatura:
Simulación Financiera
Docente : Ybnias Elí Grijalva Yauri
Consigna de trabajo
Idea general: Pronósticos de la rentabilidad de activos financieros de renta variable
mediante series de tiempo
Pregunta Esencial: ¿Cómo podemos mejorar nuestras habilidades de analizar los
pronósticos de la rentabilidad de activos financieros de renta variable utilizando series de
tiempo?
El reto: Desarrollar pronósticos de la rentabilidad de los activos de renta variable con el
método de series de tiempo
Temporalidad: Unidad 3 - semana 11 y 12.
Portafolios de Inversión
Portafolio Eficiente: Optimización de la cartera de Markowitz
Descripción: Se aplicará la teoría de portafolios eficientes para la elaboración de una
cartera de inversión con seis valores bursátiles, correspondientes a empresas
pertenecientes a diferentes sectores económicos y registradas en el índice Standard
and Poor 500 (S&P 500).
Contenido:
• Introducción a la teoría de Markowitz
• Supuestos de la teoría de Markowitz
Escribir el nombre de la asignatura
• Diversificación de la teoría de Markowitz
• Frontera eficiente
• Data
• Riesgo de cartera y rendimiento esperado
• Paqueterías
• Modelado
Introducción a la teoría de Markowitz
En 1952, un economista llamado Harry Markowitz escribió un artículo titulado
“Portfolio Selection”, un documento que contenía teorías que transformaron el
panorama de la gestión de cartera, páginas que le otorgarían el Premio Nobel de
Economía casi cuatro décadas después.
La idea central de su teoría plantea que el inversor racional, buscará maximizar sus
beneficios (retornos) asumiendo el menor riesgo (volatilidad) posible, esto se puede
lograr con la diversificación de la cartera, eligiendo en principio, acciones que tengan
una correlación baja o negativa. Por ejemplo, combinando acciones de empresas con
distinta actividad económica.
La teoría de Markowitz también es conocida como análisis de varianza media, que se
resume en: encontrar el mayor rendimiento en un determinado nivel de riesgo o el
menor riesgo en un determinado nivel de rendimiento.
Supuestos de la teoría de Markowitz:
• Los inversores son racionales y se comportan de manera que maximicen su
utilidad con un determinado nivel de ingresos o dinero.
• Los inversores tienen acceso gratuito a información justa y correcta sobre
los rendimientos y el riesgo.
• Los mercados son eficientes y absorben la información de manera rápida y
perfecta.
• Los inversores son reacios al riesgo y tratan de minimizar el riesgo y
maximizar el rendimiento.
• Los inversores basan sus decisiones en los rendimientos esperados y la
varianza o desviación estándar de estos rendimientos de la media.
• Los inversores eligen rendimientos más altos a rendimientos más bajos
para un determinado nivel de riesgo.
Supuestos del modelo:
• Los retornos siguen una distribución normal.
• Una función de utilidad cuadrática representa las decisiones de los
inversores.
Evaluación Página 2
Escribir el nombre de la asignatura
Diversificación de la teoría de Markowitz :
Markowitz postuló que la diversificación no solo debe apuntar a reducir el riesgo de un
valor reduciendo su variabilidad o desviación estándar, sino también reduciendo la
covarianza o el riesgo interactivo de dos o más valores en una cartera. Como por
combinación de diferentes valores, es teóricamente posible tener un rango de riesgo
que varía de cero a infinito.
Frontera eficiente:
La frontera eficiente es el conjunto de carteras óptimas que ofrecen el rendimiento
esperado más alto para un nivel de riesgo definido o el riesgo más bajo para un nivel
dado de rendimiento esperado.
Data
Los seis activos bursátiles de la cartera forman parte del índice S&P 500, se seleccionó
el período desde enero 2010 hasta abril 2020:
Microsotf Corporation (MSFT): Importante compañía tecnológica multinacional con
sede en Redmond, Washington, EE.UU, es la de mayor capitalización dentro del índice
S&P 500.
Johnson & Johnson (JNJ): Histórico fabricante de dispositivos médicos, productos
farmacéuticos, de cuidado personal, perfumes y artículos para bebés.
Mastercard Incorporated (MA): Una de las más importantes multinacionales de
servicios financieros con sede en Purchase, Nueva York, Estados Unidos.
PepsiCo Inc (PEP): Exitosa empresa multinacional estadounidense dedicada a la
fabricación, comercialización y distribución de bebidas y aperitivos.
Walmart Corporate (WMT): Corporación multinacional de tiendas de origen
estadounidense, que opera cadenas de grandes almacenes de descuento y clubes de
almacenes.
McDonald’s Corporation (MCD): Es una franquicia de restaurantes de servicio rápido
estadounidense con sede en Illinois Chicago.
Riesgo de cartera y rendimiento esperado
El rendimiento esperado de la cartera se calcula como una suma ponderada de los
rendimientos de los activos individuales.
Evaluación Página 3
Escribir el nombre de la asignatura
Para calcular el riesgo de un portafolio se necesitan conocer antes dos medidas
estadísticas: la covarianza y el coeficiente de correlación.
Covarianza
La covarianza es una medida de la relación entre dos variables aleatorias. La métrica
evalúa cuánto, en qué medida, las variables cambian juntas. En otras palabras, es
esencialmente una medida de la varianza entre dos variables. Sin embargo, la métrica
no evalúa la dependencia entre variables. Su cálculo se realiza mediante la sumatoria
de la diferencia entre las rentabilidades de cada uno de los activos (Ri) y su
rentabilidad esperada (Re), multiplicados por la probabilidad de ocurrencia (p).
Coeficiente de Correlación
La correlación mide la fuerza de la relación entre variables. La correlación es la medida
a escala de la covarianza. Es adimensional. En otras palabras, el coeficiente de
correlación siempre es un valor puro y no se mide en ninguna unidad.
Riesgo (Desviación estándar)
La variación de la cartera es un valor estadístico que evalúa el grado de dispersión de
los rendimientos de una cartera. Es un concepto importante en la teoría moderna de la
inversión. Aunque la medida estadística en sí misma puede no proporcionar
información significativa, podemos calcular la desviación estándar de la cartera
utilizando la varianza de la cartera.
Paqueterías a utilizar:
library(tseries)
library(fPortfolio)
library(knitr)
library(kableExtra)
Modelado
A continuación se armarán los datos de cada serie temporal utilizando la paquetería de
portfolio y se graficarán.
Indice<- get.hist.quote(instrument = "^GSPC",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
Evaluación Página 4
Escribir el nombre de la asignatura
plot(Indice, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico
del Índice S&P 500 [2010-2020]")
summary(Indice)
MSFT<- get.hist.quote(instrument = "MSFT",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
plot(MSFT, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico
de Microsoft Corporation [2010-2020]")
JNJ<- get.hist.quote(instrument = "JNJ",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
plot(JNJ, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico de
Johnson & Johnson [2010-2020]")
MA<- get.hist.quote(instrument = "MA",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
plot(MA, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico de
Mastercard Incorporated [2010-2020]")
PEP<- get.hist.quote(instrument = "PEP",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
plot(PEP, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico de
PepsiCo Inc. [2010-2020]")
WMT<- get.hist.quote(instrument = "WMT",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
plot(WMT, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico
de Walmart Corporate [2010-2020]")
Evaluación Página 5
Escribir el nombre de la asignatura
MCD<- get.hist.quote(instrument = "MCD",
start=as.Date("2010-01-04"),
end=as.Date("2020-04-30"), quote = "AdjClose")
plot(MCD, col="deepskyblue", xlab="Fecha", ylab="AdjClose"); title(main="Histórico de
McDonald's Corporation [2010-2020]")
Se construye la cartera con los activos seleccionados:
CarteraInv <- merge(MSFT,JNJ,MA,PEP,WMT,MCD, all = FALSE)
names(CarteraInv)
names(CarteraInv) <- c("MSFT","JNJ","MA", "PEP", "WMT","MCD")
plot(CarteraInv, main = " ", col="deepskyblue", xlab="Fecha")
title(main="Histórico de Cartera")
Rentabilidad logarítmica
RetornoIndice<-diff(log(Indice))
head(RetornoIndice,10)
plot(RetornoIndice, main=" ", col="deepskyblue", xlab="Fecha", ylab="Rendimientos")
title(main="Rendimientos del Indice S&P 500")
Rendimientos<-diff(log(CarteraInv))
head(Rendimientos,10)
plot(Rendimientos, main=" ", col="deepskyblue", xlab="Fecha")
title(main="Rendimientos de la Cartera")
summary(Rendimientos)
Rendimientos esperados (medios) y volatilidades:
RendimientoPromedio =
c(mean(RetornoIndice),mean(Rendimientos$MSFT),mean(Rendimientos$JNJ),mean(Re
ndimientos$MA),mean(Rendimientos$PEP),mean(Rendimientos$WMT),mean(Rendimi
entos$MCD))
Evaluación Página 6
Escribir el nombre de la asignatura
Volatilidad =
c(sd(RetornoIndice),sd(Rendimientos$MSFT),sd(Rendimientos$JNJ),sd(Rendimientos$
MA),sd(Rendimientos$PEP),sd(Rendimientos$WMT),sd(Rendimientos$MCD))
Cuadro = data.frame (rbind(RendimientoPromedio,Volatilidad))
colnames(Cuadro)<- c("GSPC","MSFT", "JNJ", "MA", "PEP", "WMT", "MCD")
Cuadro*100
Rendimiento promedio esperado:
Volatilidad:
var(RetornoIndice)*100
var(Rendimientos$MSFT)*100
var(Rendimientos$JNJ)*100
var(Rendimientos$MA)*100
var(Rendimientos$PEP)*100
var(Rendimientos$WMT)*100
var(Rendimientos$MCD)*100
Cov <- cov(Rendimientos)*100
Cov
Matriz de Varianza - Covarianza
corr <- cor(Rendimientos) * 100
corr
Coeficiente de Correlación
library(gplots)
generate_heat_map <- function(correlationMatrix, title)
heatmap.2(x = correlationMatrix,
cellnote = correlationMatrix,
Evaluación Página 7
Escribir el nombre de la asignatura
main = title,
symm = TRUE,
dendrogram="none",
Rowv = FALSE,
trace="none",
density.info="none",
notecol="black")
corr1 <- round(cor(Rendimientos) * 100, 2)
generate_heat_map(corr1,"Mapa de calor: Correlaciones")
Modelo de Markowitz
El conjunto eficiente de Markowitz es una cartera con rendimientos que se maximizan
para un determinado nivel de riesgo en función de la construcción de la cartera de
varianza media.
Tasa Libre de Riesgo
La tasa libre de riesgo representa el interés que un inversionista esperaría de una
inversión absolutamente libre de riesgo durante un período de tiempo específico. La
tasa real libre de riesgo puede calcularse restando la tasa de inflación actual del
rendimiento del bono del Tesoro que coincida con la duración de su inversión.
Restricciones
Solo posición en largo.
markov<-portfolioSpec()
setRiskFreeRate(markov)<- -0.001 #Tasa libre de riesgo
setNFrontierPoints(markov) <- 20 #Cantidad de carteras en frontera
constraints="LongOnly"
Frontera <- portfolioFrontier(as.timeSeries(Rendimientos),spec=markov,constraints )
Frontera
Evaluación Página 8
Escribir el nombre de la asignatura
frontierPlot(Frontera)
grid()
tangencyPoints(Frontera, pch = 19, col = "red", cex=2)
tangencyLines(Frontera, col="grey", pch=19, cex=2)
minvariancePoints(Frontera, col="blue", pch=19, cex=2)
monteCarloPoints(Frontera, mCsteps=2000, col="#0098D5", cex=0.001)
Frontera Eficiente
Pesos de los portafolios
col <- qualiPalette(ncol(Rendimientos), "Pastel1")
weightsPlot(Frontera, col=col)
efPortfolio <- efficientPortfolio(as.timeSeries(Rendimientos),markov,constraints)
efPortfolio
Portafolio Tangente
tgPortfolio <- tangencyPortfolio(as.timeSeries(Rendimientos),markov,constraints)
tgPortfolio
Participación por portafolio:
Composición del Portafolio Eficiente
weightsPie(efPortfolio, col=col )
mtext(text = "Portafolio eficiente", side = 3, line = 1.5,
font = 2, cex = 0.7, adj = 0)
weightsPie(tgPortfolio, col=col)
mtext(text = "Portafolio tangente", side = 3, line = 1.5,
font = 2, cex = 0.7, adj = 0)
Por:
Jesús Benjamín Zerpa, Economista. [email protected]
Evaluación Página 9