An analysis on Commercial Bank Failures

Francisca Dias

Table of Contents

This report lists each failure of a commercial bank, savings association, and savings bank since the establishment of the FDIC in 1933.

This dataset goes from 1934 till 2017.

Each record includes the institution name and FIN number, institution and charter types, location of headquarters (city and state), effective date, insurance fund and certificate number, failure transaction type, total deposits and total assets last reported prior to failure (in thousands of dollars), and the estimated cost of resolution.

Data on estimated losses are not available for FDIC insured failures prior to 1986 or for FSLIC insured failures from 1934-88.

In this dataset, 70% of all Financial Institutions are Commercial Bank.

The majority of them were acquired afterwards.

Most of these failures occurred during the S&L crisis.

The highest amount estimated loss belongs to IndyMac Bank that reported 12 Billion in losses.

This dataset can be found here.

In [1]:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import seaborn as sns
import numpy as np
plt.style.use('fivethirtyeight')
In [2]:
banks = pd.read_csv('banks.csv')
In [3]:
banks.head(2)
Out[3]:
Financial Institution Number Institution Name Institution Type Charter Type Headquarters Failure Date Insurance Fund Certificate Number Transaction Type Total Deposits Total Assets Estimated Loss (2015)
0 NaN BANK OF AMERICA TRUST CO. COMMERCIAL BANK STATE PITTSBURGH, PA 4/19/1934 FDIC NaN PAYOUT 1064 1435.0 NaN
1 NaN FON DU LAC STATE BANK COMMERCIAL BANK STATE EAST PEORIA, IL 5/28/1934 FDIC NaN PAYOUT 238 374.0 NaN

In this dataset, 70% of all Financial Institutions are Commercial Bank.

When these Financial Institutions went bankrupt, the majority (70%) was acquired. The rest 30% was as payout, transfer, change management and privatization.

Number of Institutions by Type

In [4]:
banks['Institution Type'].value_counts()
Out[4]:
COMMERCIAL BANK        2465
SAVINGS ASSOCIATION     691
SAVINGS BANK            328
Name: Institution Type, dtype: int64

Number of Charter by Type

In [5]:
banks['Charter Type'].value_counts()
Out[5]:
STATE            2033
FEDERAL           760
FEDERAL/STATE     691
Name: Charter Type, dtype: int64

Number of Insurance Fund by Type, and description

In [6]:
banks['Insurance Fund'].value_counts()
# BIF Bank Insurance Fund 
# FDIC Federal Deposit Insurance corporation
# DIF Deposit Insurance Fund 
# FSLIC Federal Savings and Loan Insurance Corporation
Out[6]:
FDIC     1502
RTC       746
BIF       576
DIF       521
FSLIC     133
SAIF        6
Name: Insurance Fund, dtype: int64

Type of Transactions that was done once the Institution Failed

In [7]:
banks['Transaction Type'].value_counts()
Out[7]:
ACQUISITION      2462
PAYOUT            581
TRANSFER          402
MANAGEMENT         37
PRIVATIZATION       2
Name: Transaction Type, dtype: int64

What is the Institution Type that fails most?

What is the Charter Type that fails most?

What is the most common transaction type after bank fails?

In [8]:
print('Institution Type that fails most:',banks['Institution Type'].value_counts().index[0])
print('Charter Type that fails most:',banks['Charter Type'].value_counts().index[0])
print('Most common transaction type after bank fails:',banks['Transaction Type'].value_counts().index[0])
Institution Type that fails most: COMMERCIAL BANK
Charter Type that fails most: STATE
Most common transaction type after bank fails: ACQUISITION

Change to date type

In [9]:
banks['Failure Date'] = pd.to_datetime(banks['Failure Date'])

Include Year and Month to the dataset

In [10]:
banks['year'], banks['month'] = banks['Failure Date'].dt.year, banks['Failure Date'].dt.month

The aftermath of the savings and loan crisis (S&L crisis) of the 1980s and 1990s is very clear in the graphic below. During that period, 1,043 financial institutions went bankrupt.

It is interesting to see that the impact of the 2008 financial crisis was weaker than the S&L crisis in terms of commercial banks failures.

In [11]:
fail_trend=pd.crosstab(banks.year,banks["Institution Type"])
fail_trend.plot(color=sns.color_palette('Set2',12), figsize=(15,8))
fig=plt.gcf()
plt.title('Chronological map of Institution failures, by type', fontsize=20)
plt.ylabel('Number of Institutions Failures')
plt.xlabel('Year')
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
fig.set_size_inches(18,6)
plt.show()

The year 1989 registered more failures, followed by 1990 and 1991.

In [12]:
plt.subplots(figsize=(15,8))
sns.countplot('year',data=banks,palette='RdBu_r', edgecolor=sns.color_palette('dark',7),order=banks['year'].value_counts().index)
plt.title('Bank failures ordered by size and year', fontsize=20)
plt.ylabel('Number of Institutions Failures')
plt.xlabel('Year')
plt.xticks(fontsize=10)
plt.yticks(fontsize=10)
plt.xticks(rotation=90)
plt.show()

Add a column with the state in which the Institution has its headquarters

In [13]:
banks["state"] = banks["Headquarters"].astype(str).str[-2:]

Most of these commercial banks had its headquarteres in Texas.

Then follows the states of California, Illinois and Florida.

In [14]:
plt.subplots(figsize=(15,8))
sns.countplot('state',data=banks,palette='inferno',edgecolor=sns.color_palette('dark',7),order=banks['state'].value_counts()[:10].index)
plt.xticks(rotation=90)
plt.title('Bank failures ordered by State', fontsize=20)
plt.ylabel('Number of Institutions Failures')
plt.xlabel('State')
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.show()

