Credit Crunch and Bank Failure
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model attempts to explain the 2007-2010 financial crisis by exploring the interaction between banks and consumers (borrowers). A common hypothesis is that the financial crisis occurred largely because of a burst in the housing bubble. A large number of borrowers were granted loans who should not have been. "Sub-prime mortgages" were used by banks when it was clear many of the people who took out these mortgages would be unable to pay them back. Therefore, when the inevitable happened and some borrowers defaulted on their loans, available credit went down as banks lost money.
Furthermore, this model tests the roll of bank interconnectivity in the financial collapse. Not only do banks vary in their willingness to take on high risk borrowers, they also vary in how many interbank loans they have taken or given. Another curious phenomenon of the financial crisis was how quickly the failure of one bank led to a cascading effect that took down other banks, in the form of loss of reserves due to interbank loans that were lost when a borrowing bank failed.
HOW IT WORKS
Borrowers attempt to seek loans from banks. They search for banks with a certain level of prestige - these banks are better connected and generally only serve more reliable borrowers. Banks deny or grant loans based on the borrower's perceived reliability at repaying the loan. If a borrower is unable to secure a loan, they lower their standards for how prestigious a bank they wish to borrow from.
When a loan has been established between a consumer and a bank, there is then a chance that the consumer either pays it back, with interest, or defaults on the loan, which causes the bank to lose a portion of its reserves. Once a bank's reserves go below 0, then the bank fails and all banks that it has taken an interbank loan from lose money from their reserves as well.
HOW TO USE IT
There are many setup settings for the model, but it should not seem intimidating. The number of banks can be set with bank-count, but it is generally only useful for simulating greater levels of bank connectivity.
The property neg-reliability-mod dictates how unreliable on a whole the population will be. A higher value leads to a population of consumers who are unlikely to be able to pay off their loans.
Bank-connectivity dictates how interconnected and thus interdependent the network of banks is. At the minimum, each bank will have granted one interbank loan to one other bank. Higher levels of interconnectivity represent more loans granted.
Reserve-amount helps determine how much money each bank has in its reserves to start.
Loan-amount determines how large the loans granted by the banks are. This can have the effect of exacerbating the negative effect of defaulting on loans.
If you think of bank-connectivity as a measure of the breadth of interdependent networking between banks, then you can think of interbank-loan-amount as determining the magnitude or importance of these interdependent links. The larger this amount, the more money a bank will lose when a bank it has granted a loan to fails.
Bank-risk-taking is an attempt to simulate the notion that banks might be more receptive to giving out bad loans (sub-prime mortgages). This helps explore the idea that a lack of regulation caused banks to give out loans they should not have. At a higher level of risk-taking, banks are more likely to give out loans they don't believe will be paid back.
The layout switch exists for purely aesthetic reasons. It uses the same code as the Preferential Attachment model for making the network easier to look at.
THINGS TO NOTICE
When watching the plots that show the number of remaining banks and the total amount of money lost in the financial crisis, pay attention to the slope of the line. The model fairly well matches with empirical data that suggests there is an accelerating or cascading effect of bank failures.
Also pay attention to how different configurations of interbank loans generated at setup can create different results despite the value for bank connectivity remaining the same. The sheer number of connections is important, but so is the layout of those connections.
THINGS TO TRY
By far the most interesting variable to play with is the bank-connectivity. Try varying this setting at different static amounts of neg-reliability-mod or bank-risk-taking. Why does this have such a large effect on bank failures compared changes to the commonly theorized causes of the financial crisis?
EXTENDING THE MODEL
This model is a simplification of the financial crisis and does not take into account how hedge funds work or the specific intricacies of interbank loans. One notable way to make the model more accurate would be to split up the bank's reserves into assets and liabilities and introducing the idea of external shocks to the system rather than having bad borrowers being the only catalysts for bank failure.
NETLOGO FEATURES
The procedure for determining what bank a consumer aims at borrowing from as well as whether the bank will grant a loan to that consumer relies heavily upon the "myself" function to compare properties between banks and consumers.
Directed links are necessary to represent interbank loans. Undirected links are inadequate for that task because they cannnot represent who is the lender and who is the borrower. This is not important for loans between banks and consumers because all of the loans go in one direction anyway.
RELATED MODELS
There are multiple models in the library that are relevant to this one, including a Bank Reserves model. However, these economic models tend to be in the unverified folder of the Social Science folder.
CREDITS AND REFERENCES
This section could contain a reference to the model's URL on the web if it has one, as well as any other necessary credits or references.
Comments and Questions
breed [banks bank] breed [consumers consumer] undirected-link-breed [loanlinks loanlink] directed-link-breed [interbankloans interbankloan] globals [totalloss] banks-own [ bank-reserves ;;the amount of money a bank has initial-reserves ;;initial reserves a bank has - used to calculate total losses of money from bank failure bank-prestige ;;this is a simplified property that denotes multiple characteristics of a bank. First of all, it denotes ;;a bank's standards for borrowers, basically whether or not a bank is willing to take on a high risk customer. The higher the value, the less likely. ;;Secondly, it is a measure of the bank's desirability to borrowers. They will seek a bank that is known to be more stable. ;;Finally, it denotes the level of connectivity the bank has with other banks, both in terms of loans taken and loans granted. This is because ;;prestigious banks tend to be well-connected with others. ] consumers-own [ reliability ;;a consumer's ability to pay back loans loan ;;the amount a consumer has taken out in loans from a bank consumer-standard ;;the higher this value, the more prestigious a bank the borrower will attempt to acquire a loan from. This value is presumed to be independent of one's ability to pay ;;back a loan, thus it is not correlated with reliability in this model. ] to setup ca setup-banks setup-consumers network-banks end to setup-banks create-banks bank-count [set bank-reserves random reserve-amount + 10 set shape "circle" set color red set bank-prestige random 100 move-to one-of patches set initial-reserves bank-reserves] ;;Although the banks are randomly placed spatially, this is only for the sake of appearance. It does not affect the model's performance as everything is done ;;with a network topology. end to setup-consumers create-consumers 100 + bank-count [set reliability random 100 - neg-reliability-mod ;;this is here to simulate the notion that the pool of lenders as a whole has gotten more unreliable, which is the case according to some economists set consumer-standard random 100 set shape "sheep" set color blue move-to one-of patches] ;;Same comment with banks applies here. For the sake of simplicity, spatial distance is not a consideration for consumers when choosing a bank. ;;Given that the banks heavily implicated in the financial crisis were large and ubiquitous, this is not an unreasonable assumption. end to network-banks ask banks [create-interbankloan-to one-of other banks] repeat bank-connectivity [ask banks [if random 100 < bank-prestige [create-interbankloan-to one-of other banks]]] ;;Every bank has at least one loan with another bank. An overall measure of connectivity is then used to determine how many additional loans exist between banks. end to go if not any? banks [stop] if not any? consumers [stop] ask banks [if bank-reserves <= 0 [bank-failure]] ;;banks fail when they're out of reserves ask consumers [seek-loan] ask consumers [check-loan] tick make-plot make-plot2 if layout? [layout] end to seek-loan if count my-loanlinks = 0 [network-with-bank] end to network-with-bank ;;this is the command that will make a consumer try to create a loan with a bank, depending on their preferences if count banks > 0 [ if loan = 0 [ask my-links [die] ifelse any? banks with [bank-prestige >= ([consumer-standard] of myself)] [ask one-of banks with [bank-prestige >= ([consumer-standard] of myself) ] [if random 100 + ([reliability] of myself) > (bank-prestige - bank-risk-taking) [create-loanlink-with myself]] set loan loan-amount] [set consumer-standard consumer-standard - 2]]] ;;standards lower over time as consumers realize they will not be able to find their ideal bank end to check-loan if count my-links > 0 [if random 100 > 75 [ifelse random 100 > reliability + 30 [if count my-links > 0 [ask one-of loanlink-neighbors [loseloan]set loan 0 die]] [ask loanlink-neighbors [regainloan] ask my-links [die] if random 100 > 50 [die]]]] ;;the random chance of dying is to gradually remove repeat-borrowers from the pool. ;;it isn't realistic that someone would take out repeated loans end to regainloan set bank-reserves bank-reserves + loan-amount + 1 ;;extra 1 here is to represent repaid interest on a loan end to loseloan set bank-reserves bank-reserves - loan-amount end to bank-failure ask out-link-neighbors [set bank-reserves bank-reserves - interbank-loan-amount set totalloss totalloss + initial-reserves] ;;As a bank fails, all banks it was taking loans from suffer as the loan ;;is defaulted upon die end to make-plot set-current-plot "bank count" set-current-plot-pen "default" plot count banks end to make-plot2 set-current-plot "total losses" set-current-plot-pen "default2" plot totalloss end ;;Following code is cannibalized from Preferential Attachment for the sake of making the network here look more aesthetically pleasing. ;; to layout ;; the number 3 here is arbitrary; more repetitions slows down the ;; model, but too few gives poor layouts repeat 3 [ ;; the more turtles we have to fit into the same amount of space, ;; the smaller the inputs to layout-spring we'll need to use let factor sqrt count turtles ;; numbers here are arbitrarily chosen for pleasing appearance layout-spring turtles links (1 / factor) (7 / factor) (1 / factor) display ;; for smooth animation ] ;; don't bump the edges of the world let x-offset max [xcor] of turtles + min [xcor] of turtles let y-offset max [ycor] of turtles + min [ycor] of turtles ;; big jumps look funny, so only adjust a little each time set x-offset limit-magnitude x-offset 0.1 set y-offset limit-magnitude y-offset 0.1 ask turtles [ setxy (xcor - x-offset / 2) (ycor - y-offset / 2) ] end to-report limit-magnitude [number limit] if number > limit [ report limit ] if number < (- limit) [ report (- limit) ] report number end
There is only one version of this model, created over 13 years ago by Binyang Xu.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.
Kainaat Bhaskar
Newer Version (Question)
Hi! I was wondering if you have a newer version of this model; I am using 6.1.1 and am unable to run it. Thank you!
Posted almost 4 years ago