Análisis de comportamiento financiero por banco

El presente análisis se basa en 100 observaciones de bancos, en las cuales se estudian variables como cuentas activas, monto de préstamos y tasa de morosidad, con el fin de evaluar su desempeño financiero.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
datos <- read.csv("datos_negocios_adicional_2_banca.csv")
head(datos)
##     Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad
## 1 Banco B           27710        388558.8           5.23
## 2 Banco B          407173        414262.1           2.05
## 3 Banco A           64698        319015.4           6.48
## 4 Banco A          244139        349751.0           7.16
## 5 Banco C          459014        144663.4           8.01
## 6 Banco C          491145        496513.3           0.96
# Resumen estadístico de las variables numéricas
summary(datos)
##     Banco           Cuentas_Activas  Monto_Prestamos  Tasa_Morosidad 
##  Length:100         Min.   : 11219   Min.   : 18200   Min.   :0.510  
##  Class :character   1st Qu.:133573   1st Qu.:140559   1st Qu.:2.710  
##  Mode  :character   Median :268280   Median :274116   Median :5.025  
##                     Mean   :261842   Mean   :269174   Mean   :5.056  
##                     3rd Qu.:394820   3rd Qu.:387324   3rd Qu.:7.165  
##                     Max.   :496139   Max.   :496513   Max.   :9.750

El resumen estadístico muestra que el promedio de cuentas activas es de 261,842, con un monto promedio de préstamos de 269,174 y una tasa de morosidad cercana al 5.06%, lo que indica un nivel moderado de riesgo en los bancos analizados.

library(ggplot2)

ggplot(datos, aes(x = Banco, y = Monto_Prestamos, fill = Banco)) +
  geom_boxplot() +
  labs(title = "Distribución del monto de préstamos por banco",
       x = "Banco",
       y = "Monto de préstamos") +
  theme_minimal()

El gráfico muestra la variabilidad en el monto de préstamos entre los bancos. Se observan diferencias tanto en la mediana como en la dispersión de los datos, lo que indica que algunos bancos presentan mayor variabilidad y distintos niveles en la colocación de crédito.

morosidad_banco <- datos %>%
  group_by(Banco) %>%
  summarise(Morosidad_Promedio = mean(Tasa_Morosidad))

print(morosidad_banco)
## # A tibble: 4 × 2
##   Banco   Morosidad_Promedio
##   <chr>                <dbl>
## 1 Banco A               5.33
## 2 Banco B               4.64
## 3 Banco C               5.22
## 4 Banco D               5.06

En el Banco A, la tasa de morosidad promedio es de 5.33%.

En el Banco B, la tasa de morosidad promedio es de 4.64%.

En el Banco C, la tasa de morosidad promedio es de 5.22%.

En el Banco D, la tasa de morosidad promedio es de 5.06%.

Conclusión: El Banco A presenta el mayor nivel de morosidad, mientras que el Banco B tiene el menor, lo que indica diferencias en el riesgo crediticio entre los bancos.

datos$Morosidad <- ifelse(datos$Tasa_Morosidad > 5, 1, 0)

ggplot(datos, aes(x = Banco, fill = as.factor(Morosidad))) +
  geom_bar(position = "dodge") +
  labs(title = "Número de bancos según nivel de morosidad",
       x = "Banco",
       y = "Frecuencia",
       fill = "Morosidad") +
  scale_fill_manual(values = c("lightblue", "coral"),
                    labels = c("Baja", "Alta")) +
  theme_minimal()

El gráfico muestra la distribución de casos con morosidad alta y baja en cada banco, permitiendo identificar diferencias en el comportamiento del riesgo crediticio entre las entidades

# Crear variable tipo 0/1 como en el ejemplo
datos$Morosidad <- ifelse(datos$Tasa_Morosidad > 5, 1, 0)

ggplot(datos, aes(x = as.factor(Morosidad), y = Monto_Prestamos, fill = as.factor(Morosidad))) +
  geom_boxplot() +
  labs(title = "Distribución del monto de préstamos según nivel de morosidad",
       x = "Nivel de morosidad",
       y = "Monto de préstamos") +
  scale_x_discrete(labels = c("0" = "Baja", "1" = "Alta")) +
  scale_fill_manual(values = c("lightblue", "coral")) +
  theme_minimal()

Los casos con morosidad baja tienden a presentar montos de préstamos más altos.

La mediana del monto de préstamos es mayor en el grupo con morosidad baja.

Existe mayor dispersión en los montos de préstamos cuando la morosidad es baja.

ggplot(datos, aes(x = Monto_Prestamos)) +
  geom_histogram(binwidth = 50000, fill = "skyblue", color = "black", alpha = 0.7) +
  geom_density(aes(y = ..density.. * 50000), color = "blue", size = 1) +
  labs(title = "Distribución del monto de préstamos",
       x = "Monto de préstamos",
       y = "Frecuencia") +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

El histograma muestra la distribución del monto de préstamos, donde se observa que los valores están distribuidos a lo largo de un amplio rango, sin una concentración marcada en un solo intervalo, lo que indica una alta variabilidad en los niveles de crédito.

Continua proxima clase…