22
Stock Market Trading Via Stochastic Network Optimization Michael J. Neely (University of Southern California) Proc. IEEE Conf. on Decision and Control (CDC), Atlanta, GA, Dec. 2010 PDF of paper at: http://www-bcf.usc.edu/~mjneely/ Sponsored in part by the NSF Career CCF-0747525 Current price: p 1 (t) = $5.10 Current price: p 2 (t) = $2.48 Buy ! Sell !

Stock Market Trading Via Stochastic Network Optimization

  • Upload
    arav

  • View
    40

  • Download
    3

Embed Size (px)

DESCRIPTION

Stock Market Trading Via Stochastic Network Optimization. Current price: p 1 (t) = $5.10. Buy !. Current price: p 2 (t) = $2.48. Sell !. Michael J. Neely (University of Southern California) Proc. IEEE Conf. on Decision and Control (CDC), Atlanta, GA, Dec. 2010 - PowerPoint PPT Presentation

Citation preview

Page 1: Stock Market Trading Via  Stochastic Network Optimization

Stock Market Trading Via Stochastic Network Optimization

Michael J. Neely (University of Southern California)Proc. IEEE Conf. on Decision and Control (CDC), Atlanta, GA, Dec. 2010

PDF of paper at: http://www-bcf.usc.edu/~mjneely/Sponsored in part by the NSF Career CCF-0747525

Current price: p1(t) = $5.10

Current price: p2(t) = $2.48

Buy !

Sell !

Page 2: Stock Market Trading Via  Stochastic Network Optimization

Problem Setting: •N stocks.•Slotted time t = {0, 1, 2, …}.•Prices p(t) = (p1(t), …, pN(t)).•Stock shares Q(t) = (Q1(t), …, QN(t))

Current price: p1(t) = $5.10

Current price: p2(t) = $1.57

Current price: p3(t) = $2.03

Buy !

Buy !

Sell !

Page 3: Stock Market Trading Via  Stochastic Network Optimization

Goal: Make money over time while limiting the investment risk! Limit risk by:•Bounding the max allowable stock level Qn

max.•Bounding the amount buy/sell on a slot.

Decision Variables for Buying:•An(t) = Num. shares of stock n bought on slot t.•bn(A) = Buying transaction fee (function of A).

Current price = pn(t)

Buy !Expensen(t) = An(t)pn (t) + bn(An (t))

Page 4: Stock Market Trading Via  Stochastic Network Optimization

Goal: Make money over time while limiting the investment risk! Limit risk by:•Bounding the max allowable stock level Qn

max.•Bounding the amount buy/sell on a slot.

Decision Variables for Selling:•μn(t) = Num. shares of stock n sold on slot t.•sn(μ) = Selling transaction fee (function of μ).

Current price = pn(t)

Revenuen(t) = μn(t)pn (t) - sn(μn (t))

Sell !

Page 5: Stock Market Trading Via  Stochastic Network Optimization

Control Constraints and Decision Structure:Buying Constraints: An(t) in {0, 1, 2, …, μn

max} for all n, t. ∑n An(t)pn(t) ≤ xmax for all t.

Selling Constraints: μn(t) in {0, 1, 2, …, μn

max} for all n, t. μn(t) ≤ Qn(t) for all n, t.

•Every slot t, observe prices p(t) = (p1(t), …, pN(t)).•Make buying/selling decisions.•Profit(t) = ∑n Revenuen(t) – ∑n Expensesn(t).•Want to maximize time average profit subject to the above constraints.

Page 6: Stock Market Trading Via  Stochastic Network Optimization

Talk Outline:1) Design optimal strategy under (simplistic) assumption that price vectors p(t) are i.i.d. over slots.

2) Use same strategy for arbitrary price vectors (assuming only that 0 ≤ pn(t) ≤ pn

max for all t).

3) For arbitrary prices, show the strategy yields profit arbitrarily close to that of an “ideal” algorithm with perfect knowledge of future prices over T-slot frames (for any integer T).

“T-slot lookahead metric”

Page 7: Stock Market Trading Via  Stochastic Network Optimization

