Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Optimal order execution for iliquid markets

Hey guys,

Over the last few days, I have been researching ways to execute large trades within an illiquid market, while minimizing market impact, but I am having some trouble.

Here is what I am trying to do.

Say I have 100 BCH(bitcoin cash) and want to liquidate this for BTC. If I was to place a market order, I would walk the orderbook and cause massive cost to me in slippage. Now If I break up the order and set limit orders, I would not get filled fast enough (under 5 mins) and variance in price could mean my orders never get filled.

I guess my main question is, how do HFT firms liquidate a large volume of securities, quickly, without moving the market a massive amount.

I am leaning towards a model that splits orders into multiple bits, however, I need to find an optimal price, the optimal time between order placement, and minimize market impact.

I know this is no easy feat, and I did find the paper attached outlining Almgren-Chriss's method of doing this, however, I am not quite sure how to implement this within python.

I have found other strategies as well, including TWAP/VWAP, however, I also found they tend to break down in low liquidity environments.

Any help with this would be greatly appreciated.

The Paper
Almgren-Chriss Method