Analýza krachujúcich bánk v USA (FDIC Dataset)

Author

Karen Paštrnáková

Úvod a výber databázy

V rámci tohto zadania som si vybrala dataset obsahujúci údaje o zlyhaniach a krachoch bankových inštitúcií v USA, ktoré spravuje organizácia FDIC (dataset ekonometria.csv). Tento dataset som zvolila preto, lebo obsahuje časový rad údajov zoradených v čase, čo mi umožní sledovať vývoj bankrotov a ich finančných ukazovateľov (ako sú aktíva a depozitá) v jednotlivých rokoch.

Cieľom tohto zadania je naučiť sa správne importovať dáta, vyčistiť nekonzistencie v názvoch premenných, skontrolovať chýbajúce hodnoty a vytvoriť základné sumarizačné tabuľky a grafy.

ČASŤ 1: IMPORT ÚDAJOV

Text:

V prvej časti si načítam náš CSV súbor do prostredia R. Keďže ide o súbor oddelený bodkočiarkami a obsahuje textové hodnoty, použijem funkciu read.csv() a ošetrím si aj prípadné chýbajúce hodnoty (NA).

# Načítanie CSV súboru do premennej udaje1
udaje1 <- read.csv(
  "dataset ekonometria.csv",
  header = TRUE,
  sep = ";",
  na.strings = c("", "NA", " "),
  stringsAsFactors = FALSE,
  fileEncoding = "UTF-8-BOM"
)

# Kontrola prvých riadkov databázy
head(udaje1)
  Year              Bank.Name           City State        Press.Release..PR.
1 2008 Washington Mutual Bank      Henderson   NV                 PR-85-2008
2 2023    First Republic Bank  San Francisco    CA               PR-034-2023
3 2023    Silicon Valley Bank    Santa Clara    CA  PR-019-2023, PR-023-2023
4 2023         Signature Bank       New York    NY PR-018-2023,  PR-021-2023
5 2008           IndyMac Bank       Pasadena    CA                PR-56-2008
6 2009          Colonial Bank     Montgomery    AL               PR-143-2009
  Closing.Date.Orig Approx..Asset..Millions. Approx..Deposit..Millions.
1         25-Sep-08                  307 000                    188 000
2          1-May-23                  229 100                    103 900
3         10-Mar-23                  209 000                    175 400
4         12-Mar-23                  110 400                     88 600
5         11-Jul-08                   32 010                     19 060
6         14-Aug-09                   25 000                     20 000
    Approx..Asset Approx..Deposit
1 307 000 000 000 188 000 000 000
2 229 100 000 000 103 900 000 000
3 209 000 000 000 175 400 000 000
4 110 400 000 000  88 600 000 000
5  32 010 000 000  19 060 000 000
6  25 000 000 000  20 000 000 000
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             Acquirer...Transaction
1                                                                                                                                                                                                                                                                                                                                                                               In a transaction facilitated by the FDIC, JPMorgan Chase acquired the banking operations of Washington Mutual Bank, and agreed to assume all deposits (approximately $188 billion).
2                                                                                                                                                                                                                                                                                                                                                                                                                              JPMorgan Chase Bank, National Association, to assume all of the deposits and substantially all of the assets of First Republic Bank.
3 To protect depositors, on Monday, March 13, 2023, the FDIC transferred all the deposits of Silicon Valley Bank to Silicon Valley Bridge Bank, N.A. a full-service 'bridge bank' that was operated by the FDIC as it marketed the institution to potential bidders. On March 26, 2023, the FDIC entered into a purchase and assumption agreement for all deposits and loans of Silicon Valley Bridge Bank, N.A., with First–Citizens Bank & Trust Company, Raleigh, NC. As part of this transaction Silicon Valley Bridge Bank, N.A, was placed into receivership.
4                                                                                                                                 On Sunday, March 12, 2023, Signature Bank, New York, NY was closed by the New York State Department of Financial Services, which appointed the FDIC as Receiver. On Sunday, March 19, 2023, FDIC entered into a purchase and assumption agreement for substantially all deposits and certain loan portfolios with Flagstar Bank, NA, Hicksville, NY, a wholly owned subsidiary of New York Community Bancorp, Inc., Westbury, NY.
5                                                                                                                                                                                                                                                                                                                                                                                         Non-brokered insured deposits and substantially all of the assets were transferred to IndyMac Federal Bank, F.S.B., Pasadena, California. The FDIC was named Conservator.
6                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Branch Banking and Trust Company (BB&T), Winston-Salem, NC, has agreed to assume all deposits.

ČASŤ 2: ÚPRAVA NÁZVOV PREMENNÝCH

Text: Pôvodné názvy stĺpcov v súbore obsahujú medzery a špeciálne znaky, čo by mi neskôr robilo problémy pri písaní kódu a analýze, pretože v R-ku nesmú byť v názvoch premenných medzery. Pomocou knižnice janitor a funkcie abbreviate si názvy skrátim a upravím do korektného tvaru.


library(dplyr)
library(janitor)

# Uloženie pôvodných názvov pre porovnanie
old_names <- names(udaje1)

# Vyčistenie a skrátenie názvov stĺpcov
udaje1 <- udaje1 %>% clean_names()
udaje1 <- udaje1 %>% rename_with(~ abbreviate(.x, strict = FALSE))
names(udaje1) <- make.unique(names(udaje1))

# Vytvorenie tabuľky pre porovnanie starých a nových názvov
comparison <- data.frame(
  Original_Name = old_names,
  Shortened_Name = names(udaje1)
)
print(comparison)
                Original_Name Shortened_Name
