Description
Accessing FDIC Bank Data.
Description
A system provides a set of functions for working with data from the Federal Deposit Insurance Corporation (FDIC), including retrieving financial data for FDIC-insured institutions and accessing the data taxonomy.
README.md
fdicdata
The fdicdata R package provides a set of functions for working with data from the Federal Deposit Insurance Corporation (FDIC), including retrieving financial data for FDIC-insured institutions and accessing the data taxonomy.
Installation
remotes::install_github("Visbanking/fdicdata",ref="main")
Examples
Taxonomy
dataTaxonomy("financial")
Institutions
# Getting all data
getInstitutionsAll()
# Get data for specific bank (name uses fuzzy match "Iland"~"Island")
getInstitution(name = "Bank of America", fields = c("NAME", "CITY", "STATE"))
Location
# Get location information for a bank with CERT number 3850
getLocation(3850)
# Get location information for a bank with CERT number 3850 and fields "NAME", "CITY", and "ZIP"
getLocation(3850, fields = c("NAME", "CITY", "ZIP"))
# Getting all location data for a bank.
getLocation(3850 ,fields = dataTaxonomy("location")$Name)
History
getHistory(CERT_or_NAME = 3850, c("INSTNAME","CERT","PCITY","PSTALP","PZIP5"))
getHistory("Iland",fields=c("INSTNAME","CERT","PCITY","PSTALP","PZIP5"),CERT=FALSE)
# Get data for specific bank (CERT_or_NAME uses fuzzy match "Iland"~"Island")
getHistory(CERT_or_NAME = "JP Morgan", fields =c("INSTNAME","CERT","PCITY","PSTALP","PZIP5"), CERT = FALSE)
Summary
getSummary(c("West Virginia", "Delaware", "Alabama"), c(2015, 2016), c("ASSET", "INTINC"))
Financial
library(fdicdata)
getFinancials(37,"ASSET")
getAllFinancials <- function(IDRSSD_or_CERT,metrics,limit=5){
all_financials_banks <- data.frame()
feds <- IDRSSD_or_CERT
n_feds <- length(feds)
for (j in 1:n_feds) {
i <- feds[j]
message(paste("Processing", i, "(", j, "of", n_feds, ")"))
retry <- 0
success <- FALSE
while (!success && retry < 3) {
tryCatch({
suppressWarnings({
all_financials_single_bank <- getFinancials(i, metrics, limit = limit)
})
all_financials_banks <- rbind(all_financials_single_bank, all_financials_banks)
message(paste(i, "added to data"))
success <- TRUE
}, error = function(e) {
message(paste("API rejected the request, retrying in 3 minutes..."))
Sys.sleep( sample(1:30, 1))
retry <<- retry + 1
})
}
if (!success) {
message(paste("Could not add", i, "to data after 3 tries"))
}
}
return(all_financials_banks)
}
financial_taxonomy <- dataTaxonomy("financial")
# FDIC Bank Find Suite API limits the data user can pull at once
getAllFinancials(c(37,242),financial_taxonomy$Name[1:100])
Failure
getFailures(c("CERT", "NAME", "FAILDATE", "CITY", "STATE"), range = c(2010, 2015))