540 likes | 827 Views
Trading of Complex Commodities. Josh Johnson. Trading. Buyers Sellers. For Example. Car Buyers Car Dealers. Another Example. Car Buyers Car Dealers Manufacturers.
E N D
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 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 • 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 oneof 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 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 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: 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. 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 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 Good: Bad: Year Year Color Color
No Price Function Good: Bad: Price Price
Matcher Architecture Matcher
Matcher Architecture Orders User interface Matcher Fills Orders User interface Fills Orders User interface Fills
Matcher Architecture Orders User interface Matcher Fills Index of sell orders Orders User interface Fills List of buy orders Orders User interface Fills
Trading Cycle Process all incoming orders Re-match all pending orders Stop trading? No 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 Matcher Broker Orders Fills Fills Orders User Interface Fills Broker Orders Orders User Interface Fills Fills