1                        Year           year
2                   Bank.Name           bnk_
3                        City           city
4                       State           stat
5          Press.Release..PR.           pr__
6           Closing.Date.Orig           cl__
7    Approx..Asset..Millions.       apprx_s_
8  Approx..Deposit..Millions.       apprx_d_
9               Approx..Asset        apprx_s
10            Approx..Deposit        apprx_d
11     Acquirer...Transaction           acq_

ČASŤ 3: Kontrola chýbajúcich hodnôt

Text:

Predtým, než začnem s tvorbou tabuľok a grafov, skontrolujem, či sa v databáze nachádzajú nejaké chýbajúce hodnoty (NA). Využijem na to základný súčet chýbajúcich hodnôt v stĺpcoch a grafickú vizualizáciu pomocou knižnice VIM.

library(mice)

Attaching package: 'mice'
The following object is masked from 'package:stats':

    filter
The following objects are masked from 'package:base':

    cbind, rbind
library(VIM)
Loading required package: colorspace
Loading required package: grid
VIM is ready to use.
Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues

Attaching package: 'VIM'
The following object is masked from 'package:datasets':

    sleep
# Zistenie počtu chýbajúcich hodnôt v jednotlivých stĺpcoch
colSums(is.na(udaje1))
    year     bnk_     city     stat     pr__     cl__ apprx_s_ apprx_d_ 
       0        0        1        0        0        0        0        0 
 apprx_s  apprx_d     acq_ 
       0        0        0 
# Grafická vizualizácia chýbajúcich údajov
aggr(
  udaje1, 
  bars = FALSE, 
  col = c('navyblue', 'red'), 
  numbers = TRUE, 
  sortVars = TRUE
)


 Variables sorted by number of missings: 
 Variable       Count
     city 0.001763668
     year 0.000000000
     bnk_ 0.000000000
     stat 0.000000000
     pr__ 0.000000000
     cl__ 0.000000000
 apprx_s_ 0.000000000
 apprx_d_ 0.000000000
  apprx_s 0.000000000
  apprx_d 0.000000000
     acq_ 0.000000000

ČASŤ 4: Vytvorenie sumarizačnej tabuľky

Text: Pre hlbší prehľad o dátach som vytvoril sumarizačnú tabuľku. Najprv si upravím stĺpec s aktívami na číselný formát a následne pomocou knižnice dplyr vypočítam základné štatistiky (počet, priemer, smerodajnú odchýlku, min, medián a max) pre aktíva skrachovaných bánk v rokoch 2008 až 2015. Tabuľku formátujem cez kableExtra.

library(knitr)
library(kableExtra)

Attaching package: 'kableExtra'
The following object is masked from 'package:dplyr':

    group_rows
# Úprava textového stĺpca s aktívami na číselný typ (v miliónoch USD)
udaje1 <- udaje1 %>%
  mutate(assets_mil = as.numeric(gsub("[^0-9.]", "", apprx_s)))

# Výpočet štatistík pomocou dplyr
bank_stats <- udaje1 %>%
  filter(!is.na(assets_mil), year >= 2008 & year <= 2015) %>%
  group_by(year) %>%
  summarise(
    n      = n(),
    mean   = mean(assets_mil, na.rm = TRUE),
    sd     = sd(assets_mil, na.rm = TRUE),
    min    = min(assets_mil, na.rm = TRUE),
    median = median(assets_mil, na.rm = TRUE),
    max    = max(assets_mil, na.rm = TRUE),
    .groups = "drop"
  )

# Vykreslenie štylizovanej tabuľky
bank_stats %>%
  kable(
    digits = 2, 
    caption = "Základné štatistiky aktív skrachovaných bánk (2008–2015)",
    col.names = c("Rok", "Počet bánk", "Priemer", "Sm. odchýlka", "Min", "Medián", "Max")
  ) %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed")) %>%
  column_spec(1, bold = TRUE) %>%
  row_spec(0, bold = TRUE, background = "#f2f2f2")
Základné štatistiky aktív skrachovaných bánk (2008–2015)
Rok Počet bánk Priemer Sm. odchýlka Min Medián Max
2008 25 14943552000 61209243576 18700000 561100000 3.070e+11
2009 140 1220781429 3060015244 13400000 285950000 2.500e+10
2010 157 614738854 1238969052 6300000 252700000 1.194e+10
2011 92 391436957 526694410 37600000 199900000 3.000e+09
2012 51 236388235 234788791 19600000 164300000 1.185e+09
2013 24 254237500 617986037 20200000 98900000 3.100e+09
2014 18 171577778 224931962 18800000 84100000 9.544e+08
2015 8 840937500 2047010607 4900000 84850000 5.900e+09

ČASŤ 5: Vizualizácia údajov (Graf)

Tex: V záverečnej časti som si pripravené dáta vizualizoval pomocou stĺpcového grafu. Graf mi prehľadne ukazuje, v ktorých rokoch bolo najviac zlyhaných bankových inštitúcií, pričom najvýraznejšia vlna krachov je viditeľná najmä v období finančnej krízy okolo roku 2008.

library(ggplot2)

# Vytvorenie prehľadného stĺpcového grafu
ggplot(udaje1, aes(x = factor(year))) +
  geom_bar(fill = "steelblue", color = "black") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(
    title = "Počet skrachovaných bánk v USA podľa rokov",
    x = "Rok",
    y = "Počet bánk"
  )

Quarto

Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.

Running Code

When you click the Render button a document will be generated that includes both content and the output of embedded code. You can embed code like this: