I.                   TRADING GAME

 

  1. Designing trading game

( Right click on a Game: 05_general_equilibrium.mgd to download it)

 

NOTE: Function editor can be accessed with mouse right click.

 

1. Adding .

a.       Drag and drop  into a design window to create a market.

b.      Double click on  to rename it to . Note this is not necessary. Markets can be named by the default name.

 

c.       Open   by double clicking on the edge or by selecting  and clicking on  to choose a tick size:

 

d. Repeat the steps for .

 

 

2. Adding

 

a.                  Drag and drop Two  icons into a design window.

b.                  Click on the  to select it.

c.                  Double click on  to rename it to .

d.                  Open the  window by double clicking on the edge of the icon or click on to edit the condition. Now that assets and  are created the  see the view of a builder edit window.

 

e.                  The condition has to be a Boolean type (i.e. true or false).

 

f.                    Double click into   and right mouse click  to access Function editor .

 

·              Write the condition directly or with the help of Assistant editor.

·                Condition: subject_number()%3=0 means subjects with  subject numbers that are divisible with 3 are assigned a . A subject is assigned a consecutive number after login to the game. The first player to login is assigned number 1, the second player to login is assigned number 2, etc.

 

·               Create a new , change the name to  and update the condition  to subject_number()%2=0  (i.e. subject numbers that are divisible with 2 are assigned a )

 

·   Open  again and select  as a next assignment: .

  The result is the link between  and :

It means that if the condition for builder is not satisfied that the program check the next assignment’s condition (in this case wood supplier’s condition).

·                     Similarly create

·                    Condition for  is empty. It means that everybody else is assigned a

·                     The program checks the condition from a starting assignment which is determined with a lighter green color. By default the first assignment created has a lighter color. In this example  is the starting assignment. If you delete that assignment or you want to start from another assignment select that player and then click on .

 

 

3. Adding .

 

a.             Create  to capture the profit during the game as follows:

·                                            Drag and drop a  and rename it to

·                                            Open  by double clicking on the edge of the icon or by selecting  and clicking on .

·                                             Select

·  Leave initial value empty.

.

·                                            Select  in order for each subject to get a different draw.

·  Repeat the steps for , ,  and . A fast way is to duplicate  by selecting and clicking on . Then rename the new variable.

 

 

 

 

·                    Create  and to record the accumulated endowment by builder with the following properties:

-  

 

. Clay and wood endowment is set to zero. Once a builder buys the raw material it gets updated by appropriately defining it in  in the  editor (see  point 3 below).

 

3. Open  to update the trading conditions for each player

a. Open . The  ().

 

b. The following conditions should be selected or written in for .

-  . Cash allows subjects to buy items. Subjects would be able to purchase items up to the cash amount stated in  . In our case a  is allocated 1000 units.

 

- Under  all the created assets are listed. The lighter gray color shows the current page. In this example  is the current page.

- Select  because  is allowed only to buy wood .(The other trading options for buying are  and .  means that  can not set a price. The current best price at the market determines the sale’s price.  can only change the quantity if she is willing to buy.  allows  to select a particular outstanding seller from whom to buy a product and not to the buyer with the best price. Similar explanation can be given for selling )

- Choose  that a  starts with. Select the wood endowment by right clicking in the editor and selecting wood endowment from the list of variables. The other option is to type wood endowment, select it and use “Shift+Ctrl+v” at the same time to color it to rose color.

- Valuation is empty:   because  does not value any of the purchased goods.

 

- Graph variables: Select under “graph variables”:  to graph the current transaction price. The selected variables will be graphed for a particular market if the graph option was selected on that market.

 

- Repeat the steps for .

 

c. In order for , , , , and to be updated with each transaction, click on  .

- click on  and select the appropriate Transaction event variables. Then write a condition for each of them:

 

  •  and  are defined as follows:

The function endowment() means current endowment and can be selected from the function editor. Inside the brackets the appropriate asset has to be selected by double clicking on  in the function editor or by writing wood, selecting it  and clicking at the same time “Ctrl+Shift+a”. “a” stands for asset.