As said previouslly, most of this dataset is represent by Commercial Banks, followed by savings association and savings bank.

In [15]:
cmap = sns.diverging_palette(220, 15, as_cmap=True)
product_size = banks.groupby(['Institution Type']).size()
ax = product_size.plot.pie(y='product', figsize=(8, 8), colormap=cmap, autopct='%1.0f%%',pctdistance=0.5, labeldistance=1.2)
handles, labels = ax.get_legend_handles_labels()
lgd = ax.legend(handles, labels, bbox_to_anchor=(1.3, 0.8), loc=2, borderaxespad=0., fontsize=12)

plt.ylabel(' ')
plt.title('Failures Proportion by Institution type', fontsize=20)
plt.show();

When it comes to monetary losses, the Washington Mutual Bank had the highest deposits (188 Billion) and assets (307 Billion).

The highest amount estimated loss belongs to IndyMac Bank that reported 12 Billion in losses.

In [16]:
print('The highest amount in deposits was',banks['Total Deposits'].max(),
      'in the',banks.loc[banks['Total Deposits'].idxmax()]['Institution Name'])
print('The highest amount in assets was',banks['Total Assets'].max(),
      'in the',banks.loc[banks['Total Assets'].idxmax()]['Institution Name'])
print('The highest amount lost in Estimated Losses was',banks['Estimated Loss (2015)'].max(),
      'in the',banks.loc[banks['Estimated Loss (2015)'].idxmax()]['Institution Name'])
The highest amount in deposits was 188260793 in the WASHINGTON MUTUAL BANK
The highest amount in assets was 307021614.0 in the WASHINGTON MUTUAL BANK
The highest amount lost in Estimated Losses was 12438005.0 in the INDYMAC BANK F.S.B
In [17]:
estimated_losses = banks.groupby(['year'])[["Estimated Loss (2015)", 
                                                           "Total Assets", "Total Deposits"]].sum()
In [18]:
pd.set_option('display.float_format', lambda x: '%.3f' % x)
In [19]:
estimated_losses.describe()
Out[19]:
Estimated Loss (2015) Total Assets Total Deposits
count 28.000 81.000 82.000
mean 6330238.393 16648063.642 12736831.744
std 11804341.989 53736710.003 38357100.731
min 3917.000 351.000 316.000
25% 164752.000 12324.000 12473.250
50% 745550.500 170099.000 150252.500
75% 6897055.750 2872720.000 2233443.750
max 53353918.000 371945480.000 234321715.000

I will log the values of Assets, Deposits and Estimated Losses so I can accomodate skewness towards large values.

As we can see in the graph above, the minimum loss is only about 316 thousand, whereas the maximum is 371 Billion.

In [20]:
estimated_losses['Estimated Loss (2015)'] = np.log(estimated_losses['Estimated Loss (2015)'])
estimated_losses['Total Assets'] = np.log(estimated_losses['Total Assets'])
estimated_losses['Total Deposits'] = np.log(estimated_losses['Total Deposits'])
In [21]:
estimated_losses.plot(color=sns.color_palette('Set2',12),figsize=(15,8))
fig=plt.gcf()
plt.title('Chronological map of Assets, Deposits and Estimated Losses', fontsize=14)
plt.ylabel('Lof of Losses')
plt.xlabel('Year')
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
fig.set_size_inches(18,6)
plt.show()

Below are the commercial banks that reported to be bankrupt in 2008 and the institutions that acquired them.

In [22]:
banks_2008 = banks[banks['year'] == 2008]

Below are the institutions that were bankrupted and who acquired its assets:

  • DOUGLASS NATIONAL BANK : acquired by Liberty Bank and Trust Co.
  • HUME BANK: acquired by Security Bank.
  • ANB FINANCIAL NATIONAL ASSOCIATION : acquired by Pulaski Bank & Trust Company.
  • FIRST INTEGRITY BANK, N.A. : acquired by S&T Bank.
  • INDYMAC BANK F.S.B : acquired by IndyMac Federal Bank.
  • FIRST NATIONAL BANK OF NEVADA : acquired by Mutual of Omaha Bank.
  • FIRST HERITAGE BANK N.A.: acquired by Community Bank, National Association.
  • FIRST PRIORITY BANK : acquired by SunTrust Banks Inc.
  • THE COLUMBIAN BANK AND TRUST COMPANY: acquired by Citizens Bank & Trust Co.
  • INTEGRITY BANK : acquired by S&T Bank.
  • SILVER STATE BANK : acquired by Nevada State Bank.
  • AMERIBANK, INC. : acquired by The Citizens Savings Bank.
  • WASHINGTON MUTUAL BANK : acquired by PMorgan Chase Bank.
  • MERIDIAN BANK : acquired by UMB Bank.
  • MAIN STREET BANK : acquired by Busey Bank.
  • ALPHA BANK & TRUST : acquired by Stearns Bank.
  • FREEDOM BANK : acquired by Riverside Community Bank.
  • SECURITY PACIFIC BANK: acquired by Pacific Western Bank.
  • FRANKLIN BANK, SSB : acquired by Prosperity Bank.
  • PFF BANK & TRUST : acquired by U.S. Bank National Association.
  • DOWNEY SAVINGS AND LOAN ASSOCIATION, F.A. : acquired by U.S. Bank National Association.
  • THE COMMUNITY BANK : acquired by WesBanco Bank.
  • FIRST GEORGIA COMMUNITY BANK : acquired by State Bank and Trust Company.
  • SANDERSON STATE BANK : acquired by Your Community Bank.
  • HAVEN TRUST BANK : acquired by First Southern Bank.