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