ZocaloDevPlans

From CommerceNet Wiki

Jump to: navigation, search

The current release of Zocalo (April 2006) is stable. It supports two different uses: laboratory economics experiments and long-lasting prediction markets. The George Mason University economists I've been working with have used Zocalo to run experiments. Configuration options allow running a variety of experiments. If experimenters request support or changes, I'll try to help them, but I expect that particular phase of development is mostly finished. My focus is currently on enhancing and expanding the prediction market server.

Two major features that have been incorporated since the last release are the use of JFreeChart to draw price histories (in the PM server only) and use of Hibernate to store all server state to disk. The most important feature that must be added before the server will be useful for creating significant markets is login security. Currently, users login with only their name; anyone can create a new account, or access any existing account just by typing the name.


Other minor changes I'm planning to make shortly:

  • limit claim creation to a subset of users. The configuration will probably indicate how those authorized will be specified. Some markets will allow everyone to create claims, while in others (those subsidized by an employer, for instance) will restrict that ability.
  • allow the market owner to decide the outcome of a claim, and pay off holders.
  • replace use of HSQL with Derby. These are both open source data bases, but Derby seems designed to be easier to install.
  • report trades to the user. (immediately for immediate orders, and via email and a trading history page for book orders.)
  • allow the server to support distinct separate private markets. This would allow a single server to support multiple internal markets.
  • Allow a market manager to adjust the balances of participants. This would allow internal corporate markets in which the company paid people off for their winnings without requiring those payouts to be on a strict schedule.
  • a public home page showing charts for several markets

There are a couple of larger projects beyond that short-term horizon. The most interesting to me would be to add support for more types of market formats (conditional claims, multi-position claims (beyond yes/no or binary claims), claims with scaled payouts, and so on.) But I suspect that those wouldn't be of much use until the more prosaic details are taken care of.

A few people have asked how they could help with development; I'd like to find a way to enable that. Of course, it's open source, so if you want to just dive in and make changes, you can do that. But I do have a particular direction in mind, and not all conceivable changes would be welcome. Before you start making more than a trivial change (unless you're fixing bugs!) please contact me, and I'll try to help you find something to work on that I'll be happy to incorporate into the project. If you ask, I can help come up with small self-contained projects that would allow you to become familiar with the architecture of the system. If you're so inclined, feel free to download the code and start playing with it.

Personal tools