Aaron Johnson Yale University Kevin Chang Yahoo Inc Workshop on Internet and Network Economics December 17 th 2008 1 Limit Order Markets Match buyers with sellers Electronic Communication Networks ECNs ID: 1029495
Download Presentation The PPT/PDF document "Online and Offline Selling in Limit Orde..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. Online and Offline Selling in Limit Order MarketsAaron JohnsonYale UniversityKevin ChangYahoo! Inc.Workshop on Internet and Network EconomicsDecember, 17th 20081
2. Limit Order MarketsMatch buyers with sellersElectronic Communication Networks (ECNs)NASDAQInstinetNYSE-EuronextPrediction MarketsIntradeIowa Electronic MarketsMarket makersMarket orders, fill or kill, cancellation2
3. ResultsReservation price algorithm for online selling has competitive ratio e log(R), R = pmax/pmin.(improves O(logR logN) of [KKMO04])Optimal selling offline is NP-Hard.PTAS for offline selling when number of prices is constant.Extend PTAS to offline buying3
4. Related Work[EKKM06] Even-Dar, Kakade, Kearns, and Mansour. (In)Stability properties of limit order dynamics. ACM EC 2006.[KKMO04] Kakade, Kearns, Mansour, and Ortiz. Competitive algorithms for VWAP and limit order trading. ACM EC 2004.[LPS07] Lorenz, Panagiotou, and Steger. Optimal algorithms for k-search with applications in option pricing. ESA 2007.4
5. Limit Order Markets Trading one commodity5
6. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY)BUY1$36
7. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell bookBUY5$1BUY2$2BUY1$3SELL1$5SELL3$7SELL10$107
8. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL1$5SELL3$7SELL10$108
9. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL1$5SELL3$7SELL10$10BUY2$69
10. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL1$5SELL3$7SELL10$10BUY2$610
11. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL0$5SELL3$7SELL10$10BUY1$61$511
12. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL3$7SELL10$10BUY1$612
13. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL3$7SELL10$10BUY1$613
14. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL3$7SELL10$10BUY1$614
15. Limit Order ProblemsSequence of ordersVolume to tradeInsert orders to maximize value at given volume15General ProblemOptionsOnline / Offline / ProbabilisticBuy / Sell / BothExact volume / Volume constraint
16. Limit Order ProblemsSequence of ordersVolume to tradeInsert orders to maximize value at given volume16General ProblemOptionsOnline / Offline / ProbabilisticBuy / Sell / BothExact volume / Volume constraint
17. Limit Order ProblemsSequence of orders: (σ1,…, σn) : σi = <B/S,vi,pi>Volume to sell : NInsert sell orders to maximize revenue.Output (σ1,τ1,σ2,τ2,…, σn,τn), τi = <S,vτi,p τi>.Σi vτi ≤NMaximize revenue earned from τi sales.17Offline Selling
18. Limit Order ProblemsResultsProblem is NP-Hard, even when there are only three prices in sequence.Problem with two prices is linear-time solvable.Exists a Polynomial-Time Approximation Scheme when number of prices is constant.18Offline Selling
19. Limit Order ProblemsResultsProblem is NP-Hard, even when there are only three prices in sequence.Problem with two prices is linear-time solvable.Exists a Polynomial-Time Approximation Scheme when number of prices is constant.19Offline Selling
20. Offline SellingGive a canonical form for optimal solutions to case when input sequence has only three prices.Form leads to algorithm for two-price case.Reduce Knapsack to three-price instance.Easy to see that solutions to Knapsack instance give solutions to three-price instance.Canonical form guarantees that a solution to three-price selling gives a solution to Knapsack.20Proving Hardness
21. Optimal Offline SellingLemma 1: We can assume that all sales at the highest price i) are made by the algorithm and ii) have sell orders that are placed at the beginning.Lemma 2: We can assume that all sell orders at the lowest price that are inserted by the algorithm are placed immediately after the last sale made by the algorithm at a higher price.21
22. Two-Price Offline AlgorithmWith only two prices for orders (high and low), use this algorithm:At the beginning, place a sell order for volume N at the high price.If volume sold is N, return this.Else, After each high-price sale, calculate value of inserting sell order for remaining volume at low price. Return the maximum sequence.22
23. Three-Price Offline SellingThree prices for orders (high: ph, medium: pm, and low: pl).Lemma 3: We can assume that the algorithm inserts any medium-price orders i) immediately after high-price sales and ii) such that they are tight, i.e., increasing the volume would reduce the volume of high-price sales.Theorem 1: Three-price offline selling is NP-Hard.23
24. Reducing Knapsack to 3-Price SellingKnapsackn items (wi, vi)Capacity CValue VFind subset S [n] such that iS wi ≤ C and iS vi ≥ V24
25. Reducing Knapsack to 3-Price SellingLet σi be the sequence25<B, pm, ai+wi><S, pl, wi><B, pl, wi><S, pm, ai><B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).
26. Reducing Knapsack to 3-Price SellingLet σi be the sequence26<B, pm, ai+wi><S, pl, wi><B, pl, wi><S, pm, ai><B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).StepHigh priceMed. priceCanonical OptimumAlg. OrderVol.Alg. Sale Vol.
27. Reducing Knapsack to 3-Price SellingLet σi be the sequence27<B, pm, ai+wi><S, pl, wi><B, pl, wi><S, pm, ai><B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).StepAlg. OrderVol.High priceMed. priceAt start place high sell.Canonical OptimumAlg. Sale Vol.
28. Reducing Knapsack to 3-Price SellingLet σi be the sequence28<B, pm, ai+wi><S, pl, wi><B, pl, wi><S, pm, ai><B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).StepAlg. Sale Vol.Alg. OrderVol.High priceMed. priceAt start place high sell.After high sales, medium sell volumes 0 and ai+wi are tight. More is not optimal.Canonical Optimum
29. Reducing Knapsack to 3-Price SellingLet ω be the sequenceWith initial high sale, books at start of ω just have low buys. This is maintained.Canonical Optimum<S, pl, iwi -C><B,pm, pm(iwi )>.Let σ = (α, ω).Let i(l) be revenue after σi with l fewer initial low buys.29n(l)= pm2(iwi )+pl(C-l) : l≤C pm2(iwi )-pm(l-C) : l≥C nlC
30. Reducing Knapsack to 3-Price Selling30StepAlg. Sale Vol.Alg. OrderVol.High priceMed. priceiCσi
31. Reducing Knapsack to 3-Price Selling31StepAlg. Sale Vol.Alg. OrderVol.High priceMed. pricei-1CInserting a medium sell decreases later low buys by wi and increases revenue by (k) vi.iS if medium after σi .iwi(k)viσi
32. Reducing Knapsack to 3-Price SellingAt beginning of σ0, l=0.Can set pm, pl to ensure that should not shift by more than C.Can set ai, bi to ensure that medium insertion of ai+wi provides (k) vi revenue but more is not profitable.Knapsack solution leads to stated 3-price solution.Canonical form guarantees optimal solution in form that can be converted to a Knapsack solution.32
33. ConclusionsProve optimal competitive ratio for reservation price algorithm for online selling of e log(R), R = pmax/pmin.Optimal selling offline is NP-Hard.PTAS for offline selling when number of prices is constant.Limit order markets are a basic market mechanism with many open problems.33Online / Offline / ProbabilisticBuy / Sell / BothExact volume / Volume constraint
34. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL3$7SELL10$10BUY1$6SELL1$734
35. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL3$7SELL10$10BUY1$6SELL1$735
36. Limit Order Markets Trading one commodity OrderBUY/SELLVolumePrice Lowest (SELL) Highest (BUY) Buy book / Sell book Matching algorithm Match new orderwith existing orders.Remaining volumegoes on a book.BUY5$1BUY2$2BUY1$3SELL1$7SELL10$10BUY1$6SELL3$736
37. Offline SellingInserting sell orders affects the possible revenue gained later in the sequence. In fact, it can only lower it.Inserting a sell order of volume V can cause at most volume V change in the books later in the sequence. Thus, the sales change by at most volume V.37Main Observations
38. Selling in Limit Order Markets38PriceVolume123451-1
39. Selling in Limit Order Markets39<B, 2, $1>PriceVolume123451-1
40. Selling in Limit Order Markets40<B, 2, $1> Price123451-1Volume
41. Selling in Limit Order Markets41<B, 2, $1><S, 1, $3> Price123451-1Volume
42. Selling in Limit Order Markets42<B, 2, $1><S, 1, $3> Price123451-1Volume
43. Selling in Limit Order Markets43<B, 2, $1><S, 1, $3><B, 1, $4>Price123451-1Volume
44. Selling in Limit Order Markets44<B, 2, $1><S, 1, $3><B, 1, $4>Price123451-1Volume
45. Selling in Limit Order Markets45<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3 Price123451-1Volume
46. Selling in Limit Order Markets46<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5>Price123451-1Volume
47. Selling in Limit Order Markets47<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5>Price123451-1Volume
48. Selling in Limit Order Markets48PriceVolume12345<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5> SALE: $51-1
49. Selling in Limit Order Markets49<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1><S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
50. Selling in Limit Order Markets50<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1><S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
51. Selling in Limit Order Markets51<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1><S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
52. Selling in Limit Order Markets52<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
53. Selling in Limit Order Markets53<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
54. Selling in Limit Order Markets54<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
55. Selling in Limit Order Markets55<B, 2, $1><S, 1, $3><B, 1, $4><S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4><S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
56. Selling in Limit Order Markets56<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4> SALE: $3<S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
57. Selling in Limit Order Markets57<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4> SALE: $3<S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
58. Selling in Limit Order Markets58<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4> SALE: $3<S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
59. Selling in Limit Order Markets59<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5>PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4> SALE: $3<S, 1, $5><S, 2, $5><B, 1, $5>PriceVolume123451-1
60. Selling in Limit Order Markets60<B, 2, $1><S, 1, $3><B, 1, $4> SALE: $3<S, 2, $5><B, 1, $5> SALE: $5PriceVolume123451-1<S, 2, $1><B, 2, $1> SALE: $1<S, 1, $3><S, 1, $3><B, 1, $4> SALE: $3<S, 1, $5><S, 2, $5><B, 1, $5> SALE $3PriceVolume123451-1
61. Selling in Limit Order MarketsLemma 0 ([KKMO04]): Inserting a unit-volume sell order results in at most one less sale from the original sell orders.61