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 !
22
Embed
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 - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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 !
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 !
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))
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 !
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.
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”
Comparison to Related Work:1) “Portfolio Optimization” (Known or approximate price distributions) [Markowitz 1952][Sharpe 1963][Samuelson 1969] [Rudoy, Rohrs 2008] (Dynamic Programming)
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
$$
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
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]}
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)