public:i-700-abms-07-1:economics_mini-project
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
public:i-700-abms-07-1:economics_mini-project [2007/01/23 15:28] – thorisson | public:i-700-abms-07-1:economics_mini-project [2024/04/29 13:33] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 10: | Line 10: | ||
===== Description ===== | ===== Description ===== | ||
+ | In this project you **must**: | ||
+ | * Use the Constructionist Design Methodology to achieve a good system architecture design | ||
+ | * Run the system on Gola and be ready to demonstrate it on Gola in class | ||
+ | * Use whiteboards and message types sensibly to achieve an efficient yet flexible architecture | ||
+ | * Use Psyclone 1.1 (not 1.0.6) | ||
+ | |||
Consider the trading of a single commodity through a double auction market process. A double auction is a process in which buyers and sellers can freely enter limit orders (bids or asks) and accept bids or asks entered by others. It is the organization used in major exchange markets around the world trading stocks, commodities or currencies. | Consider the trading of a single commodity through a double auction market process. A double auction is a process in which buyers and sellers can freely enter limit orders (bids or asks) and accept bids or asks entered by others. It is the organization used in major exchange markets around the world trading stocks, commodities or currencies. | ||
Create an agent-based model of a double auction market for a single commodity in Psyclone. Use the following basic specification, | Create an agent-based model of a double auction market for a single commodity in Psyclone. Use the following basic specification, | ||
- | * There are N buyers and M sellers in the market. Each seller supplies one unit of the commodity and each buyer demands one unit of the commodity during each run. | + | * There are **N** buyers and **M** sellers in the market. Each seller supplies one unit of the commodity and each buyer demands one unit of the commodity during each run. |
- | * For each run each buyer (i) is assigned a random value, 0 ≤ vi ≤ maxBuyerValue, | + | * For each run each buyer **(i)** is assigned a random value, 0 ≤ **vi** ≤ **maxBuyerValue**, which represents how the buyer values the commodity. Similarly, each seller |
- | * During the run let each buyer (i) regularly place a random bid 0 ≤ bi ≤ vi until a trade is made. New bid will cancel older bid. Similarly, let each seller (j) regularly place a random ask cj ≤ aj ≤ maxBuyerValue until a trade is made. New ask will cancel older asks. | + | * During the run let each buyer **(i)** regularly place a random bid 0 ≤ **bi** ≤ **vi** until a trade is made. New bid will cancel older bid. Similarly, let each seller |
* A trade will be made when a seller asks for a price which is equal to or lower than the price bid by the buyer. When the ask price is lower than the bid the transaction price is set equal to the earlier of the two. | * A trade will be made when a seller asks for a price which is equal to or lower than the price bid by the buyer. When the ask price is lower than the bid the transaction price is set equal to the earlier of the two. | ||
* The auctioneer will seek to maximize the number of trades for the bids and asks available at any time. | * The auctioneer will seek to maximize the number of trades for the bids and asks available at any time. | ||
- | * Each run is terminated when all units have been traded, specific amount of time has elapsed since the last trade (MaxTimeSinceLastTrade), | + | * Each run is terminated when all units have been traded, specific amount of time has elapsed since the last trade (**MaxTimeSinceLastTrade**), or the maximum run time has elapsed (**MaxRunTime**). |
Use the following information to monitor the results of each run: | Use the following information to monitor the results of each run: | ||
Line 25: | Line 31: | ||
* The efficiency of the market based on comparison of simulated surplus and maximum surplus. Surplus is created when the difference between value and costs is positive. Maximum surplus is the accumulated surplus of all possible trades for the given demand and supply curve. Simulated surplus is the accumulated surplus of the trades that occur. | * The efficiency of the market based on comparison of simulated surplus and maximum surplus. Surplus is created when the difference between value and costs is positive. Maximum surplus is the accumulated surplus of all possible trades for the given demand and supply curve. Simulated surplus is the accumulated surplus of the trades that occur. | ||
- | Conduct several runs of the model using N = M = 20 and MaxSellerCost = MaxBuyerValue = 30. Monitor the outcome. What can you conclude? | + | Conduct several runs of the model using **N = M = 20** and **MaxSellerCost = MaxBuyerValue = 30**. Monitor the outcome. What can you conclude? |
- | Test the scalability of the model by increasing the N and M. What can you conclude about the complexity of modeling market interaction? | + | Test the scalability of the model by increasing the **N** and **M**. What can you conclude about the complexity of modeling market interaction? |
/var/www/cadia.ru.is/wiki/data/attic/public/i-700-abms-07-1/economics_mini-project.1169566098.txt.gz · Last modified: 2024/04/29 13:32 (external edit)