Comparison to Related Work:1) “Portfolio Optimization” (Known or approximate price distributions) [Markowitz 1952][Sharpe 1963][Samuelson 1969] [Rudoy, Rohrs 2008] (Dynamic Programming)

2) “Universal Portfolios” (Arbitrary price sample paths) [Cover 1991][Cover, Ordentlich 1996][Ordentlich, Cover 1998] [Merhav, Feder 1993]

Page 8: Stock Market Trading Via  Stochastic Network Optimization

Comparison to Related Work:Different Structure for Prior “Universal Portfolio” work:• Optimize “growth exponent.”• No cap on queue size (more aggressive, but more risk!)• Integer constraints relaxed to real numbers.• No Transaction fees.• Based on “Universal Data Compression.”• Solution complexity grows with time.

Comparison to ours:• Our cap on buy/sell and queue size limits risk, but also limits to only linear growth (*not exponential). • Based on “Stochastic Network Optimization.” • Simple “max-weight” solution with complexity that is the same for all time. *simple modifications can get back exponential growth.

time

$$

Page 9: Stock Market Trading Via  Stochastic Network Optimization

Solution Strategy: Dynamic Queue Control

Qn(t)

θn

•Want to keep queue size high enough to take advantage of good prices that come along.•Don’t want queues too high (too risky). •Lyapunov Function:

L(Q(t)) = ∑n (Qn(t) – θn)2

Page 10: Stock Market Trading Via  Stochastic Network Optimization

Control Design: Qn(t)•Lyapunov Function L(Q(t))•Lyapunov Drift Δ(t) = L(Q(t+1)) – L(Q(t))•Every slot t, observe Q(t), p(t), and minimize the drift-plus-penalty*:

θn

*from stochastic network optimization theory [Georgiadis, Neely, Tassiulas 2006][Neely 2010]

Δ(t) + V[Expenses(t) – Revenue(t)]

Results in the following algorithm:•(Selling) Choose μn(t) to solve:

Minimize: [θn– Qn(t) – Vpn(t)]μn(t) + Vsn(μn(t))

Subject to: μn(t) in {0, 1, 2, …, min[Qn(t), μnmax]}

Page 11: Stock Market Trading Via  Stochastic Network Optimization

Control Design: Qn(t)•Lyapunov Function L(Q(t))•Lyapunov Drift Δ(t) = L(Q(t+1)) – L(Q(t))•Every slot t, observe Q(t), p(t), and minimize the drift-plus-penalty*:

θn

*from stochastic network optimization theory [Georgiadis, Neely, Tassiulas 2006][Neely 2010]

Δ(t) + V[Expenses(t) – Revenue(t)]

Results in the following algorithm:•(Buying) Choose An(t) to solve: (“knapsack-like” problem)

Minimize: ∑n [Qn(t)-θn +Vpn(t)]An(t) + V∑n bn(Αn(t))

Subject to: (already stated) constraints on (An(t)).

Page 12: Stock Market Trading Via  Stochastic Network Optimization

Theorem (iid case): Qn(t)

θn

Choose θn = V pnmax + 2μn

max. Then:

(a) μnmax ≤ Qn(t) ≤ Vpn

max + 3μnmax (for all t)

(b) For all t: E{Time avg. Profit up to t} ≥

Profitopt – B L(Q(0))V Vt

–“Startup Cost”

(c) As t infinity, we have with prob. 1:

limtinfinity [Time avg profit] ≥ Profitopt – B/V

“Profit Gap”

Page 13: Stock Market Trading Via  Stochastic Network Optimization

Now for arbitrary (possibly non-ergodic) prices:

•Compare to an “ideal” T-slot lookahead metric.•ΨT[r] = Optimal Profit over frame r, assuming future stock prices over the frame are known.

Frame 0 Frame 1 Frame 2

Page 14: Stock Market Trading Via  Stochastic Network Optimization

Now for arbitrary (possibly non-ergodic) prices:

•Compare to an “ideal” T-slot lookahead metric.•ΨT[r] = Optimal Profit over frame r, assuming future stock prices over the frame are known.

