Trading of Complex Commodities Josh Johnson
Trading Buyers Sellers
For Example Car Buyers Car Dealers
Another Example Car Buyers Car Dealers Manufacturers
Central Marketplace Marketplace
Central Marketplace Marketplace Necessary?
Central Marketplace Bulletin board Necessary?
Central Marketplace Bulletin board Middleman Necessary?
Central Marketplace Bulletin board Middleman Auction Necessary?
Central Marketplace Bulletin board Middleman Auction Exchange Necessary?
Examples of Exchanges Stock/Commodity exchanges Specialized exchanges (e.g. specialist systems)
Example of an Order Buy a red Mustang
Example of an Order Buy a red Mustang, less than 2 years old
Example of an Order Buy a red Mustang, less than 2 years old, willing to pay $25,000
Example of an Order Buy a red Mustang, less than 2 years old, willing to pay $25,000 OR Any color Corvette, brand-new, willing to pay $30,000
General Case An order describes a set of items, such as the Mustangs and Corvettes.
General Case An order describes a set of items, such as the Mustangs and Corvettes. The buyer wants to get one of these items.
Graphical View of an Order Space of all items
Graphical View of an Order Space of all items Red Mustangs less than 2 years old
Graphical View of an Order Space of all items Red Mustangs less than 2 years old All color Corvettes made this year
Price Space of all items $25,000 $30,000 Mustangs Corvettes Price is a function of an item. Price
Buy and Sell Orders Price Buy order
Buy and Sell Orders Price Buy order Price Sell order
Matching Two orders match if they intersect…
Matching Two orders match if they intersect… Price Buy order
Matching Two orders match if they intersect… Price Buy order Sell order
For Example Buy: Red Mustang, Made after 1998, For $25,000 or less OR Any color Corvette, Made in 2001, For $30,000 or less
For Example Buy: Red Mustang, Made after 1998, For $25,000 or less OR Any color Corvette, Made in 2001, For $30,000 or less Sell: 2001 black Mustang, For $24,000 or more OR 1996 red Mustang, For $18,000 or more OR 2001 silver Corvette, For $28,000 or more
For Example Buy: Red Mustang, Made after 1998, For $25,000 or less OR Any color Corvette, Made in 2001, For $30,000 or less Sell: 2001 black Mustang, For $24,000 or more OR 1996 red Mustang, For $18,000 or more OR 2001 silver Corvette, For $28,000 or more Intersect
For Example Buy: Red Mustang, Made after 1998, For $25,000 or less OR Any color Corvette, Made in 2001, For $30,000 or less Sell: 2001 black Mustang, For $24,000 or more OR 1996 red Mustang, For $18,000 or more OR 2001 silver Corvette, For $28,000 or more Fill: 2001 silver Corvette, For $29,000
Fill A result of trading, that is, an item that matches both orders.
Fill A result of trading, that is, an item that matches both orders. Price Buy order Sell order
Formal Definition An order is an item set I
Formal Definition An order is an item set I, and a function Price: I R +
Formal Definition An order is an item set I, and a function Price: I R + A fill is an item
Formal Definition An order is an item set I, and a function Price: I R + A fill is an item, and a price p, such that
Matcher Engine Limitations: Specific items in sell orders Restrictions on buy item sets No price functions
Specific Sell Orders Good: Sell a red Mustang made in 1999 Bad: Sell any color Mustang made before 1999
Restrictions on Buy Item Sets Year Color Good: Year Color Bad:
No Price Function Price Good: Price Bad:
Matcher Architecture Matcher
Matcher Architecture Matcher User interface User interface User interface Orders Fills
Matcher Architecture Matcher Index of sell orders List of buy orders User interface User interface User interface Orders Fills
Trading Cycle Process all incoming orders Re-match all pending orders Stop trading? Yes No
Matching Process For each buy order, search the indexing structure for matching sell orders When finding matches, generate fills
Fairness Prefer matches with better prices Give priority to better-price orders Give priority to earlier orders
Extensions Order modification Disjunctive orders Confirmations
Running Time Almost linear in the number of orders Almost linear in the length of order description Memory is the main bottleneck.
Performance 400 MHz PC with 384 Mbytes memory, C++ implementation under Windows NT: 100,000 pending orders 500 new orders per second
Extended Architecture Matcher Broker User Interface User Interface User Interface Broker Orders Fills Orders Fills Orders Fills Orders Fills Orders Fills
Extended Architecture Matcher Broker User Interface User Interface User Interface Broker Orders Fills Orders Fills Orders Fills Orders Fills Orders Fills Distributed Matcher
Broker Functions Pre-compile complex orders Handle price functions Handle complex item sets Shield the user from processing delays Support automated trading
Advantages Fewer limitations on orders Extra features Distributed computation
Coming Soon Broker algorithms Empirical performance study