Multi-Attribute Exchange Market: Search for Optimal Matches Eugene Fink Jianli Gong

advertisement
Multi-Attribute Exchange Market:
Search for Optimal Matches
Eugene Fink
Jianli Gong
John Hershberger
Motivation
• Build an automated
exchange for trading
goods and services
• Combine the speed of
the stock exchange with
the flexibility of eBay
+
Previous work
• Combinatorial auctions
- Complex goods
• Standardized
- Asymmetry exchanges
between
buyers and sellers
- Illiquid
• Standardized exchanges
- Simple goods
- Symmetry between
buyers and sellers
- Liquid
Research goals
Build an automated exchange
for non-standardized goods.
• Support fast-paced trading for
markets with millions of orders
• Include optimization techniques
to maximize traders’ satisfaction
Outline
• Multi-attribute orders
• Best-price matches
• Quality functions
• Experimental results
Market
A market is a set of items that can be
traded, defined by a list of attributes.
Example
A used-car market is a set of all
conceivable vehicles, defined by
model, year, and mileage.
Orders
A trader specifies a buy or sell order
by attribute values and a price limit.
A value specification may include
lists of values and numeric ranges.
Example
Sell order
Model: Mustang
Year: 2004
Mileage: 1K
Price:  $30,000
Buy order
Model: Mustang or Corvette
Year: 2002..2004
Mileage: 0..10K
Price:  $32,000
Matching
Sell order
Mustang,
made in 2004,
$30,000
Trade
Price
Year
$32,000
$30,000
04
03
02
01
Camaro Mustang Corvette
Mustang,
made in 2004,
$31,000
Buy order
Mustang,
made after 2001,
$32,000
Model
Outline
• Multi-attribute orders
• Best-price matches
• Quality functions
• Experimental results
Main structures
• Tree of fully specified orders
• Unordered list of the other orders
Depth-first search
Buy Order:
Any car made
after 1990
Model
Mustang
Year
Camry
Corvette
Year
Year
1996
1999
2000
1988
Mileage
Mileage
Mileage
Mileage
50K
10K
180K
20K
1996 Mustang,
50K miles,
$7,000
1999 Camry,
10K miles,
$18,000
2000 Camry,
180K miles,
$5,000
Best price
1988 Corvette,
20K miles,
$4,000
Depth-first search
Drawback:
If there are many matching leaves,
the search takes a long time.
Solution:
Apply best-first search:
• Store the best price for each subtree
• Use these prices to guide the search
Best prices for subtrees
Model $4,000
Mustang
$7,000 Year
Mileage
50K
1996 Mustang,
50K miles,
$7,000
Corvette
Year $5,000
1996
$7,000
Camry
$18,000
1999
2000
Mileage
Mileage
10K
180K
1999 Camry,
10K miles,
$18,000
Year $4,000
1988
$5,000
2000 Camry,
180K miles,
$5,000
Mileage
$4,000
20K
1988 Corvette,
20K miles,
$4,000
Search for the best price
Buy Order:
Any car made
after 1990
Model $4,000
Mustang
$7,000 Year
Mileage
50K
1996 Mustang,
50K miles,
$7,000
Corvette
Year $5,000
1996
$7,000
Camry
$18,000
1999
2000
Mileage
Mileage
10K
180K
1999 Camry,
10K miles,
$18,000
Year $4,000
1988
$5,000
2000 Camry,
180K miles,
$5,000
Best price
Mileage
$4,000
20K
1988 Corvette,
20K miles,
$4,000
Outline
• Multi-attribute orders
• Best-price matches
• Quality functions
• Experimental results
Quality functions
A trader can specify a quality function
that ranks the acceptable transactions.
The transaction quality may depend
on an item and its price.
Example:
Quality of a car purchase
+4 for each year after 1970
–5 for each 10K miles
–6 for each $1,000
Quality functions
A trader can specify a quality function
that ranks the acceptable transactions.
The transaction quality may depend
on an item and its price.
The system searches for the matches
with the highest quality.
Depth-first search
Buy Order:
Any car made
after 1990
Model
Mustang
Year
Camry
Corvette
Year
Year
1996
1999
2000
1988
Mileage
Mileage
Mileage
Mileage
50K
10K
180K
20K
1996 Mustang,
50K miles,
$7,000
1999 Camry,
10K miles,
$18,000
2000 Camry,
180K miles,
$5,000
Highest37
Quality:
quality: 37
Quality: 3
Quality: 0
1988 Corvette,
20K miles,
$4,000
Monotonic attributes
• The quality monotonically
changes with the price
• Usually, it is also monotonic
on several other attributes
Example:
Car quality
• Increases with the year
• Decreases with the mileage
Best-first search
• For every subtree, store the best value
of each monotonic attribute
• Use these values to estimate the quality
of the best match in every subtree
Best values for subtrees
Model
Mustang
1996,
50K,
$7,000
Year
1996
50K,
$7,000 Mileage
50K
1996 Mustang,
50K miles,
$7,000
2000,
10K,
$4,000
Camry
Year
1999
10K,
$18,000 Mileage
10K
1999 Camry,
10K miles,
$18,000
Corvette
2000,
10K,
$5,000
Year
1988,
20K,
$4,000
2000
1988
180K,
Mileage $5,000
20K,
Mileage $4,000
180K
2000 Camry,
180K miles,
$5,000
20K
1988 Corvette,
20K miles,
$4,000
Search for the best match
Buy Order:
Model
Mustang
1996,
50K,
37
$7,000
Year
1996
50K,
37 Mileage
$7,000
50K
1996 Mustang,
50K miles,
$7,000
Highest
quality: 37
2000,
10K,
91
$4,000
Camry
Year
1999
10K,
$18,000 Mileage
10K
1999 Camry,
10K miles,
$18,000
Any car made
after 1990
Corvette
2000,
10K,
85
$5,000
Year
1988,
38
20K,
$4,000
2000
1988
180K,
Mileage $5,000
20K,
Mileage $4,000
180K
2000 Camry,
180K miles,
$5,000
20K
1988 Corvette,
20K miles,
$4,000
Outline
• Multi-attribute orders
• Search for matches
• Quality functions
• Experimental results
Performance
Experiments using a
Pentium computer :
• 2 GHz CPU
• 1 Gbyte memory
• 166 MHz bus
Cars and bonds
orders per second
• Car market with eight attributes:
200 to 20,000 orders per second
• Bond market with two attributes:
500 to 50,000 orders per second
105
bonds
104
103
cars
102
101
103
104
102
number of orders
105
Artificial markets
Synthetic market data:
• 1 to 100 attributes
• 300,000 orders
orders per second
105
Best-First
104
103
Depth-First
102
101
1
3
30
10
number of attributes
100
Summary
• General model for trading
of multi-attribute goods
• Fast identification of matches
between buy and sell orders
Download