Exchange Market for Complex Goods: Theory and Experiments
The modern economy includes a variety of markets, and the Internet has opened opportunities for efficient on-line trading. Researchers have developed algorithms for various auctions, which have become a popular means of on-line sales. They have also designed algorithms for exchange markets, which support fast-paced trading of standardized goods. On the other hand, they have done little work on exchanges for complex nonstandard goods, such as used cars. We propose a formal model for trading
... ex goods, and present an exchange system that allows traders to describe desirable purchases and sales by multiple attributes; for example, a car buyer can specify a model, options, color, and other properties of a desirable vehicle. Furthermore, a trader can enter complex constraints on the acceptable items; for instance, a buyer can specify a set of desirable vehicles and their features. The system supports markets with up to 300,000 orders, and generates hundreds of trades per second. We begin with an example of complex goods, and then define the notions of buy orders, sell orders, and matches between them. Example. We consider an exchange for trading new and used cars; to simplify this example, we assume that a trader can describe a car by four attributes: model, color, year, and mileage. A prospective buyer can place a buy order, which specifies a desired car and a maximal acceptable price; for instance, she may indicate that she is looking for a red Mustang, made after 2000, with less than 20,000 miles, and she is willing to pay $19,000. Similarly, a seller can place a sell order; for example, a dealer may offer a brand-new Mustang of any color for $18,000. An exchange system must identify matches between buy and sell orders, and generate fills, that is, transactions that satisfy both buyers and sellers (Figure 1 ). If the system finds several matches for an order, it should choose the match with the best price; for instance, the buy order in Figure 2 (a) should trade with the cheaper of the two sell orders. If two matching orders have the same price, the system should give preference to the earlier order (Figure 2b ).