Transcription of Optimal High-Frequency Market Making
1 Optimal High-Frequency Market MakingTakahiro Fushimi, Christian Gonz alez Rojas,and Molly Herman{tfushimi, cgrojas, 11, 2018 AbstractThe paper implements and analyzes the high frequency Market Making pricingmodel by Avellaneda and Stoikov (2008). This pricing model is integrated with aproprietary inventory control model that dynamically adjusts the order size to mitigateinventory risk, the risk that we bear due to our inventory. Then, we develop a tradingsimulator to assess the P&L and inventory of our Optimal pricing strategy in com-parison to a baseline pricing model for five representative stocks. With the inventorymodel, the Optimal pricing model outperforms the baseline in inventory managementwhile ensuring Introduction22 Market Making Pricing.}
2 Inventory .. Algorithm ..53 Trading Market Order Dynamics .. Order Execution ..74 Results .. Markov Chain Analysis ..115 Conclusions12 References1311 IntroductionMarket makers are critical providers of liquidity in markets as they constantly place bid andask orders in the limit order book such that any Market order will always be capable of beingfilled. The goal of the Market maker is to strategically place these bids and asks to capture thespread, the difference between the bid and ask price, while also earning a rebate for providingliquidity. On the other hand, Market Making has become one of the prevailing strategies forhigh-frequency traders who profit by turning over positions in an extremely short High-Frequency traders play integral roles in providing liquidity to markets, accountingfor more than 50% of total volume in the US-listed equities (SEC, 2014).
3 Various pricing models for Market Making have been proposed in the academic literature. Hoand Stoll (1981) is one of the early studies that analyze the Market Making problem under astochastic control framework. Avellaneda and Stoikov (2008) extends the model proposed byHo and Stoll (1981), derives the Optimal bid and ask quotes using asymptotic expansion andapplies it to High-Frequency Market Making . Furthermore, Gu eant, Lehalle, and Fernandez-Tapia (2013) develops the model further by deriving the closed form solution of the optimalbid and ask spread with boundary conditions on inventory this paper, we implement the high frequency Market Making pricing model proposedby Avellaneda and Stoikov (2008). We choose this model for the ease of implementationand analysis, and unlike recent models such as Gu eant et al.
4 (2013), it does not restrict thepermissible inventory size. Although this unconstrained inventory assumption lets the marketmaker to keep trading regardless of their position, it is a shortcoming since it increases thelikelihood of accumulating a one-sided position and getting exposed to inventory risk, the riskthat we bear due to inventory. To complement the pricing model, we develop an inventorycontrol model that dynamically adjusts the order size based on the current position. Thisintegrated approach allows us to effectively control inventory risk while ensuring trading simulator is devised to assess the P&L and inventory of our Optimal pricing strategycompared to a baseline pricing model for five representative rest of the paper is organized as follows: Section 2 describes the pricing model andthe inventory model, section 3 explains a trading simulator on which the strategy is tested,section 4 discusses the experiment and results, while section 5 Market Making ModelAs a High-Frequency Market maker, we integrate the pricing framework proposed by Avellanedaand Stoikov (2008) and a proprietary order size dynamic model.
5 The combination of an op-timal quote and a dynamic order size strategy allows us to effectively control inventory riskand ensure PricingWe use the Optimal Market Making model developed by Avellaneda and Stoikov (2008) as ourbid and ask quote-setting strategy. The framework is based on a utility-maximizing marketmaker trading in a limit order book. This section presents a brief summary of the are interested in maximizing our expected exponential utility given our profit and loss atterminal timeT. Assuming the risk-free rate is zero and the mid-price of a stock follows astandard brownian motiondSt= dWtwith initial valueS0=sand standard deviation ,Avellaneda and Stoikov (2008) formulates the Market maker problem as:u(s,x,q,t) = max a, bEt[ e (XT+qTST)]where a, bare the bid and ask spreads is a risk aversion parameterXTis the cash at timeTqTis the inventory at timeTSTis the stock price at timeTA few assumptions must be made before solving the stochastic Optimal control , it is important to model inventory as a stochastic process, given that order fills arerandom variables.
6 Therefore, we can model:qt=Nat NbtwhereNatis the amount of stock soldNbtis the amount of stock boughtBased on this definition, we can model cash as a stochastic differential equation in the form:dXt=padNat+pbdNbtwherepa,pbare the bid and ask quotesAvellaneda and Stoikov (2008) also provides a structure to the number of bid and ask exe-cutions by modeling them as a Poisson process. According to their framework, this Poissonprocess should also depend on the Market depth of our quote. This is achieved through thefollowing expression: ( ) =Ae where is the Market depthThis framework to model execution intensity will also prove useful in the design of ourtrading simulator. Avellaneda and Stoikov (2008) then continue to solve the stochasticcontrol problem using the following Hamilton Jacobi Bellman equation:0 =ut+12 2uss+ max b b( b)[u(s,x s+ b,q+ 1,t) u(s,x,q,t)]+ max a a( a)[u(s,x+s+ a,q+ 1,t) u(s,x,q,t)]3 Then, this nonlinear partial differential equation is solved using an asymptotic expansion fora small inventoryq.
7 This results in the pricing equations that are relevant to our algorithm:{r(s,t)=s q 2(T t) Indifference price a+ b= 2(T t) + ln(1 + ) Spread aroundr(s,t)It is important to notice that, since Avellaneda and Stoikov (2008) definesTas the terminaltime in which the trader optimizes its expected utility, the spread equation can be seen as alinear function of (T t) given by: a+ b= 2 A(T t) + ln(1 + ) BwhereAis the slope of the spread equationBis the closing spread whent=TIf >0, the spread equation becomes a decreasing function of time. The rationale behind thisoptimal strategy is that tighter Optimal spread enables the Market marker to liquidate theirposition before the Market closes so as to avoid overnight risk. To implement the frameworkdeveloped by Avellaneda and Stoikov (2008) we must compute our indifference price and setan Optimal spread around it given by these two equations.}
8 We exploit the linearity of thespread equation and our Market data in order to adjust our spread to the best bid-ask spreaddynamics. The calibration strategy is explained in detail in the Experiments section of InventoryTo complement the pricing model, we develop a proprietary dynamic order size the strategy followed by Gu eant et al. (2013), who stops quoting if the inventoryreaches the maximum permissible level, we are able to keep trading and earning rebates byadjusting the order size based on our current position. Our order size model is given by thefollowing equation: bidt={ maxtifqt<0 maxt e qtifqt>0 askt={ maxtifqt>0 maxt e qtifqt<0where bidt, asktare the bid and ask order size at timet maxtis the maximum order size at timet is a shape parameterWe select the shape parameter = to obtain dynamic order size model shown inFigure 1.}}
9 As we will later see, this function is very effective at controlling inventory main reasoning behind its mechanics is that the framework controls inventory risk byplacing smaller order sizes in the direction of excess position SizeSell 100 shares Buy at functionBuy 100 shares Sell at functionFigure 1:Dynamic order size AlgorithmAs a Market maker, we are interested in implementing an algorithm that places bid and askquotes in the limit order book at all times. However, we are aware that in very brief periods,we must hold one-sided quotes for the sake of profitability. This situation occurs when bothbuy and sell orders are not filled at the same time , our strategy iterates as follows. During the trading day, we quote a bid and askspread if we have no orders in the limit order book.
10 If only one of these orders is filled, wewait for 5 seconds for the outstanding order to be executed. If this does not happen, thenwe cancel the order and place new bid and ask quotes. Finally, whenever we have two ordersin the limit order book, we update our quotes every second. The summary of the tradingalgorithm is shown in Algorithm 1 Market Making Algorithmwhilecurrent time<end timedoifno orders in the bookthenQuote bid and ask priceselse if1 order in the bookthenifcurrent time - execution time>waiting timethenCancel the outstanding order Quote new bid and ask priceselseWaitendelse if2 orders in the bookthenifcurrent time - quote time>update timethenCancel both order Quote new bid and ask priceselseWaitendendend53 Trading SimulatorWe build a trading simulator to assess our strategy.