online and offline selling in limit order markets
DESCRIPTION
Online and Offline Selling in Limit Order Markets. Aaron Johnson Yale University Kevin Chang Yahoo! Inc. Workshop on Internet and Network Economics December, 17 th 2008. Limit Order Markets. Match buyers with sellers Electronic Communication Networks (ECNs) NASDAQ Instinet - PowerPoint PPT PresentationTRANSCRIPT
1
Online and Offline Selling in Limit Order Markets
Aaron JohnsonYale University
Kevin ChangYahoo! Inc.
Workshop on Internet and Network EconomicsDecember, 17th 2008
2
Limit Order Markets
• Match buyers with sellers• Electronic Communication Networks (ECNs)– NASDAQ– Instinet– NYSE-Euronext
• Prediction Markets– Intrade– Iowa Electronic Markets
• Market makers• Market orders, fill or kill, cancellation
3
Results
• Reservation 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 buying
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.
5
Limit Order Markets• Trading one commodity
6
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
BUY 1 $3
7
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 1 $5
SELL 3 $7
SELL 10 $10
8
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 1 $5
SELL 3 $7
SELL 10 $10
9
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 1 $5
SELL 3 $7
SELL 10 $10
BUY 2 $6
10
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 1 $5
SELL 3 $7
SELL 10 $10
BUY 2 $6
11
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 0 $5
SELL 3 $7
SELL 10 $10
BUY 1 $6
1
$5
12
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 3 $7
SELL 10 $10
BUY 1 $6
13
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 3 $7
SELL 10 $10
BUY 1 $6
14
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 3 $7
SELL 10 $10
BUY 1 $6
15
Limit Order Problems
• Sequence of orders• Volume to trade• Insert orders to maximize value at given volume
General Problem
OptionsOnline / Offline / Probabilistic
Buy / Sell / BothExact volume / Volume constraint
16
Limit Order Problems
• Sequence of orders• Volume to trade• Insert orders to maximize value at given volume
General Problem
OptionsOnline / Offline / Probabilistic
Buy / Sell / BothExact volume / Volume constraint
17
Limit Order Problems
• Sequence of orders: (σ1,…, σn) : σi = <B/S,vi,pi>• Volume to sell : N• Insert sell orders to maximize revenue.– Output (σ1,τ1,σ2,τ2,…, σn,τn), τi = <S,vτ
i,p τi>.
– Σi vτi ≤N
– Maximize revenue earned from τi sales.
Offline Selling
18
Limit Order Problems
Results1. Problem is NP-Hard, even when there are only
three prices in sequence.2. Problem with two prices is linear-time solvable.3. Exists a Polynomial-Time Approximation Scheme
when number of prices is constant.
Offline Selling
19
Limit Order Problems
Results1. Problem is NP-Hard, even when there are only
three prices in sequence.2. Problem with two prices is linear-time solvable.3. Exists a Polynomial-Time Approximation Scheme
when number of prices is constant.
Offline Selling
20
Offline Selling
1. Give a canonical form for optimal solutions to case when input sequence has only three prices.
2. Form leads to algorithm for two-price case.3. Reduce KNAPSACK to three-price instance.
1. Easy to see that solutions to KNAPSACK instance give solutions to three-price instance.
2. Canonical form guarantees that a solution to three-price selling gives a solution to KNAPSACK.
Proving 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.
22
Two-Price Offline Algorithm• With 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.
23
Three-Price Offline Selling• Three 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.
24
Reducing KNAPSACK to 3-Price Selling
KNAPSACK– n items (wi, vi)– Capacity C– Value V– Find subset S [n] such that
iS wi ≤ C and iS vi ≥ V
25
Reducing KNAPSACK to 3-Price SellingLet σi be the sequence
1. <B, pm, ai+wi>2. <S, pl, wi>3. <B, pl, wi>4. <S, pm, ai>5. <B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).
26
Reducing KNAPSACK to 3-Price SellingLet σi be the sequence
1. <B, pm, ai+wi>2. <S, pl, wi>3. <B, pl, wi>4. <S, pm, ai>5. <B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).
Step
High priceMed. price
Canonical Optimum
Alg. OrderVol.
Alg. Sale Vol.
27
Reducing KNAPSACK to 3-Price SellingLet σi be the sequence
1. <B, pm, ai+wi>2. <S, pl, wi>3. <B, pl, wi>4. <S, pm, ai>5. <B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).
Step
Alg. OrderVol.
High priceMed. price
• At start place high sell.Canonical Optimum
Alg. Sale Vol.
28
Reducing KNAPSACK to 3-Price SellingLet σi be the sequence
1. <B, pm, ai+wi>2. <S, pl, wi>3. <B, pl, wi>4. <S, pm, ai>5. <B, ph, ai+bi>.Let α = (σ1, σ2, …, σn).
StepAlg. Sale
Vol.
Alg. OrderVol.
High priceMed. price
• At 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 sequence
• With initial high sale, books at start of ω just have low buys. This is maintained.
Canonical Optimum1. <S, pl, iwi -C>2. <B,pm, pm(iwi )>.
Let σ = (α, ω).Let i(l) be revenue after σi with l fewer initial low buys.
n(l)= pm2(iwi )+pl(C-l) : l≤C
pm2(iwi )-pm(l-C) : l≥C
n
lC
30
Reducing KNAPSACK to 3-Price Selling
StepAlg. Sale
Vol.
Alg. OrderVol.
High priceMed. price
i
C
σi
31
Reducing KNAPSACK to 3-Price Selling
StepAlg. Sale
Vol.
Alg. OrderVol.
High priceMed. price
i-1
C
• Inserting a medium sell decreases later low buys by wi and increases revenue by (k) vi.
• iS if medium after σi .
i
wi
(k)vi
σi
32
Reducing KNAPSACK to 3-Price Selling• At 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.
33
Conclusions• Prove 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.
Online / Offline / ProbabilisticBuy / Sell / Both
Exact volume / Volume constraint
34
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 3 $7
SELL 10 $10
BUY 1 $6
SELL 1 $7
35
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 3 $7
SELL 10 $10
BUY 1 $6
SELL 1 $7
36
Limit Order Markets• Trading one commodity• Order
1. BUY/SELL2. Volume3. Priceo Lowest (SELL)o Highest (BUY)
• Buy book / Sell book• Matching algorithm
1. Match new orderwith existing orders.
2. Remaining volumegoes on a book.
BUY 5 $1
BUY 2 $2
BUY 1 $3
SELL 1 $7
SELL 10 $10
BUY 1 $6
SELL 3 $7
37
Offline Selling
1. Inserting sell orders affects the possible revenue gained later in the sequence. In fact, it can only lower it.
2. 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.
Main Observations
38
Selling in Limit Order Markets
Price
Volume
1 2 3 4 51
-1
39
Selling in Limit Order Markets
1. <B, 2, $1>
Price
Volume
1 2 3 4 51
-1
40
Selling in Limit Order Markets
1. <B, 2, $1>
Price1 2 3 4 51
-1
Volume
41
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>
Price1 2 3 4 51
-1
Volume
42
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>
Price1 2 3 4 51
-1
Volume
43
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>
Price1 2 3 4 51
-1
Volume
44
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>
Price1 2 3 4 51
-1
Volume
45
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $3
Price1 2 3 4 51
-1
Volume
46
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>
Price1 2 3 4 51
-1
Volume
47
Selling in Limit Order Markets
1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5>
Price1 2 3 4 51
-1
Volume
48
Selling in Limit Order Markets
Price
Volume
1 2 3 4 5
1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5> SALE: $51
-1
49
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1>3. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
50
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1>3. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
51
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1>3. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
52
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
53
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
54
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
55
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4>4. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4>6. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
56
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4> SALE: $36. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
57
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4> SALE: $36. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
58
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4> SALE: $36. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
59
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5>Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4> SALE: $36. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5>
Price
Volume
1 2 3 4 51
-1
60
Selling in Limit Order Markets1. <B, 2, $1>2. <S, 1, $3>3. <B, 1, $4> SALE: $34. <S, 2, $5>5. <B, 1, $5> SALE: $5Price
Volume
1 2 3 4 51
-1
1. <S, 2, $1>2. <B, 2, $1> SALE: $13. <S, 1, $3>4. <S, 1, $3>5. <B, 1, $4> SALE: $36. <S, 1, $5>7. <S, 2, $5>8. <B, 1, $5> SALE $3
Price
Volume
1 2 3 4 51
-1
61
Selling in Limit Order Markets
Lemma 0 ([KKMO04]): Inserting a unit-volume sell order results in at most one less sale from the original sell orders.