Title: Computational Mechanisms for Multi-Attribute Exchange Markets
1Computational Mechanisms for Multi-Attribute
Exchange Markets
Eugene Fink
Part I Research interests and projects Part II
Automated exchange system
2Part I Research Interests and Projects
3Research interests
- Artificial intelligence
- Machine learning
- Algorithm theory
- Computational geometry
4Research projects
- Artificial intelligence
- Machine learning
- Algorithm theory
- Computational geometry
5Representation changes Artificial intelligence
and learning
6Medical expert systems Artificial intelligence
- Guiding a nurse through the related questions
- Identifying the appropriate medical tests
- Reducing the cost of the selection process
7Approximate data matching Artificial
intelligence, learning, and algorithms
- Indexing of alphanumeric data
- Search for approximate matches
- Application to homeland security
8Indexing of time series Artificial intelligence
and algorithms
4
- Fast compression of time series
- Hierarchical indexing of compressed series
- Search for series similar to a given pattern
9Meshing in three dimensions Algorithms and
computational geometry
- Indexing in three dimensions
- Search for optimal meshes
- Repair of meshes with holes
10Generalized convexity Computational geometry
11Part II Automated Exchange System for
Multi-Attribute Markets
12Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
13Motivation
- Build an automated
- exchange for trading
- goods and services
14Previous work
- Combinatorial auctions
- Standardized exchanges
15Combinatorial auctions
- Complex goods
- Asymmetry between
- buyers and sellers
- Illiquid
16Standardized exchanges
- Simple goods
- Symmetry between
- buyers and sellers
- Liquid
17Research goals
Build an automated exchangefor non-standardized
goods.
- Allow complex constraints in the
specification of desirable trades
- Support fast-paced trading for markets with
millions of orders
- Include optimization techniques to maximize
traders satisfaction
18Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
19Main concepts
- Market
- Orders
- Matches
- Fills
- Attributes
20Market
All items that can be traded form a market.
Example All conceivable vehicles compose a car
market.
21Orders
An order is a subset of the market along with a
price function.
Mustang for 28,000 or Corvette for 32,000
Example Any Mustang or Corvette
, 1 for
every ten miles.
22Orders
Price
Buy order
23Matching
A buy order matches a sell order if There is
item buy-items ? sell-items, such that
buy-price(item) sell-price(item).
24Matching
Price
Buy order
25Matching
Price
Buy order
26Fills
A fill is defined by a specific item and its price
, which must match the buy
order and the sell order
27Fills
Buy order Sports car 30,000
Sell order Mustang 28,000 or Corvette 32,000
28Attributes
A specific market is defined by a list of
attributes.
Example A used-car market is a set of all
possible vehicles, defined by model, year, and
mileage.
29Attributes
A trader specifies acceptableitems by attribute
values.
30Attributes
Sell order Model Mustang Year 2003
Price
Year
Buy order Model Mustang Year 2000..2003
03
02
01
00
Model
Camry
Mustang
Corvette
31Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
32Architecture
The system consists of a central matcher anduser
interfaces that run on separate machines.
Matcher
User interface
User interface
User interface
33Data structures
The matcher includes a centralstructure for
indexing of orders.
- Tree of fully specified orders, which are
called index orders
- Unordered list of the other orders, which are
called nonindex orders
34Indexing tree
35Indexing tree
Model
Corvette
Mustang
Year
Year
1996
1997
1986
Mileage
Mileage
Mileage
50K
1996 Mustang, 50K miles, 5,000
36Trading cycle
The matcher alternates between processingnew
orders and identifying matches for old nonindex
orders.
37Processing
Process
For every new order Search for matches in
the indexing tree. If it is not filled, and
it is an index order, then add it to the
indexing tree. If it is not filled, and it is
a nonindex order, then add it to the
unordered list.
Re-match
38Re-matching
Process
For every old nonindex order Search for
matches in the indexing tree, among new
index orders. If it is filled, then
remove it from the unordered list.
Re-match
39Drawbacks
Process
Re-match
- The system does not find matches between two
nonindex orders - The system delays matches between a new index
order and an old nonindex order
40Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
41Optimal matches
The system searches for the best-price matches in
the indexing tree.
42Depth-first search
Buy OrderAny car madeafter 1990
43Depth-first search
Drawback If there are many matching leaves, the
search takes a long time.
Solution Limit the number of matches.
44Depth-first search With limited number of matches
Buy OrderAny car madeafter 1990
Limit 2 matches
Actual best price
45Depth-first search With limited number of matches
Drawback The system may not find the best-price
match.
Solution Apply best-first search
-
- Store the best price for each subtree
- Use these prices to guide the search
46Best prices for subtrees
4,000
47Search for the best price
Buy OrderAny car madeafter 1990
48Search for the best price
- Advantages
- The system finds the best match
- It is much faster than DFS without a limit on
the number of matches
- Drawback
- It is usually slower than DFS with a small
limit on the number of matches
49Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
50Quality functions
A trader can specify a quality function that
ranks the acceptable transactions.
The transaction quality may depend on an item and
its price.
51Quality 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
52Quality 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.
53Depth-first search
Buy OrderAny car madeafter 1990
54Monotonic 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
55Best-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
56Best values for subtrees
2000, 10K, 4,000
57Search for the best match
Buy OrderAny car madeafter 1990
50K, 7,000
58Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
59Performance
Experiments using aPentium computer
-
- 1.5 GHz CPU
- 1 Gbyte memory
- 166 MHz bus
60Variables
- Control variables
- Search strategy
- Number of orders
- Number of attributes
- Measurements
- Processing time
- Re-matching time
- Throughput
61Processing time
Process
Re-match
Logarithmic scale
Linear scale
1,000
400
10
300
time (sec)
200
0.1
100
0.001
0
1 10 100 1,000 10,000 100,000
50K 100K 150K 200K 250K
number of orders
number of orders
Best-First Search, Unlimited DFS, and Limited DFS
62Re-matching time
Process
Re-match
Logarithmic scale
Linear scale
1,000
400
10
300
time (sec)
200
0.1
100
0.001
0
1 10 100 1,000 10,000 100,000
50K 100K 150K 200K 250K
number of orders
number of orders
Best-First Search, Unlimited DFS, and Limited DFS
63Total time
Process
Re-match
Logarithmic scale
Linear scale
1,000
400
10
300
time (sec)
200
0.1
100
0.001
0
1 10 100 1,000 10,000 100,000
50K 100K 150K 200K 250K
number of orders
number of orders
Best-First Search, Unlimited DFS, and Limited DFS
64Throughput
100,000
10,000
1,000
orders per second
100
10
3
10
30
100
1
number of attributes
Best-First Search, Unlimited DFS, and Limited DFS
65Outline
- Motivation
- Main concepts
- Architecture
- Best-price matches
- Quality functions
- Performance
- Conclusions
66Summary
- General model for trading multi-attribute
goods
- Hard and soft constrains in the specification
of orders
- Fast identification of matches between buy
and sell orders
67Other results
- Limited support for multi-order matches
Sell order 2 Mustangs 30,000
Buy order 1 Mustang 28,000
Buy order 1 Mustang 32,000
68Other results
- Limited support for multi-order matches
- Limited support for combinatorial orders
and
or
Sell order Camry 18,000
Buy order Mustang 28,000
Buy order Corvette 32,000
69Other results
- Limited support for multi-order matches
- Limited support for combinatorial orders
- Distributed broker modules
Matcher
Broker module
Broker module
User interface
User interface
User interface
User interface
70Current work
- Advanced indexing structures
- Search for approximate matches
- Trading different types of goods in a common
exchange
- Integration with combinatorial auction
algorithms