Trading of Complex Commodities Josh Johnson Trading Buyers
Trading of Complex Commodities Josh Johnson
Trading Buyers Sellers
For Example Car Buyers Car Dealers
Another Example Car Buyers Car Dealers Manufacturers
Central Marketplace
Central Marketplace Necessary? Marketplace
Central Marketplace Necessary? Bulletin board
Central Marketplace Necessary? Bulletin board Middleman
Central Marketplace Necessary? Bulletin board Middleman Auction
Central Marketplace Necessary? Bulletin board Middleman Auction Exchange
Examples of Exchanges n Stock/Commodity n 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 Red Mustangs less than 2 years old Space of all items
Graphical View of an Order All color Corvettes made this year Red Mustangs less than 2 years old Space of all items
Price is a function of an item. $30, 000 Price $25, 000 Corvettes Mustangs Space of all items
Buy and Sell Orders Price Buy order
Buy and Sell Orders Price Buy order 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… Sell order Price Buy 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: Sell: Red Mustang, Made after 1998, For $25, 000 or less 2001 black Mustang, For $24, 000 or more OR OR Any color Corvette, Made in 2001, For $30, 000 or less 1996 red Mustang, For $18, 000 or more OR 2001 silver Corvette, For $28, 000 or more
For Example Buy: Sell: Red Mustang, Made after 1998, For $25, 000 or less 2001 black Mustang, For $24, 000 or more OR OR Any color Corvette, Made in 2001, For $30, 000 or less 1996 red Mustang, For $18, 000 or more Inte rsec t OR 2001 silver Corvette, For $28, 000 or more
For Example Buy: Sell: Red Mustang, Made after 1998, For $25, 000 or less 2001 black Mustang, For $24, 000 or more OR OR 1996 red Mustang, For $18, 000 or more Any color Corvette, Made in 2001, For $30, 000 or less OR Fill: 2001 silver Corvette, For $29, 000 2001 silver Corvette, For $28, 000 or more
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. Sell order Price Buy 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 A fill is • an item R+
Formal Definition An order is • an item set I, and • a function Price: I A fill is • an item • a price p, such that R+ , and
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 Good: Year Bad: Year Color
No Price Function Good: Price Bad: Price
Matcher Architecture Matcher
Matcher Architecture User interface Orders Fills Matcher
Matcher Architecture User interface Orders Fills Orders Matcher Index of sell orders Fills Orders Fills List of buy orders
Trading Cycle Process all incoming orders Re-match all pending orders No Stop trading? Yes
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 User Interface Orders Fills s r e d r O ls l i F Orders Fills Broker Orders Fills Matcher
Extended Architecture Distributed Matcher User Interface Orders Fills s r e d r O ls l i F Orders Fills Broker Orders Fills 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
- Slides: 54