Frame 0 Frame 1 Frame 2Metric even allows “selling short”

Page 15: Stock Market Trading Via  Stochastic Network Optimization

Theorem (General Bounded Prices):Under same algorithm as before:

(a) μnmax ≤ Qn(t) ≤ Vpn

max + 3μnmax (for all t)

(b) For all frame sizes T>0, all integers R>0: Time average profit over RT slots ≥

R-1 ∑r=0 ΨΤ[r] 1

RTCTV

L(Q(0))RTV

- -

Page 16: Stock Market Trading Via  Stochastic Network Optimization

Simulations for BlockBuster Stock (BBI):Aug. 11, 1999 – Sept. 11, 2009

Avg Profit = Avg Profit on Trades - (1/t) x Startup Cost + (1/t) x Profit when sell all at end

Page 17: Stock Market Trading Via  Stochastic Network Optimization

Simulations for BlockBuster Stock (BBI):Aug. 11, 1999 – Sept. 11, 2009

Avg Profit = Avg Profit on Trades - (1/t) x Startup Cost + (1/t) x Profit when sell all at end

“Asymptotically Negligible” as t infinity(But very significant for finite t !!!)

Parameters: μmax = 20, pmax = 30, V=1000Compare bound For T=10 (2 weeks), T=100 (20 weeks) :• Avg. Profit on trades ≥ “2-week ideal” – $2.0• Avg. Profit on trades ≥ “20-week ideal” - $20.0

Page 18: Stock Market Trading Via  Stochastic Network Optimization

Simulations for BlockBuster Stock (BBI):

1 5 9 13 17 21 25 29 33 37 41 45 490

50000

100000

150000

200000

250000

300000

350000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 490

5

10

15

20

25

30

35

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 490

50000

100000

150000

200000

250000

300000

350000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 490

5

10

15

20

25

30 Stock Prices (Forward Time) Cumulative Trade Profit (Forward Time)

Average Profit Per Transaction = Cum. Trade Profit/t = $81.52

Average Profit Per Transaction = Cum. Trade Profit/t = $95.81

Stock Prices (Backward Time)Cumulative Trade Profit (Backward Time)

(2-week ideal profit no more than $30.00, 20-week idea profit no more than $60.00)

Page 19: Stock Market Trading Via  Stochastic Network Optimization

What about total profit (including startup costs)?

Forward Time:•Trade Profit = $206,343.20•Startup Cost = $449,097.99•End Reward = $33,976.80•Total Profit = -$208,778.00

Reverse Time:•Trade Profit = $242,512.40•Startup Cost = $35,146.80•End Reward = $239,499.00•Total Profit = $446,864.60

Page 20: Stock Market Trading Via  Stochastic Network Optimization

What about total profit (including startup costs)?

Forward Time:•Trade Profit = $206,343.20•Startup Cost = $449,097.99•End Reward = $33,976.80•Total Profit = -$208,778.00

Reverse Time:•Trade Profit = $242,512.40•Startup Cost = $35,146.80•End Reward = $239,499.00•Total Profit = $446,864.60

Page 21: Stock Market Trading Via  Stochastic Network Optimization

What about total profit (including startup costs)?

Forward Time:•Trade Profit = $206,343.20•Startup Cost = $449,097.99•End Reward = $33,976.80•Total Profit = -$208,778.00

Reverse Time:•Trade Profit = $242,512.40•Startup Cost = $35,146.80•End Reward = $239,499.00•Total Profit = $446,864.60

Page 22: Stock Market Trading Via  Stochastic Network Optimization

Conclusion: •Provide a Lyapunov Optimization (“max-weight”) approach to stock market trading.

•Can quantify risk and profit guarantees compared to T-Slot Lookahead:

R-1 ∑r=0 ΨΤ[r] 1

RTCTV

L(Q(0))RTV

- -

Time average profit over RT slots ≥

•Startup Cost is high and thus there is inherent risk, but optimizing the trading profits mitigates this risk.

•Open question: Can other algorithms provide provably better tradeoffs?