Davide Dalmasso, Luisa Giuliano

Computer Science and Simulation for Economics

Project work on

"Arbitrage price theory."


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.

created with NetLogo

view/download model file: arbitrage_price_theory.nlogo


The aim of our program is study a financial market in which a single stock is traded with a market price that can be different from free-arbitrage price because of lack of information about fair price, and analyze the convergence between the two prices.
There are two types of agents:
- informed: which behaviour is consistent with arbitrage pricing theory (they buy the stock when the market price is lower than fair price, viceversa they sell the stock when the market price is higher than free-arbitrage price);
- uninformed: which sell or buy the security randomly. This behaviour causes the disalignment of the prices.


Turtles represent the agents: grey turtles are uninformed operators and the red ones are informed.
Green patches stand for branches of a unique bank and they are placed randomly.
Free arbitrage price dynamic follows a sinusoidal subjects to random shocks.
Agents move randomly and when they enter in a bank they do a transaction.
Every transaction have two types of consequences:
- agent's endowmnet increase if he has bought the stock when the market price was lower than fair price or he has sold the stock when the market price was higher than free-arbitrage price. On the contrary the endowment decreases;
- market price moves consistently with the type of transaction: it goes up if the agent has purchased the stock, it goes down if he has sold it.
Endowment and market price momevents are directly proportional to the amount of the operation.
Market price cannot go up or down more than 90% of the fair price.
We consider that market price is egual to free-arbitrage price if its difference is smaller than 1%.
Furthermore we have created switches with which asymmetry can be introduced; this means that it will be harder for agents sell or buy the stock.


Initially we have to choice:
- the number of operators active on the market;
- the percentage of informed agents;
- the percentage of rich agents ;
- the amount of the endowment of rich people;
- the amount of the endowment of poor people;
- the number of branches of the banks;

Moreover we can introduce asymmetry in purchasing or/and selling the stock, in particular we can:
- switch on the inability to find a counterpart in the transaction;
- choose the probability with which agents cannot find a counterpart.

Clicking the setup button we can create a world with features selected.
Clickint the go buttun we start the simulation. If we want to stop the simulation we have to clik the go buttun again.
The asymmetry can be introduced also when the simulation is running.
The agents go out the market when their endowment is less than 0.1 and the simulation stops when there are no agents.

There are some boxes in which we can observe:
- the number of operators divided into the two categories;
- the mean of the endowment of each categories;
- the number of transactions;
- market price;
- free-arbitrage price.

A graph shows prices trend.


If we can buy or sell the stock without limits we can note that the convergence between the two prices depends on:
- the number of informated agents: if there are any informated people the market price and the fair price are completely independent; otherwise if we introduce a percentage of informed we start to notice a relationship between the prices. Initially with a small presence of informed (about 5%) there is a convergence but, the volatily of the market price is high. If we want to reduce this volatility we have to increase the number of informed.
- the number of banks.

If there are limits to the agents operativeness we can note that:
- if only purchases are limited, market price tend to be lower than the fair price because if market price goes under the free arbitrage price it is hard for arbitrageurs absorbe, with their operations, the arbitrage opportunity.
- if only sells are limited, market price tend to be higher than the fair price because if market price goes upon the free arbitrage price it is hard for arbitrageurs absorbe, with their operations, the arbitrage opportunity.
- if neither purchases nor sells are available, it is hard to get a convergence.


If we try to set the slider called "Pr-sales-not-available" to 100%, sales are not permitted, so the informed cannot do any operations while uninformed can only buy, therefore market price can only increase.
The same thing happens when we set the slider called "Pr-purchases-not-available" to 100%, but obviously the market price can only decrease.
If 100% of sales and 100% of purchases are forbidden we can note that the market price remain constant.