Artificial Microeconomy Simulation Program


This program was written by Sergei Simdyankin and Payam Madjidi
Copyright (c) 1996 Artificial Economy Project, PDC / KTH, Stockholm S-10044, Sweden


This page contains a Java applet. In order to use it you need a Java compatible browser (for instance Netscape Navigator 2.0x or later).
This applet is provided WITHOUT WARRANTY either expressed or implied.


Brief instructions to users

If you click the button below this paragraph the program's user interface will appear in the upper-left corner of the screen. You can choose what graphs you want to see by setting checkboxes "on" and "off". If you have chosen several graphs, first you'll be able to see the top-most window, which covers all the other windows. Due to the low speed of all Java applets we advise you to wait until the curve in the visible window is drawn. Please, be patient. On some platforms it could be very slow. You can move the top-most and all the following windows by dragging the header of a window with the mouse. Resize the windows to see small-scale behavior of the curves. Double click (just click for Macintosh) the upper-left corner of a window to delete it. Please, read the text below the button for details.


You can't run applets. Otherwise you would see a button saying
"Click here to bring up the program's user interface"


The program implements an artificial microeconomy model described in

Please, read the paper referenced above to understand the model and the meaning of the parameters you can alter.

The program was written for demonstration purposes mostly. Due to the slow speed of all Java applets running under a Web browser large simulations do not make much sense. Though we did not put upper limits for setting the parameters, you should be aware that some numbers enlarged in order of magnitude compared to the default parameters will result in disc swapping.

When the user interface (UI) first appears on the screen you see a number of text fields with labels to the left. These text fields contain the default parameters. You can start the program right away by clicking the "start" button which occupies the bottom of the UI window. If you wish to alter the parameters click the corresponding text field, make changes and press "Return" or "Enter" key on the keyboard. The alteration takes its effect if and only if you press "Return" or "Enter" key. The "Messages" text area tells you what you have done. This area also shows messages sent by the program in action. With the scrollbars you are able to check the history of the current session of your work with the program.

The checkboxes with labels to the left allow to choose the graphs you would like to see at a time. "Price vs time" box is set "on" by default.


Here are some hints on the way the parameters affect the simulation results.

Number of days
Duration of the market activity. The horizontal axis in the plots is scaled to show the whole time stretch which is equal to number of days.

Regular agent parameters
This column corresponds to the regular agents, those who can produce the only two kinds of commodities in the system: "food" and "gold". Each regular agent consumes one unit of food a day.

Number of agents
Self-explanatory.

Gold skill low/high
Gold skill low/high limits. The production skills of the regular agents are uniformly randomly distributed between these two limits.

Initial gold inventory
Self-explanatory.

Food skill low/high
Food skill low/high limits. The production skills of the regular agents are uniformly randomly distributed between these two limits. The high limit cannot be set too small because in this case demand will never be covered by supply and all productive agents will "die" in a few days from the beginning of the simulation. The agents die when their food inventory is zero.

Reserve low/high
Reserve inventory of food low/high limits. The levels of reserve of the regular agents are uniformly randomly distributed between these two limits. The agents try to keep the reserve inventory constant when they make the sell/buy decisions. The initial food inventory of each agent equals to his reserve.

Avg speculator parameters
This column corresponds to the avg speculators, those who try to predict the future price of food in terms of gold by estimating the fundamental (average) value of the commodity.

Number of speculators
Self-explanatory.

Start/Finish day
The day when the speculators start/finish to act.

Initial gold inventory
Self-explanatory.

Margin low/high
Margin low/high limits. The margin is a factor with which a speculator increases/decreases his bid to buy/ask to sell. The margins of speculators are uniformly deterministically distributed between these low/high limits.

Forecast coefficient
The coefficient in the formula used by the avg speculators to compute the forecasted price:

Der speculator parameters
This column corresponds to the der speculators, those who try to predict the future price of food in terms of gold by estimating the slope (second derivative) of the price as a function of time.

All the rest parameters in this column have the same meaning as the corresponding parameters of the avg speculators.

Utility function parameters
For the definition of the utility function look at


Here is a brief description of the simulation results if you start the program without changing the default parameters.

First 200 days of their existence (1000 days) the regular agents act in a system without speculative agents. Due to the fact that the regular agents can not predict the future price by definition, the price vs time oscillates within a wide range. The speculators of both kinds come to scene at the 200th day. The price stabilizes to a great extent and even stays the same for some periods.

Gross domestic product vs time grows linearly both with and without speculators acting but the slope increases after speculators start to trade.

Avg speculator total wealth vs time increases all the time starting from the 200th day but the speed of the increase goes down as the price stabilizes.

Der speculator total wealth vs time increases while there is instability in the system and price changes are large. The wealth drops significantly with stabilization of the price.

Number of miners, those regular agents who decided to mine (produce gold), and number of farmers, those regular agents who decided to farm (produce food) are interchanging while there are no active speculators with some periods when all the regular agents regardless to the production skills decide either to mine of to farm under the pressure of price movements. The activity of speculators provides the opportunity for the regular agents to do what they do best according to the production skills.


Acknowledgments

We are grateful to Ken Steiglitz and Leonard Cohen for sending us the C code of their implementation of the model. The Artificial Economy project at PDC is supported by a grant from the Swedish Research Agency NUTEK.


If you have any comments or suggestions about the program and this page we would be glad to receive them via our e-mail address

payam@nada.kth.se