Elaborado por: Lic. Roger Andy Miranda Tarija
Economista y Analista de datos
▶️ YouTube
🎵 TikTok
Los datos de sección cruzada (\(i\)) corresponden a aquellos que son tomados en un tiempo dado y a una población dada: sujetos, empresas, gobiernos, países, entre otros, etc.; también son llamados datos de corte transversal. Para ello y a partir de Moré (2005), se realizará la réplica de una estimación econométrica con datos para 34 fondos de inversión, donde se considerarán dos variables: la dependiente corresponde al Retorno (\(\hat{R}_i\)), medido como el rendimiento promedio del período; y una variable explicativa medida por el riesgo, el cual está calculado mediante la desviación estándar del rendimiento de cada fondo respectivo (\(\sigma_i\)). Este tipo de modelos se constituye en un análisis de regresión simple toda vez que únicamente incluye una sola variable independiente. En consecuencia, se desea estimar el siguiente modelo:
\[\hat{R}_i = \hat{\alpha}_0 + \hat{\alpha}_1 \sigma_i + \hat{\epsilon}_i \quad \forall i = 1, 2, ..., 34 \tag{1}\]
Hipótesis: a mayor riesgo, mayor retorno (rendimiento); \(\hat{\alpha}_1 > 0\) y corresponde al parámetro pendiente; mientras \(\hat{\alpha}_0\) corresponde a la constante o intercepto.
Se utilizará la base de datos en Excel con el nombre de: data_riesgo_retorno.xlsx, con la importación respectiva desde la ubicación del archivo y se le asignará el nombre de “datos”.
Copiar la dirección del Excel y reemplazar en la ruta de la lectura de “read_excel()” para la parte de importación de los datos; también al momento de copiar cambiar “\” por “/”.
# 1. Importar datos
library(readxl)
# Ruta corregida con slashes "/"
datos <- read_excel("C:/Users/LENOVO/Downloads/Relación Riesgo y Rendimiento/data_riesgo_retorno.xlsx")
names(datos)## [1] "Retorno" "Riesgo"
## # A tibble: 15 × 2
## Retorno Riesgo
## <dbl> <dbl>
## 1 15.6 14
## 2 9 8.2
## 3 10.5 12.5
## 4 11 15.3
## 5 12.9 14.6
## 6 13.4 11.1
## 7 14.8 15.8
## 8 15.7 18.3
## 9 11.9 12.7
## 10 14.3 20.4
## 11 14.3 14.9
## 12 11.5 10.9
## 13 14.2 18.2
## 14 14.6 17.7
## 15 16 22.5
La función attach() perimte adjuntar la base de datos al lenguaje de programación; mientras la función names() muestra el nombre de las variables; finalmente, la función head() muestra los primeros datos.
De forma seguida instalamos las Paqueterias y librerías utilizadas en RStudio, de forma inicial con install.packages(“…”), tanto para análisis estadístico como para análisis econométrico.
Nota: Verificar antes con library() para evitar volver a instalar nuevamente la paqueteria, en caso de que no este instalado eliminar “#” antes para habilitar install.packages().
#2. Instalacion de paqueterias
#2.A Paqueterma y librerma estadmstica
# install.packages("psych")
library(psych)
#2.B Paquetermas y librermas para analisis economitrico
# install.packages("lmtest") #<-Pruebas de especificacisn para modelos de regresisn lineal
# install.packages("PerformanceAnalytics")# Econometric tools for performance and risk analysis
# install.packages("tseries") #<-Para series de tiempo
# install.packages("car") #<-acompaqante de funciones de regresisn
library(lmtest)
library(PerformanceAnalytics)
library(tseries)
library(car)Cabe recalcar que es normal que las librarias presentes algunos mensajes adicionales al habilitar la paqueteria.
De forma seguida, un procedimiento usual es realizar un gráfico de diagrama de dispersión entre las variables, con elipses entre el 50% y 90% de las observaciones. Asimismo, se realiza un análisis de correlación para variables Retorno y Riesgo respectivamente.
# Analisis de los datos
# Correlaciones, diagramas de dispersion y graficos
scatterplot(Retorno~Riesgo, regLine=TRUE, smooth=FALSE, boxplots='xy',
ellipse=list(levels=c(.5, .9)), xlab="Riesgo", ylab="Retorno",
main="GRÁFICA 1: DIAGRAMA DE DISPERSION \nRiesgo & Retorno")En la gráfica 1, se puede apreciar la relación directa entre el riesgo y el retorno. El circulo más oscuro representa la concentración del 50% de los datos, mientras el circulo más grande comprende el 90% de las observaciones.
## Retorno Riesgo
## Retorno 1.0000000 0.7244311
## Riesgo 0.7244311 1.0000000
# Diagrama de correlacion
chart.Correlation(datos[1:2],
main = "GRÁFICA 2: ANÁLISIS DE CORRELACIÓN")Acorde a la gráfica 2, existe una asociación lineal
positiva, de grado fuerte y estadisticamente significativa entre el
riesgo y el entorno: +1% de variación del riesgo, se
relaciona directamente con +0.72% de variación en el
retorno. Acorde a Mejía (2013, Pg. 18), la correlación
(| r > 0.70 |) se considera como una asociación
fuerte; (| r < 0.50 |) se considera una relación
débil y moderada en niveles intermedios (| 0.50 < r < 0.70
|)
Veamos un poco mas de los datos por medio de los 4 momentos estadisticos:
## vars n mean sd median trimmed mad min max range skew kurtosis
## Retorno 1 34 13.73 2.5 14.00 13.61 3.34 9.0 18.6 9.6 0.22 -0.92
## Riesgo 2 34 16.06 4.3 15.85 16.08 5.11 8.2 24.5 16.3 -0.02 -1.11
## se
## Retorno 0.43
## Riesgo 0.74
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
# Histograma de Retorno
ggplot(data = datos, aes(x = Retorno)) +
geom_histogram(aes(), bins = 10, color = "black", fill= "green") +
labs(title = "Histograma de Retorno", x = "Retorno", y = "Frecuencia") +
theme_light()## Error : The fig.showtext code chunk option must be TRUE
ggplot(data = datos, aes(y = Retorno)) +
geom_boxplot(fill = "lightgreen", color = "black") +
labs(title = "Boxplot de Retorno", y = "Retorno") +
theme_light()## Error : The fig.showtext code chunk option must be TRUE
ggplot(data = datos, aes(x = Retorno)) +
geom_histogram(aes(), bins = 10, color = "black", fill= "blue") +
labs(title = "Histograma de Riesgo", x = "Riesgo", y = "Frecuencia") +
theme_light()## Error : The fig.showtext code chunk option must be TRUE
ggplot(data = datos, aes(y = Retorno)) +
geom_boxplot(fill = "lightblue", color = "black") +
labs(title = "Boxplot de Riesgo", y = "Riesgo") +
theme_light()## Error : The fig.showtext code chunk option must be TRUE
## [1] 18.22764
## 10% 20% 30% 40% 50% 60% 70% 80% 90%
## 11.00 11.30 11.49 13.00 14.00 14.30 14.87 15.82 16.50
## 10% 20% 30% 40% 50% 60% 70% 80% 90%
## 10.93 11.98 13.06 14.92 15.85 18.02 18.45 20.10 21.43
## 25% 50% 75%
## 11.400 14.000 15.575
## 25% 50% 75%
## 12.550 15.850 19.575
## [1] 2.941176
## [1] 29.41176
## [1] 8.823529
## [1] 55.88235