Bank Reserves
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This program models the creation of money in an economy through a private banking system. As most of the money in the economy is kept in banks but only little of it needs to be used (i.e. in cash form) at any one time, the banks need only keep a small portion of their savings on-hand for those transactions. This portion of the total savings is known as the banks' reserves.
The banks are then able to loan out the rest of their savings. The government (the user in this case) sets a reserve ratio mandating how much of the banks' holdings must be kept in reserve at a given time. One 'super-bank' is used in this model to represent all banks in an economy. As this model demonstrates, the reserve ratio is the key determiner of how much money is created in the system.
HOW IT WORKS
In each round, people (represented by turtles) interact with each other to simulate everyday economic activity. Given a randomly selected number, when a person is on the same patch as someone else it will either give the person two or five dollars, or no money at all. After this, people must then sort out the balance of their wallet with the bank. People will put a positive wallet balance in savings, or pay off a negative balance from funds already in savings. If the savings account is empty and the wallet has a negative balance, a person will take out a loan from the bank if funds are available to borrow (if bank-to-loan > 0). Otherwise the person maintains the negative balance until the next round. Lastly, if someone has money in savings and money borrowed from the bank, that person will pay off as much of the loan as possible using the savings.
HOW TO USE IT
The RESERVES slider sets the banking reserve ratio (the percentage of money that a bank must keep in reserve at a given time). The PEOPLE slider sets the number of people that will be created in the model when the SETUP button is pressed. The SETUP button resets the model: it redistributes the patch colors, creates PEOPLE people and initializes all stored values. The GO button starts and stops the running of the model and the plotter.
There are numerous display windows in the interface to help the user see where money in the economy is concentrated at a given time. SAVINGS-TOTAL indicates the total amount of money currently being kept in savings (and thus, in the banking system). The bank must then allocate this money among three accounts: LOANS-TOTAL is the amount the bank has lent out, BANK-TO-LOAN is the amount that the bank has available for loan, and BANK-RESERVES is the amount the bank has been mandated to keep in reserve. When the bank must recall loans (i.e. after the reserve ratio has been raised) BANK-TO-LOAN will read a negative amount until enough of the lent money has been paid off. WALLETS-TOTAL gives an indication of the total amount of money kept in peoples' wallets. This figure may also be negative at times when the bank has no money to loan (the turtle will maintain at a negative wallet balance until a loan is possible). MONEY-TOTAL indicates the total-amount of money currently in the economy (SAVINGS-TOTAL + WALLETS-TOTAL). Because WALLETS-TOTAL is generally kept at 0 in this model (we are assuming that everyone deposits all they can in savings), MONEY-TOTAL and SAVINGS TOTAL tend to be the the same.
A person's color tells us whether it has money in savings (green) or is in debt (red).
THINGS TO NOTICE
Note how much money is in MONEY-TOTAL after pressing SETUP, but before pressing GO. The total amount of money that can be created will be his figure (the initial money in the system) * (1 / RESERVES). If the RESERVES remains constant through the run of the model, notice how the plot levels off at this value. Why is this equation descriptive of the system?
Once the amount of money in the system has hit the maximum (as calculated be the above equation), watch what happens when the RESERVES slider is set to 100. Now try setting the RESERVES slider back. Why does this happen?
The three monitors on the left of the interface (LOANS-TOTAL, BANK-TO-LOAN and RESERVES) represent the distribution of the bank's money at a given time. Try and track this distribution against SAVINGS-TOTAL, WALLETS-TOTAL and MONEY-TOTAL to understand fluctuations of money in the system as they happen.
What effect does an increase in RESERVES generally have on TOTAL-MONEY?
Why do SAVINGS-TOTAL (yellow), LOANS-TOTAL (red) and MONEY-TOTAL (green) tend to rise and fall proportionately on the plot?
What happens to TOTAL-MONEY when the reserve ratio is initially set to 100 percent? Why?
THINGS TO TRY
Vary the RESERVES rate as the model runs, and watch the effect this has on MONEY-TOTAL.
Set RESERVES initially to 100, and watch the effect on TOTAL-MONEY. Now try lowering RESERVES.
Try setting the reserve rate to 0. What would happen if this were done in a real economy?
EXTENDING THE MODEL
Try extending the model to include payments of interest in the banking system. People with money deposited in savings should be credited with interest on their account (at a certain rate) from the bank from time to time. People with money on loan should make interest payments on their account to the bank from time to time.
This model has turtles interact in a very simple way to have money change hands (and create a need for loans). Try changing the model so that money moves around the system in a different way.
RELATED MODELS
Wealth Distribution looks at how the reserve ratio affects the distribution of wealth.
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Wilensky, U. (1998). NetLogo Bank Reserves model. http://ccl.northwestern.edu/netlogo/models/BankReserves. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
Copyright 1998 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.
This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2001.
Comments and Questions
globals [ bank-loans bank-reserves bank-deposits bank-to-loan x-max y-max rich poor middle-class rich-threshold ] turtles-own [ savings loans wallet temp-loan wealth customer ] to setup clear-all initialize-variables ask patches [set pcolor black] set-default-shape turtles "person" crt people [setup-turtles] setup-bank set x-max 300 set y-max 2 * money-total reset-ticks end to setup-turtles ;; turtle procedure set color blue setxy random-xcor random-ycor set wallet (random rich-threshold) + 1 ;;limit money to threshold set savings 0 set loans 0 set wealth 0 set customer -1 end to setup-bank ;;initialize bank set bank-loans 0 set bank-reserves 0 set bank-deposits 0 set bank-to-loan 0 end to initialize-variables set rich 0 set middle-class 0 set poor 0 set rich-threshold 10 end to get-shape ;;turtle procedure if (savings > 10) [set color green] if (loans > 10) [set color red] set wealth (savings - loans) end to go ;;tabulates each distinct class population set rich (count turtles with [savings > rich-threshold]) set poor (count turtles with [loans > 10]) set middle-class (count turtles - (rich + poor)) ask turtles [ ifelse ticks mod 3 = 0 [do-business] ;;first cycle, "do business" [ifelse ticks mod 3 = 1 ;;second cycle, "balance books" and "get shape" [balance-books get-shape] [bank-balance-sheet] ;;third cycle, "bank balance sheet" ] ] tick end to do-business ;;turtle procedure rt random-float 360 fd 1 if ((savings > 0) or (wallet > 0) or (bank-to-loan > 0)) [set customer one-of other turtles-here if customer != nobody [if (random 2) = 0 ;; 50% chance of trading with customer [ifelse (random 2) = 0 ;; 50% chance of trading $5 or $2 [ask customer [set wallet wallet + 5] ;;give 5 to customer set wallet (wallet - 5) ] ;;take 5 from wallet [ask customer [set wallet wallet + 2] ;;give 2 to customer set wallet (wallet - 2) ] ;;take 2 from wallet ] ] ] end ;; First checks balance of the turtle's wallet, and then either puts ;; a positive balance in savings, or tries to get a loan to cover ;; a negative balance. If it cannot get a loan (if bank-to-loan < 0) ;; then it maintains the negative balance until the next round. It ;; then checks if it has loans and money in savings, and if so, will ;; proceed to pay as much of that loan off as possible from the money ;; in savings. to balance-books ifelse (wallet < 0) [ifelse (savings >= (- wallet)) [withdraw-from-savings (- wallet)] [if (savings > 0) [withdraw-from-savings savings] set temp-loan bank-to-loan ;;temp-loan = amount available to borrow ifelse (temp-loan >= (- wallet)) [take-out-loan (- wallet)] [take-out-loan temp-loan] ] ] [deposit-to-savings wallet] if (loans > 0 and savings > 0) ;; when there is money in savings to payoff loan [ifelse (savings >= loans) [withdraw-from-savings loans repay-a-loan loans] [withdraw-from-savings savings repay-a-loan wallet] ] end ;; Sets aside required amount from liabilities into ;; reserves, regardless of outstanding loans. This may ;; result in a negative bank-to-loan amount, which ;; means that the bank will be unable to loan money ;; until it can set enough aside to account for reserves. to bank-balance-sheet ;;update monitors set bank-deposits sum [savings] of turtles set bank-loans sum [loans] of turtles set bank-reserves (reserves / 100) * bank-deposits set bank-to-loan bank-deposits - (bank-reserves + bank-loans) end to deposit-to-savings [amount] ;;fundamental procedures set wallet wallet - amount set savings savings + amount end to withdraw-from-savings [amount] ;;fundamental procedures set wallet (wallet + amount) set savings (savings - amount) end to repay-a-loan [amount] ;;fundamental procedures set loans (loans - amount) set wallet (wallet - amount) set bank-to-loan (bank-to-loan + amount) end to take-out-loan [amount] ;;fundamental procedures set loans (loans + amount) set wallet (wallet + amount) set bank-to-loan (bank-to-loan - amount) end to-report savings-total report sum [savings] of turtles end to-report loans-total report sum [loans] of turtles end to-report wallets-total report sum [wallet] of turtles end to-report money-total report sum [wallet + savings] of turtles end ; Copyright 1998 Uri Wilensky. ; See Info tab for full copyright and license.
There are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Bank Reserves.png | preview | Preview for 'Bank Reserves' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.