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.

Intervalo de confianza para la media del monto de préstamos en el Banco A

Calcular un intervalo de confianza al 95% para la media poblacional del monto de préstamos en el Banco A. Interpretar el intervalo obtenido y evaluar si es posible hacer inferencias sobre el comportamiento financiero del banco.

Datos de la muestra:

n = 34 observaciones (Banco A)

Media muestral (X̄): Calculada con los datos de Monto_Prestamos

Desviación estándar muestral (s): Calculada con los datos

Nivel de confianza: 95%

datos_A <- filter(datos, Banco == "Banco A")
datos_A
##      Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad Morosidad
## 1  Banco A           64698       319015.39           6.48         1
## 2  Banco A          244139       349751.02           7.16         1
## 3  Banco A          243600       280172.31           1.78         0
## 4  Banco A          231870       473135.20           8.76         1
## 5  Banco A          369912       422449.02           7.97         1
## 6  Banco A          359537       404790.25           8.63         1
## 7  Banco A          417789       180354.83           4.34         0
## 8  Banco A          149986       472014.22           0.98         0
## 9  Banco A           64443       408187.88           5.03         1
## 10 Banco A          129004       277468.63           7.23         1
## 11 Banco A          117933       320597.36           8.48         1
## 12 Banco A           50560       202262.30           4.31         0
## 13 Banco A           24096       353849.14           6.70         1
## 14 Banco A          431383       345295.45           6.29         1
## 15 Banco A          222944       429564.92           2.25         0
## 16 Banco A          483511       485868.66           1.03         0
## 17 Banco A          480228       270762.72           2.14         0
## 18 Banco A          271756       289103.56           1.86         0
## 19 Banco A          431391        83857.66           9.75         1
## 20 Banco A           66849       340739.89           6.91         1
## 21 Banco A          210159       296238.56           9.71         1
## 22 Banco A          137574       256256.86           2.92         0
## 23 Banco A           97745        98635.71           9.04         1
## 24 Banco A          492901       360879.97           3.16         0
## 25 Banco A          222202       375457.33           3.78         0
## 26 Banco A          174369       279325.51           3.71         0
## 27 Banco A           56145       113974.57           6.26         1
## 28 Banco A          385191       280554.30           7.97         1
## 29 Banco A           13797       197700.11           1.66         0
## 30 Banco A          479547       207306.46           3.48         0
media_prestamos_A <- mean(datos_A$Monto_Prestamos)  
sd_prestamos_A <- sd(datos_A$Monto_Prestamos)  
n_A <- nrow(datos_A)  

error_media_A <- qt(0.975, df = n_A - 1) * sd_prestamos_A / sqrt(n_A)  

IC_media_A <- c(media_prestamos_A - error_media_A,
                media_prestamos_A + error_media_A)

cat("Media del monto de préstamos:", media_prestamos_A, "\n")
## Media del monto de préstamos: 305852.3
cat("Intervalo de confianza para la media poblacional del monto de préstamos en el Banco A:",
    IC_media_A, "\n")
## Intervalo de confianza para la media poblacional del monto de préstamos en el Banco A: 265645.6 346059

INTERPRETACION

El intervalo de confianza muestra que, con un nivel de confianza del 95%, la media poblacional del monto de préstamos del Banco A se encuentra entre 265,645.6 y 346,059. Esto indica que el promedio de los préstamos otorgados por el Banco A se mantiene dentro de un rango relativamente amplio, reflejando variabilidad en los datos analizados. Sin embargo, el intervalo permite realizar inferencias confiables sobre el comportamiento financiero del banco y estimar el valor promedio de los préstamos en la población.

Prueba de Hipótesis para la Media del Monto de Préstamos en el Banco A

El banco desea verificar si el promedio del monto de préstamos realizado en el Banco A es igual a 300.000 unidades monetarias. Para ello, se toma una muestra correspondiente a este banco y se realiza una prueba de hipótesis para la media poblacional de los préstamos.

