can someone who works in quant/HFT/market making help me understand whether the following is correct?
(assuming there is only a single exchange for simplicity,) order execution is hard because (a) the order book is of finite size, so placing a large order induces slippage, and (b) if you make a series of trades spaced far apart to wait for more liquidity to show up, the value of the stock can move, (c) if you make a series of trades predictably, then HFTs can fuck you over by clearing out the order book 1ms before you buy and turning around to sell to you.
so unavoidably you have to make a series of trades. you need to trade off between speed of executing on everything and the liquidity available. the HFTs can only fuck you over if they know exactly when you’re going to trade, because they bleed money whenever they mispredict and try to frontrun an order that doesn’t exist. you also want some way to hedge the possible price movements.
I am not a quant, but have some related background. (Those who know this area best, may not be inclined to say.)
”Real traders” have many ways to avoid getting front-run to the extreme degree suggested in (c), including limit orders and “trying not to be that predictable” by disguising action to look like other forms of flow.
The amount of pain you experience from (b) depends on whether you think your strategy’s value decays rapidly or slowly.
But there is is a more general problem: it is not just HFT’s but the market as a whole that reacts to your actions: your impact will shift the demand curve for the stock. the size of that impact depends on the information leaked by your actions, information leaked by passage of time, and time allowed for new liquidity to arrive.
but predicting actual impact is hard for a number of reasons (limited data, causality issues)
Knowledge of what other players can and can’t infer from your execution, and modeling impact patterns well, is a multiplier on the value of strategies, hence worth spending a lot to get right.
I work in quant trading, but not specifically in order execution. These are all real concerns. Which ones are most important depends heavily on your strategy and market, e.g. if your positions last for days order execution is a lot easier than if they last for minutes. And time-based slippage might be big or small relative to tick size.
the HFTs can only fuck you over if they know exactly when you’re going to trade
This isn’t quite true, sophisticated funds can exploit almost any predictability.
if you make a series of trades predictably, then HFTs can fuck you over by clearing out the order book 1ms before you buy and turning around to sell to you.
You could prevent this by using a limit order, yes? But execution still seems hard even if you are allowed to use limit orders.
In general, it seems to me unnecessary to know exactly when you will trade in order to exploit you. If I can predict your future trades, and believe they would be profitable for you, I can take advantage by doing those trades myself first. In fact, unless I think your trades would be profitable only at the exact time you plan to do them, I likely want to make your trades as soon as I can, not wait for when you were going to make them.
Naive use of limit orders will cause you to lose the profitable trades, and fill the unprofitable ones. There are ways around this, but it’s not trivial.
Let’s say I’m a market maker. Assuming there’s no way for me to hedge my position when my quote is taken, how do I get out of my position when someone hit my quote?
The standard way to do this is to “lean” on your position. If my estimated price of something is $100 and someone bought against me, then I’ll adjust my estimated price to something like $101. The more position I’m holding right now, the more I adjust. When the adjusted price moves too far away from my quotes, I pull my quote back. That’s why when you trade against market makers, you might get a worse price for your next order.
can someone who works in quant/HFT/market making help me understand whether the following is correct?
(assuming there is only a single exchange for simplicity,) order execution is hard because (a) the order book is of finite size, so placing a large order induces slippage, and (b) if you make a series of trades spaced far apart to wait for more liquidity to show up, the value of the stock can move, (c) if you make a series of trades predictably, then HFTs can fuck you over by clearing out the order book 1ms before you buy and turning around to sell to you.
so unavoidably you have to make a series of trades. you need to trade off between speed of executing on everything and the liquidity available. the HFTs can only fuck you over if they know exactly when you’re going to trade, because they bleed money whenever they mispredict and try to frontrun an order that doesn’t exist. you also want some way to hedge the possible price movements.
I am not a quant, but have some related background. (Those who know this area best, may not be inclined to say.)
”Real traders” have many ways to avoid getting front-run to the extreme degree suggested in (c), including limit orders and “trying not to be that predictable” by disguising action to look like other forms of flow.
The amount of pain you experience from (b) depends on whether you think your strategy’s value decays rapidly or slowly.
But there is is a more general problem: it is not just HFT’s but the market as a whole that reacts to your actions: your impact will shift the demand curve for the stock. the size of that impact depends on the information leaked by your actions, information leaked by passage of time, and time allowed for new liquidity to arrive.
there is academic work on theoretical “square-root laws of market impact”
https://mfe.baruch.cuny.edu/wp-content/uploads/2012/09/Chicago2016OptimalExecution.pdf
but predicting actual impact is hard for a number of reasons (limited data, causality issues)
Knowledge of what other players can and can’t infer from your execution, and modeling impact patterns well, is a multiplier on the value of strategies, hence worth spending a lot to get right.
I work in quant trading, but not specifically in order execution. These are all real concerns. Which ones are most important depends heavily on your strategy and market, e.g. if your positions last for days order execution is a lot easier than if they last for minutes. And time-based slippage might be big or small relative to tick size.
This isn’t quite true, sophisticated funds can exploit almost any predictability.
You could prevent this by using a limit order, yes? But execution still seems hard even if you are allowed to use limit orders.
In general, it seems to me unnecessary to know exactly when you will trade in order to exploit you. If I can predict your future trades, and believe they would be profitable for you, I can take advantage by doing those trades myself first. In fact, unless I think your trades would be profitable only at the exact time you plan to do them, I likely want to make your trades as soon as I can, not wait for when you were going to make them.
Naive use of limit orders will cause you to lose the profitable trades, and fill the unprofitable ones. There are ways around this, but it’s not trivial.
Let’s say I’m a market maker. Assuming there’s no way for me to hedge my position when my quote is taken, how do I get out of my position when someone hit my quote?
The standard way to do this is to “lean” on your position. If my estimated price of something is $100 and someone bought against me, then I’ll adjust my estimated price to something like $101. The more position I’m holding right now, the more I adjust. When the adjusted price moves too far away from my quotes, I pull my quote back. That’s why when you trade against market makers, you might get a worse price for your next order.