8/8/89 Santa Fe Institute's D O U B L E A U C T I O N T O U R N A M E N T CHAPTER 7 -- TOURNAMENT RULES AND REGISTRATION ---------------------------------------------- This chapter specifies the rules, parameter settings and entry procedures for the actual Double Auction tournament to be held in March 1990. The rules of the Double Auction itself are given in the Introduction chapter; this specifies the rules relating to tournament entries and the distribution of the $10,000 prize money. The structure of the tournament is also discussed. An entry form appears at the end of the chapter. 7.1 Tournament Rules -------------------- 1. The deadline for entries is March 1, 1990. Entries must be received at the Santa Fe Institute by 5 PM (MST) on this date to be eligible for inclusion in the tournament. If an entry conforms to all the rules listed below it will be accepted as a PLAYER in the DA tournament. If an entry has been submitted before the deadline and is found to violate one of the rules listed below, it will be returned to the entrant for revision and conditional acceptance provided the revised strategy is received before the deadline. Entrants will have at most one chance to submit strategies that conform to the rules. In the sequel we will refer to an accepted computer program (source and associated materials as described below) as a "player", and "entrant" as the human(s) who submitted. 2. A maximum of 100 players will be accepted. Of these, 70 will be accepted on a first-come, first-served basis starting on September 1, 1989 until the entry deadline of March 1, 1990. The remaining 30 slots have been reserved for selection by the tournament organizers to guarantee sufficient diversity in the types of strategies submitted. If the organizers do not use all 30 slots, those that remain will be allocated on a first-come, first-served basis as described above. A list of current entrants' names and E-mail addresses is available by ftp in the "entries" file, or by request from the organizers. Entrants who wish to remain anonymous throughout the tournament can have their names appear as "anonymous" in the entries file. 3. A valid entry consists of A. source code for the user routines in one of the skeleton programs, subject to additional restrictions listed below, and B. a $10.00 entry fee payable to Santa Fe Institute, and C. a signed, completed registration form (at the end of this chapter). 4. The user routines referred to in 3A are the 4 Strategy Routines and 8 optional Miscellaneous Routines listed in the "skeleton" chapter of the documentation. They must be accompanied by appropriate declarations and/or definitions of the variables and parameters, as required by the language used. 5. The routines must be written in C, Fortran or Pascal and must be compatible with the skeleton programs as provided in these languages. 6. As an alternative to 3A, 4, and 5, users may submit source for a complete self-contained player program. This must: A. Conform to the message-passing protocol described in the "messages" chapter of the documentation. B. Be able to communicate using the PIPEBASED method with the monitor on a Sun-4 system; this mainly requires that messages be read from stdin and written to stdout. C. Be supplied in source form in C, Fortran, or Pascal. Other languages may be considered, but only by prior arrangement with the organizers. 7. All players must be sufficiently documented by comments in the source, and optionally by additional written (or ascii text) materials. The documentation should include at least the following: A. The name, affiliation, and address of each author. These MUST appear in comments in the source, as well as on the entry form. B. A general intuitive description of what the strategy does. C. Definition of all significant variables and parameters. D. References to any specific algorithms or numerical methods used. E. Description of the content and use of any external files needed or created by the program. F. Notes on any special requirements for compiling, linking, or running the program. We reserve the right to reject programs which we deem to be poorly documented or unnecessarily obscure. In such cases the authors will be invited to make improvements within a reasonable time before any final rejection. 8. Participants' programs may create and use external files, which will be preserved from game to game. Each player program will have its own directory, and may only access files within that directory. Additional files may be submitted with a tournament entry, but must be adequately documented. 9. Players must be runnable on a Sun-4 running SunOS 4.0. This means especially that only commonly available library routines should be used. Players will be checked for runnability upon receipt, and the organizers will make reasonable efforts to make any minor alterations necessary to suit local conditions. Ultimately however, we reserve the right to reject programs that we cannot run. Authors should contact the organizers if in doubt about the availability of library routines or language features at Santa Fe. 10. There are no explicit CPU time, memory, or disk storage limits for player programs. However if a program is found to use greatly excessive amounts of any of the above resources (relative to what is used by other players), the organizers reserve the right to request the entrant to modify the program so that its requirements are more in line with other players or, as a last resort, to disqualify the program. 11. Submitted players cannot be withdrawn or revised once submitted, except to satisfy the requirements these rules. Major changes in the player program will be prohibited once submitted. 12. Although joint entries are permissible, at most one player will be allowed per entrant. Duplicate or plagiarized player programs will be disqualified; all submissions must be distinct. 13. Players are only allowed to use information A. explicitly passed to them by the monitor, or B. stored in their private files (optional). Different players may not communicate directly, and may not share files. Any attempt to violate these rules (in letter or spirit) will be grounds for disqualification. 14. Both tournament entrants and non-entrants may use the Santa Fe Token Exchange (SFTE) for practice games if their hardware and software permits it. No guarantee of availability on a particular system or at a particular time is made. Traders on the SFTE may be either human or robot traders. There will be no cash profits paid for trading on the SFTE, and the tournament will be run independently of the outcome of any SFTE games. 15. Traders playing as local (non-network) players on the SFTE will be selected from those developed at SFI. Different selections may be made at different times of day. Participants are invited to submit their programs for this purpose, though no guarantee of using them is made. The organizers guarantee the confidentiality of programs submitted for local SFTE use (by using only the binary executable version of the program in an inaccessable file). 16. Prize money totaling approximately $10,000 will be paid to participating entrants in proportion to the total trading profits earned by their player programs in all tournament games in which they play (see description of parameter settings below). 17. In order to encourage entrants to develop trading strategies that perform well in a wide variety of environments, the parameter settings in the Double Auction tournament games will be systematically altered. In the tournament games the base token values (see the 'game' file) will normally be set to zero, so the relevant parameters consist of the following 10 variables (for more detailed definitions, see chapters 1 and 3, and 'game' file): NTOKENS number of tokens assigned to each trader NBUYERS number of buyers NSELLERS number of sellers NROUNDS number of rounds in DA game NPERIODS number of periods per round NTIMES number of bid/offer and buy/sell steps per period RAN1 uniform random token generator upper bound 1 RAN2 uniform random token generator upper bound 2 RAN3 uniform random token generator upper bound 3 RAN4 uniform random token generator upper bound 4 The meanings of RAN1, ..., RAN4 are discussed in detail in rule 25 below. 18. Games in the Double Auction Tournament will be selected from a fixed number of ENVIRONMENTS, E(i), i=1,...,I. Each environment E(i) is a complete specification of the 10 DA game parameters listed in 17. All the above parameters are passed to each player program at the start of each DA game (except that RAN1-4 and the token generation method may be withheld in a few environments). This guarantees that players have common knowledge about the environment, a game-theoretic consideration. 19. The specific environments used will be chosen by the organizers in advance of the actual tournament, guided in part by scientific objectives and in part by a desire to give all entrants an equal opportunity to do well in the tournament. However information on I and E(i) will not be released to entrants before the tournament, to discourage them from "tuning" their programs to specific environments. 20. For each environment E(i), a total of N(i) DA games will be played, distributing a share A(i) of the $10,000 prize money with A(1)+ ... +A(I) = $10000. The number of games N(i) will be chosen sufficiently large to average out variations in profits due to random choices of player matchings, token values, and tie-breaking rules. 21. In each of the N(i) DA games in environment E(i), entrants' programs will be randomly chosen- without replacement- from the pool of valid players for inclusion in the current DA game. If a player program is drawn that cannot fill the position (e.g. if the entrant only wrote a "buyer" program but was selected to play the role of "seller") the the program is withdrawn from the pool and another player is picked. Players which have already been selected are also withdrawn from the pool. Draws will continue in this way until the requisite number of buyer and seller programs are selected to play in the current DA game. This implies in particular that no program will play more than once in a single DA game. 22. If TP(i,j) is the total token profit earned by a player j in the subset of the N(i) games in environment E(i) in which it participated, then the actual dollar payment for that environment, DP(i,j), is given by: DP(i,j) = c(i)TP(i,j) where c(i) is the CONVERSION RATIO between token profits and dollar profits. The total dollar payment to entrant j in the entire tournament is then simply the sum over each of the I environments, DP(1,j) + .... + DP(I,j). 23. The conversion ratio c(i) between token profits and actual dollar payments will be set in each environment E(i) to satisfy the following equation: A(i) = c(i)TS(i) Here TS(i) is the total surplus of the N(i) games in environment E(i). In a single game the surplus is geometrically the area between the implied supply and demand curves, to the left of the point where they intersect, and would be the total profit if all trading occurred at the theoretical competitive equilibrium price. TS(i) will be calculated by summing this surplus over the N(i) games in environment E(i). Since the conversion ratios c(i) will thus be determined a priori, the total dollar payment to participants may not be exactly $10,000, but is expected to be within a few percent of that figure. 24. Trading programs have the right of refusal. Thus, entrants do not have to write strategies to play in all possible environments. For example an entrant may submit a program that only plays the role of buyer. Of course, since the expected profit in any given game is positive, an entrant's tournament earnings will be reduced in proportion to the fraction of games in which their program is unable to play. 25. Token values are represented by T(j,k,l), where j indexes the player, k indexes the token number, and l indexes whether the player is a buyer or a seller. Tokens will normally be randomly generated according to T(j,k,l) = A + B(l) + C(k,l) + D(j,k,l) where A = U[0,RAN1], B(l) = U[0,RAN2], C(k,l) = U[0,RAN3], D(j,k,l) = U[0,RAN4]. Here U[0,R] denotes a uniform random variable on the interval [0,R]. Random variables A, B(l), C(k,l), and D(j,k,l) are drawn independently of each other and independently for distinct indices (j,k,l). RAN1, ..., RAN4 are passed to the trading strategy using the 'gametype' variable; see definition of 'gametype' in section 3.2 "Public Constants" of chapter 3. Note that due to technicalities of the software design, no token value is allowed to exceed 8000. This implies that for very large settings for RAN(i), i=1,...,4 the actual distribution is truncated. In the tournament we will not choose any values for RAN(i) i=1,...,4 that yield truncated distributions. In a few environments, representing not more than 33% of the total available profit, the tokens may be generated by another method not revealed to the players. This will be indicated by gametype = 0. 26. The organizers expect entrants to obey the spirit as well as the letter of the above rules to produce strategies that exhibit "reasonable trading behavior". In the event that certain strategies are found to behave in a grossly unreasonable way (e.g. purely random strategies, or ones designed to maximize losses) in a way that has not been explicitly covered in the above rules, the organizers reserve the right to exclude the deviant strategies after giving the entrant an opportunity to revise the strategy to produce more reasonable behavior. 7.2 Registration Form --------------------- Submit a printed copy of the following form by mail. A copy sent by electronic mail or by fax may be used to establish a tournament entry, but a printed copy with signature(s) and entry fee must follow promptly. If your strategy has been developed by more than one person, submit only one trading strategy and entry fee, but include separate entry forms for each co-author. Send forms to: DAT Santa Fe Institute 1120 Canyon Road Santa Fe, New Mexico 87501 Phone: (505) 984-8800 Fax: (505) 982-0565 E-mail: dat@sfi.santafe.edu ---------------------------------------------------------------------------- Santa Fe Institute's D O U B L E A U C T I O N T O U R N A M E N T REGISTRATION FORM I hereby register my entry for the Double Auction Tournament to be held at the Santa Fe Institute in March 1990. My entry consists of 1) This form, completed and signed. 2) The entry fee of $10.00 (check or money order in U.S. currency only). Make checks payable to "Santa Fe Institute". 3) Source code for a computer trading strategy according to the tournament rules. Check one: __ 5.25 inch DOS disk enclosed (plain ascii file(s)) __ 3.5 inch Macintosh disk enclosed (TEXT format) __ Sent by electronic mail to "dat@sfi.santafe.edu" __ Submitted by other means: _________________________________ 4) Other: (check those that apply -- all are optional) __ written documentation __ special instructions for compiling/linking/running __ auxiliary files needed by program I understand that this tournament is part of a research project to gather scientific data to improve our understanding of the market mechanism. I have read and accept the tournament rules that specify the form of valid computer program entries, and describe how the approximately $10,000 prize money will be distributed to tournament participants. By submitting my trading strategy, I am giving researchers at the Santa Fe Institute the right to use it for scientific purposes in applications and experiments of their choice after the Double Auction tournament is held in March 1990. In particular, I grant them the right to describe my strategy in published reports, although I may choose not to be identified as the author of my trading strategy. Signed ______________________________________ Date ____________ Name __________________________________________________________ Affiliation __________________________________________________________ Address __________________________________________________________ __________________________________________________________ Phone ________________________ E-Mail ______________________________ Do you wish to be identified as author of your strategy in published reports (and public list of entrants)? __ yes __ no Did you use SFTE to develope or refine your strategy? -- yes -- no If yes, did SFTE help you improve your strategy? -- yes -- mo