AI Olympics 2001
Virtual Stock Market Documentation
The Event/Scoring
Each team gets $1 Million to trade for the duration of the Olympics.
You may divide this up in any way you wish: allocate $100K to individual
investors, collaborate on trading decisions, or fight it out as one
team member sells the shares another had bought seconds earlier...
The goal, as always, is to accumulate as much wealth as possible as
fast as possible. If any shares are held when the contest ends, they
will be sold at the last day of trading's closing bid price. A team's
score is the amount of money remaining, plus a participation bonus: I
will add in $10,000 for each team member who made a trade on the
system. (The exact value of the bonus may be changed after a couple
days of trading, depending on the teams' performance, to make it a
fair contest.) Each person should make trades from their own machine,
as extra verification that they are who they say they are.
Basic Functions
- Viewing Your Portfolio
-
Simply follow the links from the main page, identify your team and
enter your team's password (your team subcaptain should have this).
The portfolio is displayed and time stamped. The prices are current as
of the time of the request (the time stamp), and are NOT updated
automatically. To update the prices without making any trade, click
the "Discard Order; Update Prices" button. (Note this clears any
fields you've typed in; hence, the "Discard Order" part.)
Alternately, you can submit a "blank" form (without any changes, or in
the reset state) to get updates on your team's portfolio.
To view your team's trading histories for a stock, click on the
symbol name. Below the table there is also a comprehensive list of
all symbols ever traded by your team for this purpose.
- Pricing
-
To get the current reported prices for a symbol you don't hold,
execute a transaction on 0 items of it; the symbol will show up on
your next portfolio report only, and then will disappear. The easiest
way of making a 0-share transaction is to just enter the symbol in one
of the new entry fields below; you don't actually need to enter a
number or change the transaction type. To keep it around for another
update, where it's listed with the other stocks, just click one of the
transaction types for it before submitting.
- Buying/Selling
-
To buy or sell something you already hold in your portfolio, on
the line where the item is listed simply check "Buy" or "Sell" and
enter a volume (note the default volume is your entire holdings of
that item -- be careful!). For new symbols, enter the symbol in one
of the "New Order" lines at the bottom of the form, and do the same.
(You can also enter a symbol in one of the lines below even if you
already hold it.) The symbol is re-priced when the order is
submitted; this means that the actual price of your transaction may
not be exactly what is shown on the form you're submitting, especially
if the form is at all old.
Note that there are two prices listed, a bid and an ask, which are
different for many symbols. You buy at the ask price and sell at the
bid. The spread between the two means that if you buy and then
immediately sell (or vice versa, if you already hold it) you've
instantly lost some money. This is not because of what you normally
think of as brokers' commissions for the sale, which would cause
additional losses on top of the bid/ask spread losses; there are no
brokers' commissions in the VSM, with the explicit intent of
encouraging trading by the teams. (The bid-ask spread is collected by
the "market makers," who organize the trading for that particular
security, and the virtual market makers are no less avaricious than
their corporeal counterparts. What, you think I do this for free?)
You can trade any time, even if the markets are closed; the most
recently reported prices are used for the transaction.
Details of the Interface
-
Don't click your browser's "Reload" button while viewing your
portfolio! If you do and let it report the form data, it will perform
your last successful transaction (already performed) yet again! This
is rarely what you want.
-
The "Reset" button in the bottom middle only erases the fields of the
form; it does no recomputation of any of the data. It returns the
form to its state when you first downloaded it.
-
Remember, to update the prices, you can submit a reset/blank form.
The "Discard Order; Update Prices" button is equivalent to a "Reset"
followed by a "Submit."
-
Transactions are an all-or-nothing proposition; if any part of one
fails for any reason, nothing is changed, and you should go back,
correct the problem, and resubmit the whole transaction.
-
The "Average Purchase" column listed is the per-share (weighted)
average purchase price of your current holdings of that symbol; it's
meant to give you an idea of how much you spent for that item in
aggregate. Note that selling does not change the average purchase
price, and buying changes it in proportion to the relative volumes.
-
The value of the portfolio listed is computed as if you were to sell
everything immediately; as always, sells are at the current bid price.
-
Quirky detail you should be able to ignore: You can enter a single
symbol multiple times on the same order form, including the one from
the current holdings listing, even with mixed buy/sell requests.
Instead of selling the total number requested at the bid price and
buying the total number at the ask, the net change for that stock on
the whole order form is tallied and then the resulting single net
order is executed at the appropriate bid or ask price. This means
that if I both sell 100 shares of stock A and buy 100 shares of stock
A on the same order form, then the orders cancel and I get charged
nothing. Note that if I submitted the buy and then on a separate order
form submitted the sell, I would pay the spread between the bid and
ask prices (if there is one for that particular symbol), whereas I
wouldn't have to pay the spread for the mixed single submission.
The Data Feed
The pricing data is fed over the net and is the standard 15-20 minute
delayed data. It is possible to cheat by getting a real-time feed and
playing the time lag; THIS IS EXPLICITLY CHEATING and goes
against the spirit of the event; don't do it.
The data has fairly extensive coverage over the range of tradeable
securities and has many derivative instruments. If you can find a
symbol for something, there's a good chance we can get data on it; try
it. The advertised categories include:
- stocks
- mutual funds
- corporate bonds
- futures/options
- market indices
For the last two, the first character for the symbol is often a caret,
a "^". For example, the Dow is ^DJI, the NASDAQ is ^IXIC (don't ask me),
and the S&P 500 is ^SPX.
Finally, note that I do not get information about stock splits.
Should a stock you hold split during the event, you've just lost half
your money in that stock! (And should there be a reverse split, you
double your money.) If you know of any good online source of
(machine-readable) splitting data, please let me know.
Greg Galperin (grg@ai.mit.edu)