Multiattribute exchange market: Theory and experiments - PowerPoint PPT Presentation

About This Presentation
Title:

Multiattribute exchange market: Theory and experiments

Description:

White Camaro. made in 2002. White Mustang. made in 2001. White Mustang. made in 2003. 2002 ... Camaro. Color. Color. Year. Year. Year. Example of an indexing ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 13
Provided by: eugen8
Learn more at: http://www.cs.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Multiattribute exchange market: Theory and experiments


1
Multi-AttributeExchange MarketTheory and
Experiments
Eugene FinkJosh JohnsonJohn 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.
Example of a transaction
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
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 I1 of acceptable values for the first
attribute, some set I2 for the second attribute,
and so on. The resulting set of items is the
Cartesian product I1 ? I2 ? ... For example,
suppose that a buyer is looking for a red or
white Mustang made after 2000 then, I
Mustang ? Red, White ? 2001..2003.
Example of an item set
Item set I
Color
Year
Green
03
02
Red
01
00
White
Model
Camaro
Mustang
Corvette
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.
Example of a price limit
Price limit 32K (2003 Year) 2K
32K
Price
30K
Year
32K
03
28K
02
30K
Item set Mustang ? ? 2001..2003
01
00
28K
Model
Camaro
Mustang
Corvette
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
(Ib, Priceb) is a buy order, and (Is, Prices) is
a matching sell order, then the corresponding
fill (i, p) must satisfy two conditions i ? Ib ?
Is and Prices(i) ? p ? Priceb(i).
Example of a fill
Sell order Is Mustang ? ? 2003 Prices
30,000
Fill i (Mustang, , 2003) p 31,000
Price
Year
32K
Buy order Is Mustang ? ? 2001..2003 Prices
32K (2003 Year) 2K
03
30K
02
01
28K
00
Model
Camaro
Mustang
Corvette
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.
Communication between thematcher and interface
machines
Matcher
fills
orders
orders
fills
orders
fills
User interface
User interface
User interface
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.
Main steps of the trading cycle
Process every new order in the queue of incoming
orders
For every partially specified order,
identify fully specified matches
Processing a new order
Identify the fully specified orders that match
the new order
yes
Is the new order completely filled?
no
yes
no
Is it a fully specified order?
Add it to the indexing structure
Add it to the unordered list
9
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 orders item set, and
then recursively processes the respective
subtrees.
Example of an indexing tree
Model
Mustang
Camaro
Red
White
White
2002
2002
2001
2003
Red Camaro made in 2002
White Camaro made in 2002
White Mustang made in 2001
White Mustang made in 2003
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 matchers 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
Throughput
105
106
300 new orders
104
10,000 new orders
104
milliseconds
orders per second
103
10,000 new orders
102
300 new orders
100
102
100
101
102
103
104
105
100
101
102
103
104
105
number of old orders
number of old orders
Response time
106
104
10,000 old orders
milliseconds
102
300 old orders
100
100
101
102
103
104
105
number of 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.
Trading-cycle time
Throughput
105
300 new orders
106
104
104
10,000 new orders
orders per second
milliseconds
10,000 new orders
103
102
300 new orders
102
100
100
101
102
103
104
105
100
101
102
103
104
105
number of old orders
number of old orders
Response time
106
104
milliseconds
10,000 new orders
102
300 new orders
100
100
101
102
103
104
105
number of old orders
Write a Comment
User Comments (0)
About PowerShow.com