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

Preview:

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

Recommended