Presentation is loading. Please wait.

Presentation is loading. Please wait.

Trading of Complex Commodities Committee: Eugene Fink Lawrence Hall Srinivas Katkoori Josh Johnson.

Similar presentations


Presentation on theme: "Trading of Complex Commodities Committee: Eugene Fink Lawrence Hall Srinivas Katkoori Josh Johnson."— Presentation transcript:

1 Trading of Complex Commodities Committee: Eugene Fink Lawrence Hall Srinivas Katkoori Josh Johnson

2 Introduction Motivation Build an automated exchange for trading goods and services

3 Introduction Motivation Build an automated exchange for trading goods and services Combine the speed and liquidity of the stock exchange

4 Introduction Motivation Build an automated exchange for trading goods and services Combine the speed and liquidity of the stock exchange with the flexibility of eBay +

5 Outline Main concepts Previous work Data structures Performance

6 Concepts Market Orders Matches Fills

7 Market All items that can be traded form a market. Example: All conceivable vehicles compose a car market.

8 Orders An order is a subset of the market along with a price function., -$1 for every ten miles. Order example: Any Mustang or Corvette; Mustang for $38,000 or Corvette for $40,000.

9 Buy and Sell Orders Price Buy order Price Sell order

10 Matching A buy order matches a sell order if: item buy-region sell-region, buy-price(item) sell-price(item).

11 Matching Orders Price Buy order Sell order

12 Fills Buy order: Any Color Sports Car $36,000 Sell order: Silver Limo $50,000 or Red Mustang $32,000 Fill: Red Mustang $34,000

13 Implemented Exchange System Specific sell orders Good: Sell a red Mustang made in 1999. Bad: Sell any color Mustang made before 1999.

14 Outline Main concepts Previous work Data structures Performance

15 Previous Work Auctions Exchanges

16 Auctions Complex commodities Asymmetry between buyers and sellers Illiquid Examples: eBay, FreeMarkets, eMediator

17 Exchanges Simple commodities Symmetry between buyers and sellers Liquid Examples: Stocks, Futures

18 Outline Main concepts Previous work Data structures Performance

19 Main Structures Tree of sell orders List of buy orders

20 Tree of Sell Orders Model CorvetteMustang

21 Tree of Sell Orders Model Color CorvetteMustang RedBlackGreyRedWhite

22 Tree of Sell Orders Model Year Color Year CorvetteMustang RedBlackGreyRed 1996 White Red Mustang made in 1996

23 Tree of Sell Orders Model Year Color Year CorvetteMustang RedBlack 1996 White Red Mustang made in 1996 Color Camry Red Year Red Camry made in 1992 1992 Year Grey Grey Corvette made in 1998 1998 Year Silver Silver Camry made in 2000 2000

24 Node in the Tree Each node contains a red-black tree for one attribute. If there are k values for an attribute, search within the node takes O(lg k).

25 Matching a Buy Order Let S be the number of sell orders and m be the number of matches. Best case: Time = O(m + lg S) Worse case: Time = O(m lg S) Worst case: Time = O(S)

26 Trading Cycle Process all new orders Re-match all old orders Stop trading? Yes No

27 Processing Steps For every new order: If it is a buy order, then search for matches; if not filled, add it to the list. If it is a sell order, then insert it into the tree. Process Re-match Stop?

28 Processing Time Let P be the number of old orders, N be the number of new orders, and m be the number of matches per order. Best case: Time = O(N (m + lg P)) Worse case: Time = O(N m lg P)) Process Re-match Stop?

29 Re-Matching Steps For each buy order, search for matches among new sell orders. Process Re-match Stop?

30 Let P be the number of old orders, N be the number of new orders, and m be the number of matches per order. Best case: Time = O(P (m + lg N)) Worse case: Time = O(P m lg N)) Re-Matching Time Process Re-match Stop?

31 Outline Main concepts Previous work Data structures Performance

32 400 MHz CPU 1,024 Mbyte memory 100 MHz bus Extensive empirical evaluation:

33 Control Variables Number of old orders Number of new orders Length of item description

34 Measurements Processing time Re-matching time Response time Throughput

35 Processing Time number of old orders Logarithmic Scale number of old orders Linear Scale 256, 8,192, and 262,144 new orders Process Re-match Stop? time (sec) 1 10 100 1000 10000 100000 100 10 1 0.1 0.01 80 70 60 50 40 30 20 10 0 50K 100K 150K 200K 250K

36 Re-Matching Time 256, 8,192, and 262,144 new orders Logarithmic ScaleLinear Scale Process Re-match Stop? time (sec) 1 10 100 1000 10000 100000 100 10 1 0.1 0.01 50K 100K 150K 200K 250K 80 70 60 50 40 30 20 10 0 number of old orders

37 Total Time 256, 8,192, and 262,144 new orders Logarithmic ScaleLinear Scale Process Re-match Stop? time (sec) 1 10 100 1000 10000 100000 100 10 1 0.1 0.01 50K 100K 150K 200K 250K 80 70 60 50 40 30 20 10 0 number of old orders

38 Response Time: Buy Orders 256, 8,192, and 262,144 new orders Logarithmic ScaleLinear Scale time (sec) 1 10 100 1000 10000 100000 100 10 1 0.1 0.01 50K 100K 150K 200K 250K 80 70 60 50 40 30 20 10 0 number of old orders

39 Response Time: Sell Orders 256, 8,192, and 262,144 new orders Logarithmic ScaleLinear Scale time (sec) 1 10 100 1000 10000 100000 100 10 1 0.1 0.01 50K 100K 150K 200K 250K 80 70 60 50 40 30 20 10 0 number of old orders

40 Throughput Market with ten attributes: 5,600 new orders per second.

41 Throughput Market with ten attributes: 5,600 new orders per second. number of attributes orders per second 1 3 10 30 100 100000 10000 1000 100 10

42 Main Results Formal model of complex markets Exchange system for limited order semantics Evaluation of its performance

43 Future Work Short-term Reducing response time Improving data structures Long-term Extend order semantics Search for optimal matches Use multiple CPUs


Download ppt "Trading of Complex Commodities Committee: Eugene Fink Lawrence Hall Srinivas Katkoori Josh Johnson."

Similar presentations


Ads by Google