Prof. Michael Kearns

News and Notes 9/5/03: PLAT 2003-04 GETTING STARTED.

We are in the process of getting ready to begin the project for the academic year 2003-04. This year there will be more emphasis on the project and simulator as a research platform, and there will hopefully be a fair number of external participants who are doctoral students and faculty members, or professionals in the field of quantiative finance.

NOTE TO PENN UNDERGRADUATES: A number of you have expressed interest in joining the project, in some cases as your Senior Design, and I welcome such participation. Last year we had about 20 Senior Design students. However, in keeping with the goal of increased reseach emphasis on the project, I will be slightly more selective this year, and will favor those with the requisite computer science skills and a demonstrated background and interest in topics such as finance and economics. I will hold an organizational meeting for interested students this coming Monday, September 8 at 8 AM in the main conference room of IRCS. I apologize for the ungodly hour, but it is the only time I can be certain it does not conflict with classes. (IRCS is at 3401 Walnut --- just go into the elevator lobby behind the Starbucks at 34th and Walnut, and take the elevator to the fourth floor. Take a left out of the elevators, then left again through the glass doors of IRCS.) At this meeting, I will give an overview of the project and discuss what is expected on it.

I request that all potential project participants, Penn and non-Penn, please read the following paper providing a project overview:

  • The Penn-Lehman Automated Trading Project. Michael Kearns and Luis Ortiz. Preprint, 2003.
  • [PS] [Compressed PS] [PDF]

    On the logistics side, we are currently in the process of upgrading two linux servers for use on the project. Once that is finished --- hopefully some time next week --- we will begin issuing accounts on the servers and participants can begin strategy development.


    I'm going to try to minimize email traffic, and assume that all project participants are regularly reading this web site (at least once a day if you are doing a Senior Design or independent study). Below I will post news about upcoming meetings and events, major updates to the site, deadline information, and so on.

    News and Notes 5/09/03: PPC 2003 FINAL RESULTS!

    Though subject to final verification, we have final results for the Platinum Platter Competition 2003:

  • The Blue pool champion is the team of Hoi Yee Leung, Sean Lao, and Tan Fei Wong.
  • The Red pool champion is the team of Ripan Kadakia and Vimal Vora.


    There were other notably strong performances in the competition, and I was generally very pleased with the results. I will shortly post some additional analyses and citations for good performance; Client Shah deserves special mention. In the meantime, PLEASE CHECK YOUR SCORES AND IDENTIFY ANY ERRORS IMMEDIATELY, and, most importantly, ENJOY THE SUMMER.


  • Cumulative spreadsheet with rankings
  • May 9 Charts
  • May 8 Charts
  • May 7 Charts
  • May 6 Charts
  • May 5 Charts
  • May 2 Charts
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 5/08/03: MAY 8 RESULTS.

    Comments on the trading day:

  • Final day tomorrow! The serious contenders for the top Blue pool position appear to be Clients Wong and Morgovsky. Client Kadakia may be unassailable in the Red pool.
  • In addition to the overall point titles, I will make some special P&L-based awards as well, to be explained later.


  • Cumulative spreadsheet with rankings
  • May 8 Charts
  • May 7 Charts
  • May 6 Charts
  • May 5 Charts
  • May 2 Charts
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 5/07/03, PART 2: MAY 7 RESULTS IN.

    Comments on the trading day:

  • With a whopping 8-point day, receiving points for P&L, risk saturation, unwinding and position reversal, Client Kadakia has both broken into overall profitability and a commanding 7-point lead in the Red pool.
  • Client Wong continues to lead the Blue pool, but it's not quite over there yet.
  • Client Nevmyvaka from CMU (Red pool) and Client Morgovsky (Blue pool) are showing definite signs of life, and have been creeping up in the standings.
  • A major wild card out there is which clients, if any, will pick up the one-time 15-point consistency award. With 8 trading days completed and only 2 to go, a number of clients (indicated by a 0 in the Con Pts column of the spreadsheet) are already out of contention for this award, since even with 2 more profitable days they cannot make the needed 7. Among those that remain, client Shah (Red) has the needed 7 days of profitability already, and a 29K P&L buffer; unless they lose big in the last 2 days, they may make a last-minute surge up in the standings. Client Wong (Blue) needs one more day of profit, and to hang on to their significant P&L store. Clients Morgovsky and Zhang (Blue) and clients Kadakia and Yu (Red) all have a chance but will need two straight profitable days, while client Luss needs this and to make up a 10K deficit. Should be fun!


  • Cumulative spreadsheet with rankings
  • May 7 Charts
  • May 6 Charts
  • May 5 Charts
  • May 2 Charts
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts


    A number of you have asked me for guidance on the form of your final report. Basically, it should be similar in length, depth and detail as your final reports from last term. In addition to a detailed description of your final strategies and analyses of your competition performance, please include any supplementary experimental plots, testing, etc.

    And one other thing: please send your reports by Friday by email as an attachment. In the text body of the message, please include a succinct one- or two-sentence summary of your strategy, and please be sure that all team members names are on your report. I'd like ALL TEAMS, even those external to Penn or not receiving any kind of formal credit, to send this email. I ask for this because we are in the process of writing a paper on the project, and want to include brief descriptions of all your strategies.

    Some comments on recent activity in the competition:

  • Clients Wong (Blue) and Kadakia (Red) lead their respective pools with 43 points each. The Red race is considerably tighter, with Client Yu close behind. With six out of seven days of profitability, Client Wong looks well-positioned to earn the one-time 15-point consistency award, and may be difficult to catch.
  • A classic case of negative market impact occured in the Red pool around 3:30 PM yesterday, when Client Skolnick decided to suddenly place a single order to buy 100,000 shares. This order ate deep into the PXS sell book, briefly driving our internal price up by about 36 cents a share. All the sellers in the book benefitted royally from this folly, while Client Skolnick lost 100K of value in the transactions. But the incident nicely shows how our mixture of external market data and internal clients guards against overly optimistic treatment of huge and sudden transactions.
  • May 7 results will be posted late today.

    News and Notes 5/06/03: MAY 6 RESULTS IN.


  • Cumulative spreadsheet with rankings
  • May 6 Charts
  • May 5 Charts
  • May 2 Charts
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 5/05/03: MAY 5 RESULTS IN.


  • Cumulative spreadsheet with rankings
  • May 5 Charts
  • May 2 Charts
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 5/02/03: HALFTIME!


  • Cumulative spreadsheet with rankings
  • May 2 Charts
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 5/01/03, Part 2: MAY 1 RESULTS IN.

    Comments on the trading day:

  • Ugly day. Only two clients in the black. It hurts to give P&L points out to agents that lost money, but hey, those are the rules. Thank God for the other point categories.
  • Client Wong continues to roll, maintaining a 6-point-per-day average.
  • Total PXS volumes for the day: Blue pool, 7MM shares; Red pool, 5.5MM shares


  • Cumulative spreadsheet with rankings
  • May 1 Charts
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 5/01/03: APRIL 30 RESULTS.

    Comments on the trading day:

  • The Boys from Texas are rearing their heads again, with strong overall performances yesterday from clients Feng and Yu.
  • Client Wong of the Blue pool is off to a great start, showing consistent earnings, and regular position saturation and reversals.
  • Client Kadakia of the Red pool is in the red overall, but is doing well by regular adherence to good trading practices, including daily unwinding of position.
  • Total PXS volumes for the day: Blue pool, 5MM shares; Red pool, 5MM shares


  • Cumulative spreadsheet with rankings
  • April 30 Charts
  • April 29 Charts
  • April 28 Charts

    News and Notes 4/30/03: BLUE BULLS RUSH IN.

    Comments on the trading day:

  • We have had one up day and one down day for the market, so the two teams with positive P&L on both days have been given 5-point variation (Var) points.
  • As the scoring criteria have become considerably more complex, errors in scoring are possible. Please help us out by checking your own scores carefully and alterting us if you think there has been an error.
  • Total PXS volumes for the day: Blue pool, 4.3MM shares Red pool, 4.9MM shares


  • April 29 Charts
  • Cumulative spreadsheet with rankings

    News and Notes 4/29/03: FINAL COMPETITION UNDERWAY.

    We're off and running in PPC 2003; daily results are posted below. Some quick comments:

  • Raw output files will be made available each day in a subdirectory of /pxs/final-comp named to match the trading date. For example, Monday's output files are in /pxs/final-comp/04282003.
  • The scoring criteria (link below) now have 3-letter codes for each category that are used in the spreadsheet.
  • The spreadsheet will have daily entries for the four categories in which daily points are possible (P&L, Sat, Unw, Rev). The two categories in which only occasional points are possible (Con, Var) are given cumulatively.
  • There were significant differences in liquidity in the two pools, with the blue pool trading in excess of 13MM shares, and the red pool trading a bit over 4MM shares. Nevertheless, the internal simulator market and the Island market tracked each other closely in both pools.
  • Please remember that every team is permitted one change of client invocation script over the course of the competiton. You should submit via email to pxs@gradient with the subject line "Modified invocation script", and simply include the script line in the email. The new invocation will be used on the following trading day.


  • April 28 Charts
  • Cumulative spreadsheet with rankings
  • Scoring criteria, with 3-letter codes for spreadsheet

    News and Notes 4/25/03: CLIENTS FOR COMPETITION DUE TODAY.

    Folks, here are the instructions for turning in your code. We need executables, scripts, and source.

    1. There is a new world-writable directory on gradient, which is /pxs/final-comp. This directory has two sub-directories, exec and src.

    2. In the directory /pxs/final-comp/exec, you should place ALL FILES necessary to run your client:

  • the executable, named client.lastname, where lastname is the lastname of someone on your team
  • a one-line script, named script.lastname, which invokes your client as you wish
  • an optimal instructions file readme.lastname
  • any additional files your client needs

    3. In the directory /pxs/final-comp/src, you should:

  • CREATE a directory named lastname for your team
  • put in that directory EVERYTHING we need to compile your code, including all source and the makefile

    In all cases above, it is your responsibility to make sure all files are readable by us!


    Good Luck!

    News and Notes 4/24/03: IMPORTANT CLOSING TIME CHANGE.

    It has been pointed out that the NASDAQ closing is at 4 PM, not 4:30, so competition simulations will be run from 9:30 AM to 4:00 PM.


    Tomorrow at 10 AM will be the last weekly meeting for the year. I am out of town but Luis will be on hand to answer last-minute questions prior to Friday's deadline for submitting executables and scripts. Details will be given shortly about where to put your code.

    Miscellaneous tidbits:

  • Since it looks like we have added the ability to automatically stop simulations at a designated time, the plan is for each day of the competition to be simulated from 9:30 AM to 4:30 PM, which are normal market trading hours. This is relevant for those of you who are using the simulator clock to unwind your position, or in some other way. Note that since activity on Island becomes progressively sparser and therefore more volatile after 4:30, it's generally a bad idea to be trying to do large transactions after then anyway.
  • Each team will be allowed to submit a modified invocation script (but NOT executable) exactly ONCE during the competition. It is up to you when (and whether) you do this, but you get to do it only once. In order for a change to be effective for a trading day, we must receive, via email to pxs, the new invocation line the night before the trading day. Please use the subject line "Modified invocation script".

    News and Notes 4/21/03: VARIOUS UPDATES.

    First of all, please remember the upcoming deadlines, specified in the 4/11 News and Notes; we will continue to adhere to the schedule given there. The first major deadline is for your client executables and invocation scripts this Friday. At this point you should be fine-tuning and testing your strategy, not implementing major revisions.

    There are new and improved versions of the plotting scripts, including the addition of a plot showing the total volume of shares matched by the simulator (for all clients), and the total volume of shares matched by the simulator in which your client was part of the transaction. These plots will play an important role in a revision of the risk saturation scoring criterion discussed below. As before, the new plotting scripts are in the directory /home/pxs/bin/plotting, and you should copy everything there to your local directory. We have renamed the main script, so to execute you should do "./ out.client".

    IMPORTANT: Revised "Risk Saturation" scoring criterion: After some thought and conversations, I have decided that the Risk Saturation scoring criterion --- which was an attempt to make sure clients engage in enough trading given their share position limit --- was overly strict, and in particular would punish market-making and similar strategies, whose very goal is to trade in high volumes but maintain a position near 0. While leaving the original way of earning the points, I have added a second way which simply asks that your client trade at least half of "its share" of the overall matched volume. The revised criteria are here.

    News and Notes 4/16/03: NEW PLOTTING SCRIPTS.

    Many thanks to Narayanan Mahesh, who has generously provided us all with very nice new scripts to plot various quantities from the client output of the beta simulator. In order to obtain and use these new scripts:

  • From the directory /home/pxs/bin/plotting, make a local copy on your own account of the three files, tplots.gnu, and merge.tex.
  • If out.client is the name of a client output file from the beta simulator, simply execute ./ out.client

    This will produce the following files:

  • iprice.eps, simprice.eps: plots showing the last price and inside market throughout the simulation for Island and the simulator, respectively.
  • bothprice.eps: for purposes of direct comparison, the Island and simulator last price on the same plot (no inside markets shown).
  • cash.eps, share.eps, value.eps: plot showing the cash holdings, share position, and Island and simulator valuations of the clients holdings.
  • a single file combining many of the above plots.

    After making local copies of these scripts, you can of course modify them to suit your own needs and taste.

    News and Notes 4/16/03: MEETING TOMORROW.

    We will have our usual weekly meeting tomorrow at 10 AM at IRCS. Luis and I will be on hand to answer questions about the competition criteria, the beta simulator, etc., or to provide advice on your strategies.

    News and Notes 4/11/03: IMPORTANT UPDATES.

    The following note contains important information and updates on the following topics:

    1. price information and valuation in the simulator
    2. revised schedule and deadlines for the competition
    3. multi-client testing

    First, some comments on the difference between the Island last price and inside market, and the simulator last price and inside market, all of which are now provided in the client output file (as well as available to clients directly via internal variables). Recall that the Island last price is always the last price that Island executed a trade at, however long ago that was. In the case of Island, the time intervals between trade executions is quite small during regular trading hours, but tends to lengthen after 4:30 PM or so.

    Similarly, the simulator last price is, by definition, the last price at which the simulator executed a trade. Remember that the simulator only executes trades in which at least one side, and possibly both, is a virtual client order. Thus the rate of change of the simulator last price is determined entirely by the frequency of client orders matched, and thus will be slow during periods in which there is little client activity. In particular, if you are running your client solo with the simulator, unless you are frequently having trades matched, you will find that the simulator last price is indeed very slow to change.

    The Island inside market and simulator inside markets are simply the prices at the top of the buy and sell queues in Island and the simulator, respectively.

    Why should your client care about all these different values? Your client should definitely care about the simulator inside market and last price, because it is at these approximate prices that the internal simulator market is showing liquidity, and thus determines where you must place orders in order to get matched. The simulator and Island markets could be wildly far apart, so if you placed orders according to the Island info, you could be way off. (And this was a flaw in the pre-beta simulator, which only gave you access to the Island info.)

    The reason you should care about the Island last price is becuase it is Island last price that will be used to compute your client's valuation at the end of the day. This decision is somewhat arbitrary, but there is a rationale for it. Recall that when we value your clients holding, we are doing so under an "infinite liquidity" assumption --- i.e. that you could unwind your current position at the current last price without moving the market at all. This is an unrealistic assumption (somewhat but not entirely moderated by the 100K limit on your position). We feel that this assumption is more warranted in the external Island market than in our simulator, so we will apply Island last price when doing valuations for the purposes of the competition.

    In summary:

  • If you want to know where the current market is in the simulator, and therefore where you can expect trades to be executed, look at the simulator last price and inside market;
  • But be aware that at the end of the trading day, your share position will be valued according to the Island last price.

    Now, on the logistics: at the request of a number of teams, I am pushing all the deadlines back by a week, except for the final report deadline. Thus the schedule is now as follows:

  • Friday, April 25: client executables and invoking scripts due
  • Monday, April 28 --- Friday, May 9: the 10 trading days of the competition
  • Friday, May 9: Final reports due.

    Note that the shift in deadlines means that your final reports will be due before you've had time to fully digest all results of the competition, but you should have enough partial info to do your write-up.

    Some teams have complained that they are unable, due to load limit restrictions and lack of access to other team's clients, to run simulations that approach the conditions of the competition. We don't have the time to coordinate such testing for you, but in response to these concerns are doing the following:

  • Effective immediately, load limit restrictions are being lifted on weekends, and on weekday nights between the hours of 8 PM and 6 AM. We may have to modify these depending on load, but are hoping that the great speed of the beta simulator in asynch historical mode will keep things managable.
  • Teams are encouraged to communicate with each other directly via email and organize multi-client pick-up simulations themselves. Remember that all this requires is putting the executables together in one place, and creating a script that invokes the simulator and all executables together using a common port.

    And again, please follow N&N for updates, including to the scoring criteria for the competition.

    News and Notes 4/8/03: THE 2003 PLATINUM PLATTER COMPETITION (PPC 2003).

    I couldn't resist giving the hokey name above to the final competition that will close out the first year of the PLAT project. This News and Notes entry describes the logistics, guidelines, and judging of PPC 2003. Please note that in addition to the satisfaction of a job well done, PPC 2003 performance will form a non-trivial portion of the grade for senior design and independent study students. Please read on.

    First, some quick logistics and deadlines:

  • PPC 2003 will be run using the recently released beta version of pxs. Simulations will be run in asychronous historical mode. As with our last competition, each simulated trading day will be run on historical data immediately following the actual trading day. If you have not yet adapted your client to the beta version and tested it appropriately, you are advised to do so immediately.
  • The clients will again be divided into two pools of roughly 6 clients each.
  • Executables and invoking scripts for clients will be due Friday, April 18. No extensions will be permitted, as we will use the following weekend for preliminary testing.
  • PPC 2003 will take place over the 10 trading days of Monday, April 21 through Friday, May 2.
  • There will be no rounds or eliminations in PPC 2003 (except for possible disqualifications); all clients will trade for all 10 days.
  • Scoring of client performance for PPC 2003 will incorporate a number of metrics, only some of which are directly related to profitability, and which are described below.
  • Final reports for the year will be due Friday, May 9.

    Now for details on the scoring of clients. All year I have stressed the importance of proper testing and calibration of clients, including volume of trading, risk saturation, position unwinding, robustness to varied market conditions, etc. Many of these properties will be put to the test in PPC 2003 scoring. More precisely, the PPC 2003 performance for a client will be determined by points assigned from a number of categories, and aggregated to give an overall score. Below is a link to the preliminary list of categories and point values. This list is nearly certain to change and expand over the next two weeks, so please monitor closely. I am also willing to hear suggestions for point categories.

  • PPC 2003 Scoring Categories and Regulations

    News and Notes 4/2/03:

    We will have our weekly meeting tomorrow at 10 AM at IRCS. I will not be there, but Luis Ortiz will be available to answer questions and provide individual help regarding the new simulator.

    News and Notes 3/28/03:

  • The release notes for the beta version of pxs have been updated and are available here.
  • Some of you have asked for a more concrete deadline for understanding and successfully using the beta version. I would say that if you have not adapted your current strategies, and successfully run (i.e., no crashing, full trading day, and with expected trading behavior) at least a couple of asynchronous mode historical simulations by next Thursday's meeting, you will be in some trouble. Thursday's meeting will be devoted to helping people who have had problems. If you don't even try by next Thursday, you'll definitely be in trouble, since we'll be less available to help you.
  • In terms of preparation for the competition, you should primarily run the beta pxs in asynchronous historical mode.
  • Load limits on gradient of one pxs-client pair at a time are still in force. However, if you run in asynchronous historical mode, you can now get many more jobs into the same period of time.

    News and Notes 3/26/03: WEEKLY MEETING TOMORROW AT 10; NEW RELEASE OF PXS!!!

    There is a new release of the simulator, available immediately; details are available here and may be updated frequently. The new pxs will be used for all future competitions, and it is your responsibility to make sure you understand it, adapt your stategies to it (though Luis Ortiz has given you a head start on this), and experiment with it.

    I will not make a formal assignment regarding the new pxs, but during the next week or so we will be very sympathetic to emails sent to pxs asking questions about it, or asking for help in its use; and much beyond this period we will be very unsympathetic. So procrastinate at your own peril...

    Luis Ortiz will be available to answer questions about the new simulator at tomorrow's meeting.


    Ronggang Yu of the University of Texas is the champion of our 3-round competition, with his client making a strong showing on the final day of a difficult five-day final round. Congratulations Ronggang! Final spreadsheet and client plots below.

    We will resume our weekly meetings tomorrow at 10 AM at IRCS. There are a number of potentially important agenda items for tomorrow, so if at all possible I suggest that every team try to have a representative there, for your own benefit. Items to be discussed include the following:

  • There will be some analysis of the competition, including critiques of specific clients. Now that I have seen all the clients in action for a healthy chunk of time, I feel that a number of them are miscalibrated in basic and important ways. I am going to give specific examples of behavior I think calls for fixing, or would be interested to hear the teams justify that behavior in terms of the underlying strategy. When final evaluations/grades are determined, I am going to look hard to see if such things have been addressed.
  • There will be one last, grand competition to end the term, and the overall structure of it may be discussed.
  • We may be on the verge of a new and much imporved simulator, and everyone will be required to make certain modifications of their code to port to it. Time permitting, we might discuss.

    Final Finals Spreadsheet

  • Client plots:
    Mar 12 (Day One)
    Mar 13 (Day Two)
    Mar 14 (Day Three)
    Mar 17 (Day Four)
    Mar 18 (Day Five)

    News and Notes 3/18/03: DAY FOUR COMPLETED.

    ...And the grimness continues. Client Yu suffered spectacular losses, and now it's a toss-up heading into today, the last day of the finals.

    Current Finals Spreadsheet

  • Client plots:
    Mar 12 (Day One)
    Mar 13 (Day Two)
    Mar 14 (Day Three)
    Mar 17 (Day Four)

    News and Notes 3/17/03: DAY THREE COMPLETED.

    With the continued inability of client Luss to adjust to bullish days, client Yu from Texas has pulled out to a comfortable lead following a modest gain on Friday.

    Current Finals Spreadsheet

  • Client plots:
    Mar 12 (Day One)
    Mar 13 (Day Two)
    Mar 14 (Day Three)

    News and Notes 3/14/03: WALL STREET RALLY WASTED.

    It seems our finals clients are firmly tuned for a bear market; while Wall Street had its best day since October yesterday, we suffered painful losses. Can either client climb back into the black in the remaining three days?

    Current Finals Spreadsheet

  • Client plots:
    Mar 12 (Day One)
    Mar 13 (Day Two)

    News and Notes 3/13/03: A DISMAL START.

    Both clients took heavy short positions and were badly hammered by a late MSFT rally on Day One of the finals.

    Current Finals Spreadsheet

  • Client plots:
    Mar 12 (Day One)


    Client Luss made a strong final push and Client Yu (UT) hung on to second place despite losses, and will now meet in the five-day finals. Since it is Penn Spring break, there will be no modifications allowed to either clients or scripts, and we will begin the finals immediately with today's MSFT data.

    Congratulations to the finalists.

    Round Two Final Spreadsheet

  • Client plots:
    Mar 5 (Day One)
    Mar 6 (Day Two)
    Mar 7 (Day Three)
    Mar 10 (Day Four)
    Mar 11 (Day Five)


    With only one day to go in Round Two, heavy losses brought all but one team into the red for cumulative four-day earnings. The race is now quite tight, with several teams in contention for the second spot in the finals. Fifth and final day will be today.

    Round Two Current Spreadsheet

  • Client plots:
    Mar 5 (Day One)
    Mar 6 (Day Two)
    Mar 7 (Day Three)
    Mar 10 (Day Four)

    All six clients finished in the red as they could not shake off negative sentiment despite a bull day for MSFT.

    Round Two Current Spreadsheet

  • Client plots:
    Mar 5 (Day One)
    Mar 6 (Day Two)
    Mar 7 (Day Three)

    News and Notes 3/7/03: ROUND TWO, DAY TWO COMPLETE.

    We've completed Day Two, and the race is beginning to shape up:

  • Clients Feng and Yu from UT Austin continue to propser and lead the pack.
  • Clients Mahesh and Luss are showing signs of life (though client Luss seems incapable of doing anything but shorting the stock all day in a very predictable pattern; it must pray there is not a sustained MSFT rally).
  • Clients Morgovsky and Skolnick appear to be miscalibrated, failing to saturate risk and thus not trading enough to be competitive at this point.

    Details below.

    Round Two Current Spreadsheet

  • Client plots:
    Mar 5 (Day One)
    Mar 6 (Day Two)

    News and Notes 3/6/03: ROUND TWO, DAY ONE COMPLETE; ALL-TEXAS FINAL???

    We have completed the first day of Round Two, and our two clients from the University of Texas Austin have pulled out to early leads, being the only clients finishing in the black, and doing so by healthy margins. Are we heading for an All-UT final? Food for thought. Details are below.

    Round Two Current Spreadsheet

  • Client plots:
    Mar 5 (Day One)

    News and Notes 3/5/03: NO MEETING TOMORROW.

    There will be no weekly PLAT meeting tomorrow, as I am out of town. Round Two of the competition will proceed with today's MSFT data as scheduled.


    Round One of the competition has completed, and we have our winners:

  • RED POOL QUALIFIERS: Luss, Feng (UT), Mahesh.
  • BLUE POOL QUALIFIERS: Skolnick, Yu (UT), Morgovsky.

    Client Chi had third-place earnings in the Red Pool, but was disqualified for its third share position limit violation in five days. I might have forgiven this had the gap between clients Chi and Mahesh not been so close.

    Congratulations to the Round Two qualifiers.

    As described previously, the six clients above will now advance to Round Two, facing off in a single pool over a five-day trading period to determine the two finalists to meet in Round Three. Round Two will begin TOMORROW (Mar 5). We will skip today's MSFT data to permit Round Two qualifiers to update their executables and shell scripts (see below for instructions).

    Detailed Round One results:

  • Spreadsheet of final Round One client profit/losses for the five days, including final rankings
  • Client plots:
    Feb 24 (Day One)
    Feb 26 (Day Two)
    Feb 27 (Day Three)
    Feb 28 (Day Four)
    Mar 3 (Day Five)

    ROUND TWO QUALIFIERS: You are permitted, at your own risk, to update your executables and the one-line script command invoking your client. (I advise you not to forget that your current executable got you this far.) You have only until MIDNIGHT TONIGHT (Weds) to do this. As before, you should copy client.lastname, script.lastname, and any other files needed, to the writable directory /pxs/clients-exec on gradient (do NOT copy to the source directory). As always, don't forget to set the permissions properly. If you decide to update your client and/or script, you might want to send me mail so I know. Teams for which there is no new client or script will automatically have their Round One submission used; there will be no modifications allowed after midnight tonight until the competion of Round Two.

    Good Luck!


  • Spreadsheet of current client profit/losses for the four days, including current rankings
  • Client plots:
    Feb 24 (Day One)
    Feb 26 (Day Two)
    Feb 27 (Day Three)
    Feb 28 (Day Four)

    Important note: teams that advance to round two will have the opportunity to provide new executables and invoking scripts for the second round; details to be announced. It is expected that only minor adjustments to your existing strategies will be done.

    News and Notes 2/28/03: COMPETITION UPDATE.

    Don't forget that all teams must provide their client source code by 6 PM today; see yesterday's N&N.

    We have now completed 3 of the 5 days for Round One of the competition, and things are starting to shape up. You can see where things stand in the following links:

  • Spreadsheet of current client profit/losses for the three days, including current rankings
  • Feb 24 (Day One) client plots
  • Feb 26 (Day Two) client plots
  • Feb 27 (Day Three) client plots

    Some further remarks and observations:

  • I have disqualified one client in the red pool that was in repeated and extreme violation of the share position limit. This client was almost certainly providing the red pool with inflated liquidity on the sell side, so it will be interesting to see what happens on the last two days with this client removed.
  • There is a heated battle for the third and final playoff spot in the red pool.


    Due to the premature termination of a client in the red pool on Day One that was not the fault of the client itself, I have rerun the red pool simulation for Day One and the revised results are available here. The results are qualitatively similar for all teams, but there are quantititive differences. The blue pool results are unaltered for Day One. I am currently running the simulations for Day 2 (Weds) and will do Day 3 (Thursday) overnight, so keep an eye out for updates.

    Source code assignment: I would now like fully compilable source code for all of the clients for the competition. In addition to wanting to examine your code, we are actively working on a new release of the simulator and want the source code for testing purposes and backwards compatibility.

    In the publicly-writable directory /pxs/clients-source on gradient, there is a writable subdirectory for each last name under which a client was submitted for the competition. Each team should place in that directory all files required to compile and execute your strategy. If you have not modified the makefile, and do not call any external programs or code, then probably all that you need to copy there is your strategy.c. If you have other material (code or executables) that is needed, please copy it there with a README explaining anything we need to know to compile and execute. Don't forget to set the permissions properly in your subdirectory by executing "chmod a+rwx *".

    DEADLINE FOR THE ASSIGNMENT: FRIDAY (TOMORROW) BY 6 PM. This assignment should be a trivial file-copying exercise.


    I am out of town and returning Thursday AM, probably not in time to hold our weekly meeting. It's possible I will be around later that morning however, so teams interested in meeting with me briefly can send email and see if it works with our schedules.

    Yesterday we did not get data from Island due to a network problem, which hopefully will not recur today. We'll thus be skipping Tuesday in the competition, and Day 2 will be Wednesday. I will just shift the schedule forward as needed to make sure we get five days of trading in each of the three rounds.

    News and Notes 2/25/03: ROUND ONE, DAY ONE.

    The first day of the first round of the competition was run overnight, and the results are summarized here. Please note the annotations on several of the client results, some of which will involve subsequent rulings. I'm not entirely decided yet, but I am inclined to "forgive" share position violations that I deem having been the cause of losses.

    For those of you seeing the value and share plots for your clients and the other clients, they are available in postscript format from this directory.

    Finally, I the raw output files are available on gradient at /pxs/results/Feb* under the appropriate date. I do not promise that these files will remain there indefinitely, so you might want to do any analysis sooner rather than later.

    News and Notes 2/24/03: FORMAT OF THE COMPETITION.

    I have now received client executables and invoking scripts from all teams, and from a very brief and preliminary test it appears they all run properly. We thus have a healthy pool of 13 clients for the current competition.

    My main goal in the competition is to try to get some more reliable results than last term, and the main way we will achieve this is by simply running more simulations. To keep things interesting, I am going to structure this as a 3-week, 3-round tournament. The first round will take place this week.

    For the first round, I have again divided the 13 clients into two pools. On each day of MSFT trading this week, I will run two simulations, one for each pool, and aggregate the total returns for the week for each client. As always, I will rule on any violations of the share position limit, abnormal termination of clients, or other controversies. The pools for the first round are as follows:

  • RED POOL CLIENTS: client.chi, client.fengFromUT, client.hausman, client.kadakia, client.lao, client.luss, client.mahesh
  • BLUE POOL CLIENTS: client.morgovsky, client.nevmyvaka, client.shah, client.skolnick, client.yuFromUT, client.zhang
    Note that the red pool has 7 teams while the blue has 6.

    The top three performing clients from each pool will advance to the second round. Thus, the second round will contain six clients. These will all be run in a single simulation on each day of trading next week (the week of March 3).

    The top two performing clients in the second round will meet in the finals, to be held the week of March 10. Again, there will be a simulation for each trading day and the results aggregated.

    Some remarks about how I plan to run the simulations: I generally plan to run the simulations at night on the previous day's data, in order to reduce the load on gradient during working hours. For this reason, all teams are requested to refrain from running any simulations during the hours of 7 PM to 7 AM each night during the three weeks of the competition.

    Good Luck!

    News and Notes 2/22/03: CLIENT SUBMISSIONS DUE TOMORROW.

    Tomorrow you should all submit executable (not source) code for your trading clients for the coming competition. Here's how to do it:

  • The directory /pxs/clients has been created on gradient, which is world-writeable.
  • You should copy two files into this directory:
    client.lastname: the executable code for your trading client
    script.lastname: a one-line shell script invoking client.lastname exactly as you wish for the competition, setting all command-line arguments as desired. You should specify the port as XXXX (we will set this), and not specify a -h date argument. Note that if you have been invoking your client under a different name, you will need to change it to client.lastname in the script.
    In the above, lastname is the lastname of one of your team members. In addition, if there are other data files your client needs, copy them to the directory, and place a file named readme.lastname with any salient info you think we need.
  • MAKE SURE WE CAN READ AND EXECUTE YOUR FILES! The easiest way to do this is to do "chmod a+rwx filename" on each of the files.
  • Do not remove or modify any of the files in the directory that do not belong to you.
  • Send mail to pxs@gradient when you have completed the steps above.

    News and Notes 2/12/03: WEEKLY MEETING TOMORROW.

    We will have our usual weekly meeting tomorrow at IRCS at 10 AM. At this meeting, I will have no prepared remarks other than reviewing the upcoming deadlines and assignments; Luis Ortiz and I will then spend time chatting with individual teams that want help or advice on their strategies.


    First, a quick update: It appears that the debugging of the next release of the simulator (which would enable faster simulation on historical data) is proceeding more slowly than expected, so we will carry on for now with the extant version and its API.

    There are two upcoming deadlines for the project, elaborated on below:

  • By Sunday, Feb 16, I would like to receive a progress report from all teams. This progress report should build on your recent strategy proposal(s), as well as on any discussion or comments we might have had subsequently. It should indicate the progress you have made in coding and testing your strategies.
  • By Sunday, Feb 23, all teams must provide executable code for their strategies, along with a one-line script invoking it with your desired parameters (much as for last semester's competitions), for entry into a competition that week. Details of where to place the code on gradient will be given later.

    While the details of the competition the week of 2/23 are not yet fixed and will be elaborated upon later, PLAT staff will run the competition, so all you need to provide are your executable and script. The competition will likely average your performance over several simulations on live and historical MSFT data, and rotate your strategy into direct competition with several sets of other strategies. An effort will be made to run enough simulations and variations to get more reliable indications of the success of your strategies.

    As in last term, there is a simple rule that your share position must never exceed 100K shares (long or short) at any time during the trading day. Violations are grounds for disqualification from the competition.

    We will once again need to manage the load we generate on gradient during the two weeks between now and the competition. I urge you to not wait until the last second to work on this --- we reserve the right, as needed, to implement sudden policy changes restricting your simulations if the load becomes too high. For now, I want to try to keep the policy lightweight, so we will try the following: if you see more than 5 simulations running (try the unix command ps -aux | grep "/home/pxs/bin/pxs"), you should not start a new one until there are fewer than 5; and if you complete a simulation, you should wait for at least 12 hours before running another. We will be running a script that monitors exactly who is running simulators and when they started; egregious violators of the policy may have their simulation rights suspended for a period of time to give others a chance. Please try to be cooperative; I hope to not need to implement a more complex policy.

    Finally, there are some new participants on the project who do not have ports assigned yet; if this includes you, please contact me for an assignment.

    News and Notes 2/4/03: Thanks again to Michael Bos and Andy Ellner of Lehman Brothers for their visit last week!

    As mentioned in an email sent just now, there will be no weekly meeting this week due to Prof. Kearns moving residences. However, please follow News and Notes daily, as we will shortly release a new version of the simulator allowing much faster historical simulations, and a related assignment.

    Meanwhile, diligent teams will continue to brainstorm on their planned strategies, and should feel free to begin testing on the current version of the simulator.

    News and Notes 1/29/03: LEHMAN VISIT TOMORROW. I repeat several points I made in an email just sent to all of you:

  • Our first Lehman visit is tomorrow morning at IRCS. Coffee, juice, bagels, etc. will be available around 9:30, and we'll start at 10.
  • Please come prepared to ask questions and discuss your ideas on trading strategies.
  • I would suggest you dress nicely --- perhaps "business casual" --- but no need to go over the top.

    News and Notes 1/27/03:

  • Don't forget the Lehman visit Thursday 10 AM at IRCS. I have not heard otherwise so am expecting all project participants to be there.
  • I finally got around to running a competition among the strategies that use order book data on MSFT today. Generally a bleak day; a couple of the strategies managed to climb back into the black on a late rally. A couple of the strategies seemed to terminate prematurely (as indicated by having fewer ticks).

    News and Notes 1/22/03: Don't forget your proposals are due today; please send them by email under the subject heading "PLAT proposals". And we have our usual weekly meeting tomorrow at 10 AM at IRCS, where there will be time to discuss your ideas.

    News and Notes 1/19/03: LEHMAN VISIT; FIRST ASSIGNMENT OF THE NEW TERM. We are confirmed for our first visit from Lehman Brothers on Jan 30 as previously discussed. At this point, nobody has sent me email saying they cannot make this date. I am expecting each of you to be there for this if you haven't told me otherwise, including people who don't attend the regular meetings. Send me mail immediately if you cannot make it.

    Your first assignment of the new term: I want everyone to think of 2-3 different ideas for trading strategies that you might be interested in building this term. You should submit to me a brief description of your ideas (say around half a page for each strategy) by 6 PM on this coming Wednesday, Jan 22. The point of this assignment is to get you started in the process of settling on an interesting strategy, and to give us material to discuss. Please try to think of a variety of different strategies, and not just describe several small variations on a basic theme. Larger teams might want to generate even more ideas.

    I realize the deadline is short, but you are being asked for just a short and informal write-up. I want to have these in time for Thursday's weekly meeting, which will be devoted to me and Luis Ortiz spending individual time with your group representatives at the meeting to chat about your ideas, help you refine and improve them, etc.

    News and Notes 1/17/03: Today we are running a competition among the strategies that use order book data. (Note: this simulation seems to have died sometime in the morning. I will try running it again on Tuesday; Monday the markets are closed for MLK day.)

    News and Notes 1/14/03: LIVE BLUE POOL COMPETITION; THOUGHTS FOR STRATEGIES. Primarily to remind myself how to run all the scripts for a competition, I am running an informal live competition of the blue pool from last term. From the results, it looks like the bull market is back in 2003!

    To help get your creative juices flowing, below I am listing a few broad categories of trading strategies that seem interesting or promising to me that you might want to contemplate for the coming term:

  • Strategies that utilize order book information in deciding how and when to trade. I think the competition results indicate there is something interesting to be had here, and this type of data is relatively new to Wall Street.
  • Market-making strategies, and other strategies that are not deliberately attempting to predict price movement, but exploit volatility.
  • Strategies that use other disparate sources of external data. One idea along these lines is to try to use simple information retrieval methods to predict market movements from text business news stories (perhaps in combination with numerical market data).
  • Machine learning strategies. That is, strategies that maintain an adaptive predictive model of price movement that is modified regularly in response to market data.
  • State-based models. That is, strategies that have a (probably statistical) model of market "state" and (probabilistic) transitions between states, and make trades based on the current state in some simple way. While almost anything cosmetically falls into this category, I am imagining perhaps simple models that keep track of a limited number of "events" in the daily history of the stock.

    News and Notes 1/13/03: Our first weekly meeting of the new term will be this Thursday, Jan 16 at 10 AM at IRCS. At this meeting, we will spend some time discussing the live competition results, and also discussing the structure of the project for the Spring term; for those of you unable to attend in person, here is a brief description of the planned structure.

    Last semester we learned some basics, and had a rushed competition towards the end among interesting but hastily-designed and hastily-implemented trading strategies. Now we have the luxury of a working simulator and four months to work, so we're going to raise the bar a bit.

    In general, I anticipate that the bulk of your work for the term will be designing, implementing, testing and competing with a single strategy. We will have multiple competitions of varying formats.

    I want to stress that at this point, everyone is free to change from the strategy they built last term. I encourage all of you to consider doing so --- this is an opportunity to do something really interesting and novel, and to have time to do it properly, a luxury you didn't have last term. And this time, we will take a stronger hand in vetting and approving your strategies --- you will probably all explain and "defend" your strategies in informal discussions with me, the group, the Lehman folk, etc. There should be a simple and reasonable economic or market "theory" or story behind the strategy you build, and you should be ready to articulate it. More guidance about promising directions, and about the process of getting your strategy approved, will be discussed Thursday and posted here as well.

    You are also all free to change, add, or drop partners. These will be people you will work with closely all term, so choose wisely. More will definitely be expected of larger teams, so if larger teams find themselves unable to justify their headcount for the strategy they have chosen, they should consider breaking up into smaller groups.

    News and Notes 1/11/03: TENTATIVE VISIT FROM LEHMAN FOLKS: JAN 30. We have tentatively arranged for a group of our sponsors/mentors from Lehman to visit us at Penn for a few hours on Thursday, Jan 30 at IRCS, starting at our usual weekly meeting time of 10 AM. While I realize that many of you cannot make the weekly meetings on a regular basis, I strongly encourage all of you to make an exception to your schedules if neccessary to make this. They are a valuable resource to us intellectually, and may form valuable professional contacts for many of you as well. You'll also be working with them over the coming term, so getting a face-to-face introduction is essential.

    I will let you all know when this date is finalized, but wanted to give early notice.

    News and Notes 1/10/03: WELCOME BACK.

  • PLAT is actively accepting new participants for Spring Term 2003. Please send mail to Prof. Kearns if you are interested.
  • All participants from the Fall should send me email confirming their intention to continue on the project this Spring.
  • The time for weekly meetings will remain Thursdays at 10 AM at IRCS unless I hear strenuous objections. Note that this term, this slot may be used for periodic get-togethers with our sponsors from Lehman Brothers.
  • Information about the structure of the project for the coming term will be posted here shortly, so please begin reading N&N regularly again.

    News and Notes 12/21/02: FINAL REPORTS. For those of you who have not emailed them to me already, please remember that the drop-dead date for your final reports is tomorrow (Sunday).

    News and Notes 12/20/02: RELATIVE SOURCES OF LIQUIDTY FROM LIVE COMPETITION. An interesting question to ask of the live competition, and future ones, is how much of the liquidity was provided by Island and how much by client-client trading. To give a quick-and-dirty sense of this, here is a plot (PDF format) for the red pool competition. This plot shows, as a function of time, the fraction of the volume in the top 15 orders of the simulator buy and sell books that was placed by our clients (versus coming from the Island books). The raw plot of these fractions is extremely noisy --- meaning that the fraction of liquidity generated by our clients can jump from near 0 to near 1 in just a few time steps --- so I have smoothed the plot by averaging over 250 time steps. The left-hand side of the plot should thus be ignored. For a slightly different view of the same data, here is a plot (PDF format) that ignores volume, and just shows the number of orders in the top 15 of the simulator buy and sell queues that were placed by our clients. Again, smoothing over 250 steps was performed.

    There are a number of points to make about these plots:

  • The majority of liquidity, at least as measured by the top of the simulator books, came from client orders, which hover between 30 and 80 percent of the books for most of the day.
  • Nevertheless, the simulation comprised a fairly healthy mixture of both Island and client liquidity, with Island liquidty forming the majority later in the day and nearly always constituting at least 20 percent.
  • Client buy liquidity generally seems to dominate client sell liquidity for most of the day.

    Now here are the same plots for the blue pool competition: fraction of client volume plot (PDF format) and the number client orders in the top 15 (PDF format). Compared to the red pool, it seems that

  • Sell liquidity dominated buy liquidity in the blue pool.
  • There was more Island liquidity in the blue pool, averaging more than half for most of the day.
  • Nevertheless, there was again a healthy mixture of both sources throughout the simulation.

    News and Notes 12/19/02 (Part 3): OUTPUT FILES FROM YESTERDAY. For those of you wishing to analyze your performance from yesterday, the raw output files for all of your clients and the two pxs processes should be accessible to you at /pxs/results on gradient.

    News and Notes 12/19/02 (Part 2): It seems that the top four earners from yesterday were trash-talking around the water cooler, and have decided to face off in an informal live competition today at 9:30. Check it out. (For some reason, on the live updates page the refresh/reload seems to work better in Internet Explorer than in Netscape.)

    News and Notes 12/19/02 (Part 1): Once again, yesterday's live competition was a great success and a great way to finish the semester. I want to take the occasion to single out for special thanks the team that developed the simulator and the project over the last 8 months:

  • Berk Kapicioglu
  • Byoungjoon Kim
  • Luis Ortiz
  • Rashid Tuweiq
    A warm round of virtual applause for these guys, who have put great thought and effort to get us to this point.

    A couple of final notes before you all head off for the break:

  • Your final reports are "officially" due to me by email tomorrow (please read 12/15 N&N for details on formatting and content), but I will accept them without penalty through Sunday for those of you wanting a little extra time. Please try to give everything as a single file if possible!
  • Over the break, I will probably run various informal competitions on the simulator and post the live results for those of you that can't bear the thought of so much time away from the project. Check N&N.

    Thanks to all of you for participating, have a great break, and see you next term!

    News and Notes 12/18/02 (Part 2): LIVE COMPETITION COMPLETED. I will post some further remarks here later, but the live competition has completed and the final result are here.

    News and Notes 12/18/02 (Part 1): LIVE COMPETITION TODAY; LEHMAN BROTHERS SPONSORSHIP. Just in time for today's exciting live-data competition to end the first term ever of the project, I am happy to announce the official sponsorship of Lehman Brothers, which now makes us the Penn-Lehman Automated Trading Project (PLAT). In addition to generous financial support, the Quantitative Trading group at Lehman will be interacting with us via visits and lectures both here and there, mentorship and advising to teams designing strategies, acting as judges on our competitions, and so on. Many thanks to Lehman Brothers!

    Now, on with business: today the live trading competition begins at market open at 9:30 AM, and ends at 4 PM. The usual plots of profit and loss, share position, and MSFT price for every team will be posted live throughout the day of here.

    Good Luck to everyone!

    News and Notes 12/16/02 (Updated 6 PM): ALL TEAMS ORDERED OFF GRADIENT; LIVE COMPETITION POOLS; MORE COMPETITION DETAILS. Since we need to run some preliminary testing for Wednesday's competiton, and also need to keep the load on gradient down, all teams should end all jobs currently running on gradient, and refrain from starting new ones until the completion of the competition.

    The draw for the live competition has been preliminarily set as follows:

  • RED POOL TEAMS: [Mahesh],[Lao/Leung/Wong],[Morgovsky/Sharma],[Kadakia/Vora],[Angel/Hausman].
  • BLUE POOL TEAMS: [Lowenstein/Rowin/Schwartz/Skolnick],[Yu/Zhang],[Jawaid/Shah], [Yu (UT Austin)],[Chi/Koltunov/Luss/Trinh],[Chavez].
    The results of the historical data competition have been annotated to indicate this pooling, in case you want to suss out your competitors.

    Also, a few other comments/clarifications about the competition:

  • The plan, if all goes well, is to run the competition Wednesday from 9:30 AM to 4:00 PM, which are normal market-open hours (even though low-volume trading on Island goes on before and after this period). Team representatives should come to IRCS by 9 AM at the latest.
  • We will run everything for you, including setting the port properly for your client, and dumping output to a file unique to your client (which we will make accessible to you for preparing your final reports). Your team rep is on hand primarily to deal with potential problems.
  • Live plots of every client's performance will be made available on the web.
  • Pizza will be ordered for everyone around IRCS at lunchtime.

    News and Notes 12/15/02 (Part 2): HISTORICAL COMPETITION RESULTS AVAILABLE. The (tentative) results of the historical phase of the competition are now available here, along with some brief analysis. You should examine these results not only to see how you fared compared to others, but to see the descriptions of what kinds of strategies others have implemented. Eventually these results will give links to the team reports as well.

    News and Notes 12/15/02 (Part 1):
    Don't forget: copy your executable code, script files and readmes to /home/pxs/public by midnight tonight (see yesterday's N&N). Please remember: you are providing us a single, binary executable for your client, not source code. We should not (and will not) compile anything for you.

    Several people have asked for a little more detail about what is expected for your final reports, due to me this Friday. Let me begin by telling you what components it should contain:

  • An English summary of your final strategy, along with a pseudo-code description. You should also justify your strategy (that is, discuss why it makes some sense and has a hope of being consistently profitable).
  • Inclusion of all relevant plots, clearly labeled, from the historical and live data competitions, along with analysis of when and why your strategy did well or poorly. Ideally this will be related to the justification you provide for your strategy.
  • Plots and analysis for any auxiliary live data or historical simulations you did while testing and fine-tuning your strategy. Don't just include lots of plots showing how much work you did; plots should be accompanied by insightful analysis, otherwise leave them out.
  • Listing of your code, with those sections written by your team clearly indicated.

    A formatting note: I will be especially grateful to those teams that figure out a way of giving all of the above elements in a single file containing everything (text, plots, code, etc.). Since we do everything electronically, it's a real hassle for me to have to deal with multiple attachments.

    Now let me indicate some of the main criteria I will apply in evaluating and judging your final reports:

  • Analysis. I will place great weight in how carefully and intelligently you analyze the performance of your strategy in the competition (or on other simulations you did). However, DO NOT simply generate lots of text saying things like "at the start of the day, we sold short and the price went up, so we lost money, but later we were long and caught the late rally". This is the kind of thing I can read off the plots myself. Your analysis should state things not obvious from the price, value and share plots. Teams that have auxiliary quantities specific to their strategy to plot will be in good position to give the kind of deeper analysis I am looking for, while teams that do not are probably in poor position.
  • Testing and iterative development. Independent of performance, I will view especially favorably those teams that have clearly put serious thought into their strategies, who did extensive, controlled testing of their strategy via simulations, and who modified and tuned their strategy in response to their testing.
  • Performance. I will indeed pay some attention to how your strategy did during the competiton.
  • Simplicity. All other things (e.g. performance) being equal, I will prefer simple strategies backed up by a simple theory over those with a complex or muddled story behind them.

    News and Notes 12/14/02 (updated 11:20 AM --- hint for strategies added at end): First, just a quick clarification --- your code and script are due Sunday at midnight, meaning between Sunday and Monday, not between Saturday and Sunday.

    Next, here are details for getting us your code on Sunday. We have created the directory /home/pxs/public on gradient for you to place the relevant files in. By tomorrow night at midnight, every team should have placed at least two and possibly three files there. It is absolutely essential that you not just put the files there, but set the permissions on them properly so that we can access them, since you are the owner of the files. The simplest way of doing this is to execute chmod a+rx filename for each file you place in that directory. You can always verify you have set the permissions properly with "ls -l".

    The three files are as follows; in each, "lastname" should be the last name of a team member who will be present on Wednesday, thus at the same time letting us know who to expect then.

  • mytrader.lastname: This is your exectuable mytrader code for Wednesday's live competition.
  • script.lastname: This file should contain a single line invoking your mytrader code exactly as you would like it to be invoked for Wednesday's live competition.
  • readme.lastname: This optional file should contain any information you would like us to have about your mytrader.

    IMPORTANT NOTE ABOUT PLOTTING: We will assume that the output of your mytrader contains price, value and share information formatted exactly as in the original client shell we provided. Additionally, some (hopefully all) of you will also write additional values to the output that are specific to your strategy, and will do so in a way that makes it easy to extract and plot them over time. The output files for your trader for Wednesday will be made readable to you following the competition so you can plot whatever you like for your final report.

    A number of you have asked about how to plot values written to your client output. Rather than trying to continually modify the scripts we have already written for the diverging needs of the groups, we want all of you to become adept at doing such plotting yourselves. The most basic tool you want is the unix command grep. If, for example, you have written lines of the form "myvalue=x", where x is some number and myvalue is just a string tagging such output lines, then doing cat outputfile | grep myvalue will produce only those lines containing the string "myvalue" from the file outputfile. You can then dump this to a file, use your favorite programming language to strip off all but the numeric values, and give the resulting datafile to gnuplot to produce a plot.

    HINT ON RISK SATURATION: There is one hint I want to offer for tuning your strategies for the live competition. This hint is based on an observation about the historical results. In the historical competition, a number of strategies did not "saturate their allowed risk". For example, some strategies never exceeded +/- 50,000 shares on any day, even though +/- 100,000 was allowed. In general I expect that the winners of both phases of the competitions will be teams that, at least at some point, come close to the allowed limit of shares. This is not to say that by approaching this saturation point you might not lose larger amounts rather than making larger amounts. But if you figure that some teams are going to make money, and that your strategy will make money also (which you might as well assume, since otherwise you probably won't win anyway), you want to (sometimes almost) saturate --- but not exceed --- the allowed risk.

    News and Notes 12/13/02 (Part 2): While today I am only asking for raw plots of value, shares and price, let me emphasize something I have repeated many times. In your final report, I expect to see plots of the other quantities relevant to your trading strategy. For example, if your strategy involves trading based on differences with a moving average of some sort, it makes sense to plot that moving average and those differences. Entirely independent of performance, I will look most favorably on reports that show these strategy-specific quantities and analyze their behavior carefully.

    News and Notes 12/13/02 (Part 1): HISTORICAL COMPETITION COMPLETED; RESULTS SUMMARY DUE; DETAILS FOR LIVE DATA COMPETITION. The historical phase of our competition is now complete, and I am expecting plots summarizing your performance for each of the three days by Friday at noon.

    Please remember that the live data day of the competition is this coming Wednesday, December 18 at 9 AM at IRCS. Every team is expected to provide at least one representative for the first couple of hours to make sure your client is running properly.

    Furthermore, every team must provide us with executable code for your client, and a single-line shell script that invokes your client exactly as you wish it to be invoked, by this Sunday, December 15 at midnight. In subsequent N&N I will post details about how to get this to us, as you cannot email the binary executables; probably we will simply set up a directory on gradient you can copy your executable to with a name that identifies your team. The only things in the shell script you do not need to worry about are the port number the simulator is running on (as we will determine this), and the name of the client output file, which we will set. Note that for the live data competition, you must commit to a single setting of your strategy parameters, and set these in the script you provide to us.

    The way the live competition will work is basically as follows: there are roughly 10 or so different strategies teams have implemented. We will divide these into two groups of approximately equal size; the division will be based on a combination of historical competition performance and the nature of the strategies in a way to make it hopefully as interesting as possible. For each group, a separate copy of the simulator will be running, and we will create a single script for each group that first starts the simluator, and then starts each of your client strategies using the script line you provided for us (with the port and output file set appropriately by us).

    For the live competition, we will retain the restriction that all strategies must keep their share positions between -100,000 and 100,000 at all times during the day; violoation of this may result in disqualification. Note that in the live competition, there may be signficantly greater liquidity and different trading patterns present due to the fact that you will possibly executing trades with other clients in your pool.

    News and Notes 12/12/02: Today is the third and final blue team day. Please remember that all teams should send me plots of their three days worth of historical data, along with a numeric summary for each day providing final value, and the max shares owned or owed for that day. This is due to me by email by NOON ON FRIDAY. Also, don't forget the live competition at IRCS on Wednesday; further details on this to follow.

    News and Notes 12/11/02: Wednesday is the third and final red team day.

    News and Notes 12/10/02: OK, it is now Tuesday and therefore a blue team day.

    News and Notes 12/9/02: It is now Monday AM and thus the beginning of the second red day of the historical simulation. All blue teams must kill all simulator jobs NOW.

    News and Notes 12/8/02: APPROACHING DEADLINES. Now that the competition is well under way, I want to specify a little further what I expect from each team over the coming two weeks, and when:

  • The historical phase of the competition will end Thursday at midnight. Immediatley following this, by noon on Friday, December 12, every team should send me 3 postscript or PDF figures. Each one of these figures should contain (at least) plots of share price, client value, and client shares held for your best performance on one of the three historical days. Feel free to include any other plots that you think are enlightening. These plots should also be repeated in your final report, but I want them quickly after the historical phase ends, because I will use them as input in deciding how to structure the live data competition.
  • For the live competition, every team must provide three items: 1. The executable code for your client trading strategy. 2. The exact syntax of a script line which invokes your client on whatever (single) setting of your parameters you want to use in the final competition. 3. The names (at least one) of your team members who will come to IRCS to oversee the starting of your client on Wednesday, December 18. Most likely, the pxs staff will create the scripts that start the simulator and invoke each of your e