1 / 22

Stock Market Trading Via Stochastic Network Optimization

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

arav
Download Presentation

Stock Market Trading Via Stochastic Network Optimization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stock Market Trading Via Stochastic Network Optimization Current price: p1(t) = $5.10 Buy ! Current price: p2(t) = $2.48 Sell ! 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

  2. 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 Buy ! Current price: p2(t) = $1.57 Buy ! Current price: p3(t) = $2.03 Sell !

  3. Goal: Make money over time while limiting the • investment risk! • Limit risk by: • Bounding the max allowable stock level Qnmax. • 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))

  4. Goal: Make money over time while limiting the • investment risk! • Limit risk by: • Bounding the max allowable stock level Qnmax. • 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) Sell ! Revenuen(t) = μn(t)pn(t) - sn(μn(t))

  5. Control Constraints and Decision Structure: • Buying Constraints: • An(t) in {0, 1, 2, …, μnmax} for all n, t. • ∑nAn(t)pn(t) ≤ xmaxfor all t. • Selling Constraints: • μn(t) in {0, 1, 2, …, μnmax} 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) = ∑nRevenuen(t) – ∑nExpensesn(t). • Want to maximize time average profit subject to • the above constraints.

  6. Talk Outline: Design optimal strategy under (simplistic) assumption that price vectors p(t) are i.i.d. over slots. Use same strategy for arbitrary price vectors (assuming only that 0 ≤ pn(t) ≤ pnmax for all t). 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”

  7. Comparison to Related Work: • “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]

  8. 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

  9. Solution Strategy: Dynamic Queue Control θn Qn(t) • 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

  10. 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 Δ(t) + V[Expenses(t) – Revenue(t)] *from stochastic network optimization theory [Georgiadis, Neely, Tassiulas 2006][Neely 2010] 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]}

  11. 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 Δ(t) + V[Expenses(t) – Revenue(t)] *from stochastic network optimization theory [Georgiadis, Neely, Tassiulas 2006][Neely 2010] Results in the following algorithm: • (Buying) Choose An(t)to solve: (“knapsack-like” problem) • Minimize: ∑n[Qn(t)-θn +Vpn(t)]An(t) + V∑nbn(Αn(t)) • Subject to: (already stated) constraints on (An(t)).

  12. Theorem (iid case): Qn(t) Choose θn = V pnmax + 2μnmax. Then: μnmax≤Qn(t) ≤ Vpnmax+ 3μnmax(for all t) For all t: E{Time avg. Profit up to t} ≥ Profitopt– θn “Startup Cost” B L(Q(0)) – V Vt “Profit Gap” (c) As t infinity, we have with prob. 1: limtinfinity[Time avg profit] ≥ Profitopt – B/V

  13. 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 2 Frame 1

  14. 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 2 Frame 1 Metric even allows “selling short”

  15. Theorem (General Bounded Prices): Under same algorithm as before: μnmax≤Qn(t) ≤ Vpnmax+ 3μnmax(for all t) For all frame sizes T>0, all integers R>0: Time average profit over RT slots ≥ - - CT L(Q(0)) 1 RTV V RT R-1 ∑r=0ΨΤ[r]

  16. 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

  17. 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=1000 • Compare 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

  18. Simulations for BlockBuster Stock (BBI): Cumulative Trade Profit (Forward Time) Stock Prices (Forward Time) Average Profit Per Transaction = Cum. Trade Profit/t = $81.52 (2-week ideal profit no more than $30.00, 20-week idea profit no more than $60.00) Cumulative Trade Profit (Backward Time) Stock Prices (Backward Time) Average Profit Per Transaction = Cum. Trade Profit/t = $95.81

  19. 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

  20. 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

  21. 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

  22. Conclusion: • Provide a Lyapunov Optimization (“max-weight”) • approach to stock market trading. • Can quantify risk and profit guarantees compared to • T-Slot Lookahead: 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? CT L(Q(0)) 1 RTV V RT R-1 ∑r=0ΨΤ[r]

More Related