Experiment Configuration Guide
Page One: Session Configuration
Session Name: Enter the name of the session. This is displayed in the session selection screen when first joining an experiment.
Number of Periods: Enter the number of periods, between 1 and 999.
Number of Subjects: Enter the number of participants, between 2 and 999. The experiment can still be run with a number of participants less than the one specified here. Note that subject IDs are assigned based on order of login (e.g. first person to log in is 1, second is 2).
Number of Groups: Enter the number of groups, between 1 and 999. In case less subjects do the experiment than specified in Number of Subjects, distribute subjects into groups in an alternating pattern to guarantee an even distribution.
Show Order History: Enables display of order history from previous periods to subjects.
Show Transaction History: Enables display of transaction history from previous periods to subjects.
Timeout Length: Time (in seconds) to allow for computers to connect and initialize. A larger time takes longer, but one too short may not initialize properly.
Manually Advance Periods: Select whether periods are immediately advanced after one ends, or if the admin must press a button to move to the next one. This setting can be changed within the experimenter interface once the experiment has begun.
Load from File: Select if loading a previously saved session.
Select File Here: Select the saved session to load. All settings will be restored.
Page Two: Period Configuration
Num Securities: Number of securities.
Num States: Number of payoff states.
Num Divisions: Number of price level divisions. Warning: Large numbers of levels may decrease performance.
Period Length: Length (in seconds) of each period.
Open delay: Length (in seconds) of countdown timer before period begins.
Price Trigger: If the average transaction price is more than 80% between the maximum price and minimum price, both price bounds will be increased by 20% of the spread between them. This can be used to study bubbles.
Closebook: Do not show the orders of other participants.
Slider GUI: Switch to alternative slider interface.
Use Effective Cash Validation: If this is selected, bankruptcy checks will look only at the subject's cash and assets, not standing buy orders. Since this is a more lenient check, it may result in a subject having negative cash.
Group Name: Name of group.
Payoff Functions
A payoff function is used to convert holdings and cash into either more cash or into cumulative payoff, depending on how other settings are checked. Different functions calculate the payoff in different manners. Parameters for the payoff functions are defined on the specific period setup pages.
CrossMarketNonLinearPayoff: A logarithmic payoff function.
Payoff = a*log(b*[Sum of Period Security Payoff * Holdings of Security])
GenericPayoff: A linear payoff function.
Payoff = Sum of Period Security Payoff * Holdings of Security
NaturalLogPayoff: A logarithmic payoff function.
Payoff = a*log(b*[Sum of Period Security Payoff * Holdings of Security])
NegativePaysPayoff: A linear payoff, but only counts negative holdings.
Payoff = Sum of Period Security Payoff * Holdings of Security (if negative)
SimpleQuadraticPayoff: Quadratic payoff function.
Payoff = Holdings * Period_Security_Payoff + Holdings^2 * Quadratic_Coeff + Constant
Bankruptcy Functions:
GenericBankruptcy: GenericBankruptcyFunction allows you to bar orders from being sent to the market which subjects cannot deliver upon in certain circumstances or "states of the world." For each possible state of the world (the number of states is to be specified when configuring the experiment), the program computes the net earnings that the subject would receive if the proposed and all submitted orders were to be executed. For the program to be able to do so, the experimenter needs to specify, during configuration, the unit payoff of each of the securities in each of the states of the world. Net earnings are computed as in the GenericPayoffFunction. If in some state of the world, net losses (minus net earnings) would be more than bankruptcy_cutoff (also to be declared during configuration), the order is automatically canceled and the subject receives a message to that effect.
GenericLtdBankruptcy: GenericLtdBankruptcy function is a slightly more 'relaxed' or 'limited', depending on one's standing orders, bankruptcy constraint implementation as compared to GeneralBankruptcyFunction. It works as follows. Instead of taking into account of all standing orders like in GeneralBankruptcy, only orders within 25% of the best order on either side of the market are chosen to compute the bankruptcy state. More specifically:
- Bid side: if a standing bid is less than 0.75*(price level of the highest bid order in the market) then ignore it.
- Sell side: if a standing ask is more than 1.25*(price level of the lowest ask order in the market) then ignore it.
Page Three: Specific Period Configuration
Save Session: Save session settings in an xml file. Can be uploaded to restore a session.
Validate and Launch: Begin the experiment.
Copy From: Copy period-specific settings from the selected period.
Market Engine: Select either a continuous or call market.
Subjects
Group: Select which group the subject is in.
Announcement: Enter a message to be sent to the subject at the beginning of the period.
Groups
Initial Cash: How much cash each group is given at the start of the period.
Add Cash: Select to add the cash held in this period to the next, or uncheck to add any cash payoff to the cumulative payoff. Tip: If this is selected and Initial Cash is set to 0, participants will start the period with the same amount of cash they had in the previous period.
Payoff Fcn: Select which payoff function is active on this group.
Bankruptcy Fcn: Select which bankruptcy function is active on this group.
Bankruptcy Cutoff: Least amount of cash participant is allowed to have. Any transactions that require the participant to go under this cutoff will be cancelled.
Functions
See above for specifics on how each function works.
States in Payoff Functions: In payoff functions, only the data filled into the first state column are utilized. It does not matter what is filled in to the other states.
Cash Exchange Rate: Payoff of cash held. Generally this should be set to 0 so the subjects gain no extra cash or cumulative payoff for holding cash. In the last period, this can be set to 1 (and Add Cash unchecked) to add the amount of cash held to cumulative payoff.
Securities
Title: Name of security.
Min Price: Minimum price of security. Must be positive, less than maximum price.
Max Price: Maximum price of security. Must be positive, greater than minimum price.
Time Open: Time in seconds that a security is available for trading. This can be less than or equal to the period length.
Bid: Check to allow group to buy the security.
Ask: Check to allow group to sell the security.
Add Surplus: Add securities held to next period's securities. Tip: If this is selected and Initials is set to 0, participants will start the period with the same amount of securities they had in the previous period.
Add Dividend: Add the payoff earned from securities to the participant's cash in the next period. If unchecked, adds payoff to cumulative payoff.
Initials: Initial amount of security held by each subject in the period.
SS Constraint: Short sell constraint. Allows subject to have negative holdings of the security up to this amount (e.g. a SS Constraint of 2 allows a subject to have a minimum of -2 securities).