Also  is selected next to each of the function in order for the calculation to be used in the variables :  and .

 

-         Note that it was necessary to define  and  variables. In  endowment(wood) could have been used directly.

 

  • Cumulative  is defined in the following way:

 where builder costs captures the accumulated costs and price()*quantity() multiplies current transaction price with the transaction quantity and it is not asset specific.

 

Also  is selected next to builder cost function in order for the calculation to be used in . If   is not selected the costs are not updated in the later calculations within the same transaction.

  •  is calculated in the following way:

where the revenue to the builder is calculated as wood endowment raised to the power 0.333 and multiplied by clay endowment raised to the power 0.333. To get the profit builder costs are subtracted.

 

Note we could have used endowment(wood) instead of wood endowment and endowment(clay) instead of clay endowment.

 

  • price() captures current transaction price.

 

d.      Use  to graph variables for all markers. In our example the builder profit and builder costs will be shown on each market.

If you want to graph it only for a specific market use the option  under

 

 

4. Adding instructions

1. Drag and drop a .

 

2. Open the stage and write instructions.

 

3. Make sure that you select  at the bottom of the instruction page.

 

 

4. If you want everybody to see the same page, select  for all assignments:

 

- If you want some assignment not to see it, select  for those assignments.

- To create a new page within a stage, click on  and a new page is created:

 

Write the instructions and select the assignment which will see the page.

This is the example of a stage. Click here to see how it looks when designing a game. Click here to see how subjects will see the instructions.  To close the instructions, just click on x. To open, click on  that is located within the market or within a stage, depending on a design of a game. In the  05_general_equilibrium.mgd (right click to download the game) there is only a trading window and .

 

5. Settings on design window

 

  1. Number of subjects is set to zero. It means that subjects can start to play once they login in, and they do not need to wait for a certain number of subjects to login.

 

  1. At the bottom right corner of the design window there are the following options:

·        Concurrent means that  is run at the same time as market game or when  is used for description.  In the described example above we do not have any stages except for description which does not count as a stage game.

·        When  is selected, the stage game is first played and when subjects made decisions it moves to the market game.

 

  1. Example of a trading game that uses specific valuations, buy select and profit calculations

( Right click on a Game: 03_recruiter_graduate.mgd to download it)

 

    1. Specific initial values for

a.       In this game there are two assignments:

 and.

·        Subjects are assigned to  based on the following calculation: subject_number()%2=0  (i.e. subject numbers that are divisible with 2 are assigned a )

·        All the other subjects are assigned to .

b.      Valuations for   start with one and go up to the last graduate who logs in to the game in increments of one. For example if we have 10 graduates in this game their valuations will be 1, 2,,3...,10. Similarly the valuations are determined for recruiters. Variable  has the following function for the initial value:

          subject_number()/2

that gives the valuations for graduates exactly the way that is described above:

 

 

·  Select  in order for each subject to get a different value.

 

c.       Valuations for  start with one and go up to the last recruiter who logs in to the game in increments of one. Variable  has the following function for the initial value:

          (subject_number()+1)/2

that gives the valuations for recruiters exactly the way that is described above. Remember that recruiters will have valuations 1, 3,5,…

 

·  Select  in order for each subject to get a different value.

 

 

 

 

    1.  and  updates in the .

a. Open  icon by double clicking on the edge of the icon or select  and click on  .

b. Select  on  page.

c.  Insert Valuation recruiter under Valuation by using “Function editor” (right click to access it) or just write the name of the variable, select it and use “Ctrl+Shift+V” to color it into rose color.

d.  Given that  is allowed to select only one  , write 1 under maximal quantity:   

e.  For  insert endowment and valuation on  page: .

 

  1. Select  for .

·  Select recruiter profit and write the following expression:

 

The value of the match to the recruiter is the product of the recruiter's valuation and the graduate's valuation. Recruiter’s valuation is captured with asset_valuation(). The graduate’s valuation is captured with asset_valuation