View
215
Download
1
Tags:
Embed Size (px)
Citation preview
Multi-Attribute Exchange Market:Search for Optimal Matches
Eugene FinkJianli 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
• Standardized exchanges
• Standardized exchanges
- Complex goods - Asymmetry between buyers and sellers - Illiquid
- Simple goods - Symmetry between buyers and sellers - Liquid
Research goals
Build an automated exchangefor 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 betraded, defined by a list of attributes.
ExampleA used-car market is a set of all conceivable vehicles, defined bymodel, year, and mileage.
OrdersA trader specifies a buy or sell orderby attribute values and a price limit.
Buy orderModel: Mustang or CorvetteYear: 2002..2004Mileage: 0..10KPrice: $32,000
ExampleSell orderModel: MustangYear: 2004Mileage: 1KPrice: $30,000
A value specification may includelists of values and numeric ranges.
Matching
0102
0304
Year
Model
Price
Camaro Mustang Corvette
$32,000
$30,000
Sell orderMustang,
made in 2004,$30,000
Buy orderMustang,
made after 2001,$32,000
TradeMustang,
made in 2004,$31,000
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
Model
Mileage
Year Year
CorvetteMustang
1996
50K
1996 Mustang,50K miles,
$7,000
Year
Camry
1999
Mileage
1999 Camry,10K miles,
$18,000
10K
Mileage
1988
1988 Corvette,20K miles,
$4,000
20K
Mileage
2000
2000 Camry,180K miles,
$5,000
180K
Buy Order:Any car made
after 1990
Best price
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
Mileage
Year Year
CorvetteMustang
1996
50K
1996 Mustang,50K miles,
$7,000
Year
Camry
1999
Mileage
1999 Camry,10K miles,
$18,000
10K
Mileage
1988
1988 Corvette,20K miles,
$4,000
20K
Mileage
2000
2000 Camry,180K miles,
$5,000
180K
$7,000 $18,000 $5,000 $4,000
$7,000 $5,000 $4,000
$4,000
Search for the best price
Model
Mileage
Year Year
CorvetteMustang
1996
50K
1996 Mustang,50K miles,
$7,000
Year
Camry
1999
Mileage
1999 Camry,10K miles,
$18,000
10K
Mileage
1988
1988 Corvette,20K miles,
$4,000
20K
Mileage
2000
2000 Camry,180K miles,
$5,000
180K
$7,000 $18,000 $5,000 $4,000
$7,000 $5,000 $4,000
$4,000
Buy Order:Any car made
after 1990
2000 Camry,180K miles,
$5,000
Best price
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
The transaction quality may depend on an item and its price.
The system searches for the matches with the highest quality.
Quality functions
A trader can specify a quality function that ranks the acceptable transactions.
Depth-first search
Model
Mileage
Year Year
CorvetteMustang
1996
50K
1996 Mustang,50K miles,
$7,000
Year
Camry
1999
Mileage
1999 Camry,10K miles,
$18,000
10K
Mileage
1988
1988 Corvette,20K miles,
$4,000
20K
Mileage
2000
2000 Camry,180K miles,
$5,000
180K
Buy Order:Any car made
after 1990
Quality: 37 Quality: 3 Quality: 0 Highest quality: 37
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
Mileage
Year Year
CorvetteMustang
1996
50K
1996 Mustang,50K miles,
$7,000
Year
Camry
1999
Mileage
1999 Camry,10K miles,
$18,000
10K
Mileage
1988
1988 Corvette,20K miles,
$4,000
20K
Mileage
2000
2000 Camry,180K miles,
$5,000
180K
2000,10K,
$4,000
1988,20K,
$4,000
2000,10K,
$5,000
1996,50K,
$7,000
20K,$4,000
180K,$5,00010K,
$18,00050K,
$7,000
Search for the best match
Model
Mileage
Year Year
CorvetteMustang
1996
50K
1996 Mustang,50K miles,
$7,000
Year
Camry
1999
Mileage
1999 Camry,10K miles,
$18,000
10K
Mileage
1988
1988 Corvette,20K miles,
$4,000
20K
Mileage
2000
2000 Camry,180K miles,
$5,000
180K
2000,10K,
$4,000
1988,20K,
$4,000
2000,10K,
$5,000
1996,50K,
$7,000
20K,$4,000
180K,$5,00010K,
$18,00050K,
$7,000
Buy Order:Any car made
after 1990
91
85 3837
37
Highest quality: 37
Outline
• Multi-attribute orders
• Search for matches
• Quality functions
• Experimental results
Performance
:
• 2 GHz CPU
• 1 Gbyte memory
• 166 MHz bus
Experiments using aPentium computer
• Car market with eight attributes
number of orders
orde
rs p
er s
econ
d
102
103
104
105
101 103 104 105102
: 200 to 20,000 orders per second
Cars and bonds
: 500 to 50,000 orders per second
bonds
• Bond market with two attributes
cars
Artificial markets Synthetic market data:• 1 to 100 attributes• 300,000 orders
Best-First
Depth-First
number of attributes3 10 30 100
orde
rs p
er s
econ
d
1
102
103
104
105
101
Summary
• General model for trading
of multi-attribute goods• Fast identification of matches between buy and sell orders