Hipótesis

H0: μ = 300000 H1: μ ≠ 300000

Datos de la muestra:

n = 30 observaciones

X̄ = Media calculada con los datos de Monto_Prestamos

s = Desviación estándar calculada con los datos

Nivel de significancia: 5%

library(dplyr)

# Filtrar datos del Banco A
datos_A <- filter(datos, Banco == "Banco A")

datos_A
##      Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad Morosidad
## 1  Banco A           64698       319015.39           6.48         1
## 2  Banco A          244139       349751.02           7.16         1
## 3  Banco A          243600       280172.31           1.78         0
## 4  Banco A          231870       473135.20           8.76         1
## 5  Banco A          369912       422449.02           7.97         1
## 6  Banco A          359537       404790.25           8.63         1
## 7  Banco A          417789       180354.83           4.34         0
## 8  Banco A          149986       472014.22           0.98         0
## 9  Banco A           64443       408187.88           5.03         1
## 10 Banco A          129004       277468.63           7.23         1
## 11 Banco A          117933       320597.36           8.48         1
## 12 Banco A           50560       202262.30           4.31         0
## 13 Banco A           24096       353849.14           6.70         1
## 14 Banco A          431383       345295.45           6.29         1
## 15 Banco A          222944       429564.92           2.25         0
## 16 Banco A          483511       485868.66           1.03         0
## 17 Banco A          480228       270762.72           2.14         0
## 18 Banco A          271756       289103.56           1.86         0
## 19 Banco A          431391        83857.66           9.75         1
## 20 Banco A           66849       340739.89           6.91         1
## 21 Banco A          210159       296238.56           9.71         1
## 22 Banco A          137574       256256.86           2.92         0
## 23 Banco A           97745        98635.71           9.04         1
## 24 Banco A          492901       360879.97           3.16         0
## 25 Banco A          222202       375457.33           3.78         0
## 26 Banco A          174369       279325.51           3.71         0
## 27 Banco A           56145       113974.57           6.26         1
## 28 Banco A          385191       280554.30           7.97         1
## 29 Banco A           13797       197700.11           1.66         0
## 30 Banco A          479547       207306.46           3.48         0
# Cálculos básicos
media_prestamos_A <- mean(datos_A$Monto_Prestamos)  
sd_prestamos_A <- sd(datos_A$Monto_Prestamos)  
n_A <- nrow(datos_A)

# Mostrar resultados
cat("Media del monto de préstamos:", media_prestamos_A, "\n")
## Media del monto de préstamos: 305852.3
cat("Desviación estándar:", sd_prestamos_A, "\n")
## Desviación estándar: 107675.5
cat("Tamaño de muestra:", n_A, "\n")
## Tamaño de muestra: 30
# Prueba de hipótesis
prueba_hipotesis <- t.test(datos_A$Monto_Prestamos, mu = 300000)

prueba_hipotesis
## 
##  One Sample t-test
## 
## data:  datos_A$Monto_Prestamos
## t = 0.2977, df = 29, p-value = 0.7681
## alternative hypothesis: true mean is not equal to 3e+05
## 95 percent confidence interval:
##  265645.6 346059.0
## sample estimates:
## mean of x 
##  305852.3

INTERPRETACION

Los resultados obtenidos muestran que el promedio del monto de préstamos del Banco A es de 305,852.3, una cifra bastante cercana al valor planteado en la hipótesis nula (300,000). Además, el valor p de 0.7681 supera el nivel de significancia de 0.05, lo que indica que la diferencia encontrada no es lo suficientemente grande como para considerarse significativa desde el punto de vista estadístico. De igual forma, el intervalo de confianza calculado incluye el valor de 300,000, lo que respalda la idea de que este valor es coherente con el comportamiento promedio de los préstamos analizados. Los datos sugieren que el Banco A mantiene un promedio de préstamos estable y acorde con el valor propuesto inicialmente