Alessandro Dovis, Filippo Maggi

Computer Science, Simulation and Economics

Project work on

"Equilibrium on nine separated markets with different levels of price flexibility and market opennes"


The applet requires Java 1.4.1 or higher to run. 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 applets (Safari works, IE does not). On other operating systems, you may obtain the latest Java plugin from Sun's Java site.

created with NetLogo

view/download model file: isoleweb.nlogo

We present a very simple model that tries to describe the dynamic behaviour of the prices of an undifferentiated good among different markets under different strategies implemented by the consumers. We assume that in each market operates a representative producer and that there are 4 categories of consumers (constrained, pseudo-rational, random-ones, inverted) that follow different behavioural rules.

The price in each market is set by a simple price-rule: P = F + Q*0.25 where F is typical of the market and Q is total demand for the market. The procedure follow in this way:
(i) we generate the 9 markets, the 9 representative producers and the consumers
(ii)the consumers are casually placed
(iii)following the price rule the representative producers set the initial prices in the 9 markets
Then in every period:
(iv)the consumers decide if and where to move according to their rules:
the "constrained" don't have the possibility to move
the "random-ones" move randomly with different probabilities according to the ratio P/average P registered in the former period: if P/average P <0.9 pr-green, if 0.9 < P/average P> 1.1 pr-yellow, if P/average P > 1.1 pr-red
the "pseudo-rational" move to the market where the price was minimum in the former period with different probabilities according to the ratio P/average P: if P/average P <0.9 pr-green, if 0.9 < P/average P> 1.1 pr-yellow, if P/average P > 1.1 pr-red
the "inverted" move to the market where the price was maximum in the previous period
(v)after the movement of the consumers the producers set the prices in the 9 markets

With the "setup" button we create the world in which the agents interact and the initial value of the variables (i-iii).
With the button "go" it starts the simulation.
The button "step-once" simulate just one period.
Using the sliders before the Setup one can set the value of the parameters number-random-ones, number-pseudo-rational, inverted? (the number of the consumers pseudo-rational, random-ones and inverted) and indirectly the number of constrained (100 - number-pseudo-rational - number-casual); while pr-green, pr-red, pr-yellow can be change every time during the simulation.

There are 3 graphics: "local-price" represent the dynamic of the price in a single market (the one characterized by pxcor=-1, pycor=1), "max-min" plot the max, min price in each period and their difference, "pay-off" plot the average pay-off of each category of consumers (which are also displayed in the 4 monitors).

The key variables to look at in the simulation are the difference between the max and min price (stability of the markets) and the pay-offs of the categories of consumers (in order to analyze the efficiency of their strategies).
The patches (markets) are green if P/average P <0.9, yellow if 0.9 < P/average P> 1.1, and red if P/average P > 1.1

The value of pr-green, pr-red, pr-yellow can be interpreted as a measure of the flexibility of the prices: low values means that the prices are updated after that few consumers moved.
The number of "constrained" can be interpreted as a measure of the opennes of the economy.
The presence of the inverted consumer helps to understand if the behaviour of the pseudo-rationl agents is really rational.

The biggest limit of this model is the absence of really rational agents. Representative producers and every category of consumers have a fixed behavioural rule. An interesting extension could be implemented introducing agents able to learn and modify their behaviour while the model is running (allowing the consumers to coordinate their actions).
Moreover, the model could be extended assuming that the representative firms have to set the price at the beginning of the period forecasting the demand they will face.