Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multi-Attribute Exchange Market: Theory and Experiments Eugene Fink Josh Johnson John Hershberger.

Similar presentations


Presentation on theme: "Multi-Attribute Exchange Market: Theory and Experiments Eugene Fink Josh Johnson John Hershberger."— Presentation transcript:

1 Multi-Attribute Exchange Market: Theory and Experiments Eugene Fink Josh Johnson John Hershberger

2 1. Introduction The modern economy includes a variety of markets, and the Internet has opened opportu- nities for efficient on-line trading. Researchers have developed various auctions, which have become a popular means for on-line sales. They have also designed algorithms for exchange markets, which allow fast-paced trading of standardized goods; however, they have done little work on exchanges for complex nonstandard goods, such as used cars. We have built an exchange system for complex goods, which allows traders to describe goods by multiple attributes. For example, a car buyer can specify a model, options, color, and other desirable features. Furthermore, traders can enter constraints on the acceptable purchases and sales. For instance, a buyer can specify a set of desirable cars and their features. The system supports markets with up to 300,000 orders, and generates hundreds of trades per second.

3 2. 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 three attributes: model, color, and year. A prospective buyer can place a buy order, which includes a description of a desirable car and acceptable price; similarly, a car dealer can place a sell order. An exchange system must generate transactions that satisfy both buyers and sellers. Buy order Red Mustang, made after 2000, $32,000 Sell order Any-color Mustang, made in 2003, $30,000 Fill Red Mustang, made in 2003, $31,000 Example of a transaction

4 3. Orders We define goods in a specific market by a list of attributes; as a simplified example, we describe cars by model, color, and year. When a trader places an order, she has to specify some set I 1 of acceptable values for the first attribute, some set I 2 for the second attribute, and so on. The resulting set of items is the Cartesian product I 1  I 2 ... For example, suppose that a buyer is looking for a red or white Mustang made after 2000; then, I = {Mustang}  {Red, White}  [2001..2003]. 00 01 02 03 Year Model Color CamaroMustangCorvette White Red Green Item set I Example of an item set

5 4. Prices A trader should specify a limit on the acceptable price, which is a real-valued function defined on the set I; for each item i, it gives a certain price limit Price(i). For instance, a buyer may be willing to pay $32,000 for a Mustang made in 2003, but subtract $2,000 for each year if the car is older. 00 01 02 03 Year Model Price CamaroMustangCorvette $32K $30K $28K $30K $32K Price limit: $32K – (2003 – Year) · $2K Item set: {Mustang}  …  [2001..2003] Example of a price limit

6 5. Fills An order specification includes an item set I and price function Price. When a buy order matches a sell order, the corresponding parties can complete a trade. We define the resulting fill by a specific item i and its price p. If (I b, Price b ) is a buy order, and (I s, Price s ) is a matching sell order, then the corresponding fill (i, p) must satisfy two conditions: i  I b  I s and Price s (i)  p  Price b (i). 00 01 02 03 Year Model Price CamaroMustangCorvette $32K $30K $28K Sell order I s = {Mustang}  …  {2003} Price s = $30,000 Buy order I s = {Mustang}  …  [2001..2003] Price s = $32K – (2003 – Year) · $2K Fill i = (Mustang, …, 2003) p = $31,000 Example of a fill

7 6. Architecture The system consists of a central matcher and user interfaces that run on separate machines. The traders enter their orders through interface machines, which send the orders to the matcher. The matcher includes a central structure for indexing of orders with fully specified items. If an order includes a set of items, rather than a fully specified item, it is added to an unordered list of partially specified orders. This scheme allows fast retrieval of fully specified orders that match a given order. On the other hand, the system does not identify matches between two partially specified orders. User interface Matcher User interface User interface orders fills orders fills orders fills Communication between the matcher and interface machines

8 7. Trading cycle The matcher alternates between processing new orders and identifying matches for old orders. When it receives a new order, it immediately identifies matching fully specified orders. After processing all new orders, the matcher tries to fill old partially specified orders; for each old order, it finds matching fully specified orders. Identify the fully specified orders that match the new order Is the new order completely filled? Is it a fully specified order? Add it to the indexing structure Add it to the unordered list Processing a new order Process every new order in the queue of incoming orders For every partially specified order, identify fully specified matches Main steps of the trading cycle yes no yes

9 Model 8. Indexing structure The indexing structure is a tree, the height of which equals the number of attributes. A node at level i divides orders by the values of the ith attribute, and each node at level (i + 1) corresponds to all orders with specific values of the first i attributes. To find matches for a given order, the system identifies all children of the root that match the first attribute of the order’s item set, and then recursively processes the respective subtrees. Red Camaro made in 2002 White Camaro made in 2002 White Mustang made in 2001 White Mustang made in 2003 2002 20012003 RedWhite Mustang Camaro Color Year Example of an indexing tree

10 9. Experiments We have experimented with an extended used- car market and corporate-bond market. We have run the matcher on a 2-GHz Pentium computer with 1-GByte memory. We have varied the number of old orders in the market from one to 300,000. We have also controlled the number of new orders in the beginning of the trading cycle; we have experimented with 300 and 10,000 new orders. We have measured the trading-cycle time, throughput, and response time. The trading-cycle time is the time of one pass through the matcher’s trading cycle. The throughput is the maximal acceptable rate of placing new orders; if the matcher gets more orders per second, it has to reject some of them. The response time is the average time between placing an order and getting a fill.

11 10. Car-market results We have experimented with a used-car market described by eight attributes: model, year, mileage, number of doors, transmission, option package, interior color, and exterior color. The system processes 500 to 5,000 new orders per second. Trading-cycle time 10 6 10 4 10 2 10 0 number of old orders 10 0 10 1 10 2 10 3 10 4 10 5 Response time milliseconds 10 6 10 4 10 2 10 0 number of old orders 10 0 10 1 10 2 10 3 10 4 10 5 orders per second Throughput 10 5 10 4 10 3 10 2 number of old orders 10 0 10 1 10 2 10 3 10 4 10 5 10,000 new orders 300 new orders milliseconds 10,000 new orders 10,000 old orders 300 new orders 300 old orders

12 11. Bond-market results We have also applied the system to a corporate- bond market described by two attributes: company and maturity date. The system processes 2,000 to 20,000 new orders per second. orders per second Throughput 10 5 10 4 10 3 10 2 number of old orders 10 0 10 1 10 2 10 3 10 4 10 5 Response time milliseconds 10 6 10 4 10 2 10 0 number of old orders 10 0 10 1 10 2 10 3 10 4 10 5 Trading-cycle time milliseconds 10 6 10 4 10 2 10 0 number of old orders 10 0 10 1 10 2 10 3 10 4 10 5 10,000 new orders 300 new orders 10,000 new orders 300 new orders


Download ppt "Multi-Attribute Exchange Market: Theory and Experiments Eugene Fink Josh Johnson John Hershberger."

Similar presentations


Ads by Google