Muhamad Ayman Kassar

Simulation models for economics

Project work on

"Business Cycle-Islamic Finance."

 

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

WHAT IS THIS?

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.


HOW IT WORKS

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.


HOW TO USE IT

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.


THINGS TO NOTICE

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.


THINGS TO TRY

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.


EXTENDING THE MODEL

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.


CREDITS

I give credit for my professor Pietro Terna for his support on this work.


PROCEDURES

;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