The applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4. (Safari works, IE does not. Mac OS X comes with Safari. Open Safari and set it as your default web browser under Safari/Preferences/General.) On other operating systems, you may obtain the latest Java plugin from Sun's Java site.
powered by NetLogo
view/download model file: business_cycle-islamic_finance.nlogo
This is a simple model trying to illustrate that the application of Islamic interest rate mecchanism (P/L sharing) in the economy reduces the severity and durtion of fluctuations in Economic productivity (GDP) arround the Long term growth trend, so it solves the problem of Business Cycle and helps economic growth to be more sustained and solid.
Three types of agents are operating in this simplified Model (Economy): Individuals, one company and one Bank.
Each type of agents behaves almost like in real economy. Individuals work (so they earn money from wages and from investing returns), they spend their money on consumpiton and invest what they save in the company's investments (if the campany needs funding). the Company increases its investments whenever they are rewarding, it increase them with a certain percentage and certain thresholds (it compares the cost of money with business profits), in funding its investments it gives priority to invest it's own retained earning then it takes from individuals savings. In the case Islamic Interest rate mecchanism is applied the cost of money is based on P/L sharing, otherwise it is related to a fixed interest rate.
The Bank acts just as financial intermediary between individuals and companies.
Pressing the button <Setup> you reset the model (Economy) to its initial condition.
Pressing the button <go> agents will start operatin in the model.
Choosing "on" from the swich <apply-islamic-interest?> you will set Islamic interest rate mecchanism (P/L Sharing) in the economy, otherwise it will remain at a fixed level.
The plot named "GDP" represents the economic productiving and its movements represents economic growth. while the monitors (GDP, Business Profits) show the value for both indicated variables.
You can start the model by pressing the button <go> while the swith <apply-islamic-interest?> is set "off" so you can see the fluctuations in economic growth in the plot, then by setting the switch <apply-islamic-interest?> "on" you can see that fluctuations has been reduced significantly and that economic growth has become more sustained.
We can incorporate more variables in the model to study the change in wealth distribution and the change in the level of prices to see the effect in has on consumption, investments and on economic productivity.
I give credit for my professor Pietro Terna for his support on this work.
;defie breeds breed [persons person] breed [company] breed [bank] ;breed's own variables persons-own [wage income consumption saving deposit persons-investing persons-investing-accum persons-investing-return] ;global variables globals [interest-rate deposits new-investments investments cost-of-capital business-returns business-profits mean-profit-percn net-business-profits retained-earnings] ;setup to setup ca setup-person setup-companys setup-bank setup-variables setup-plots end to setup-person set-default-Shape persons "person" create-persons 500 ask persons [setxy random-xcor random-ycor set color grey set wage 200 + random 200 set saving 25 ] end to setup-companys set-default-Shape company "house" create-company 1 ask company [setxy random-xcor random-ycor set color blue] end to setup-bank set-default-shape bank "house ranch 30" create-bank 1 ask bank [set color yellow] set interest-rate 0.02 end to setup-variables set investments 285000 set business-returns 300000 set mean-profit-percn 0.02 set deposits sum [deposit] of persons end ; start business process to do-business ;Invest more in businesses if business profits are higher than interest rate if mean-profit-percn > (interest-rate) and mean-profit-percn < (1.2 * interest-rate) [set new-investments (investments * 0.3)] if mean-profit-percn > (1.2 * interest-rate) and mean-profit-percn < (1.6 * interest-rate) [set new-investments (investments * 0.6)] if mean-profit-percn > (2 * interest-rate) [set new-investments (investments * 0.10)] ;determine sources of funds for new investments giving priority to the retained earnings of companies ifelse retained-earnings > new-investments [set retained-earnings (retained-earnings - new-investments)] [ifelse retained-earnings + deposits > new-investments [set deposits (deposits + retained-earnings - new-investments) ask persons [set persons-investing ((new-investments - retained-earnings) / (deposits + new-investments - retained-earnings) * deposit)] ask persons [set deposit (1 - (new-investments - retained-earnings) / (deposits + new-investments - retained-earnings)) * deposit] set retained-earnings 0] [set new-investments (deposits + retained-earnings) ask persons [set persons-investing deposit] ask persons [set deposit 0] set deposits 0 set retained-earnings 0]] ;Increase investments by the amount of new investments and accumulate person's investings in a new account (persons-investing-accum) set investments investments + new-investments ask persons [set persons-investing-accum (persons-investing + persons-investing-accum)] ;determine the mean profit percentage for companies and randomize it set mean-profit-percn 0.02 + random-float 0.02 - random-float 0.02 ;set the condition of applying islamic interest rate, the calculation of persons investing returns and the cost of capital for businesses ifelse apply-islamic-interest? [set interest-rate mean-profit-percn set cost-of-capital mean-profit-percn * investments * 0.6 ask persons [set persons-investing-return (persons-investing-accum * mean-profit-percn * 0.6) ]] [ask persons [set persons-investing-return (persons-investing-accum * interest-rate)] set cost-of-capital interest-rate * investments] ;calculate business profits, net business profits and accumulate retained earnings if not spent set business-profits (investments * mean-profit-percn) set net-business-profits (business-profits - cost-of-capital) set retained-earnings retained-earnings + net-business-profits ;set wages and increase them based on growth in investments, set income ask persons [set income (wage + persons-investing-return)] ;set consumption and saving for persons ask persons [set consumption (180 + 0.33 * income) set saving (income - consumption)] ;increase deposits by the amount of person's savings set deposits deposits + sum [saving] of persons ask persons [set deposit deposit + saving] ;increase business return (GDP) by the % of increase in investments and net business profits set business-returns (business-returns + business-returns * (new-investments / (investments - new-investments)) + net-business-profits) set new-investments 0 end to go tick ask persons [rt random 360 fd 1] do-business update-plots end to setup-plots set-current-plot "GDP" set-current-plot-pen "GDP" end to update-plots plot (business-returns) end