Optiver Challenge submission

stonks

Market Maker Algorithm

This is a simple market making strategy designed to exploit the difference in the spread between the more liquid PHILIPS_A and the less liquid PHILIPS_B assets. We look for opportunities when the spread of A is narrower than the spread of B, and then set limit orders on both the bid and the ask for B. When one of the limit orders is confirmed, we hedge it with an ofsetting trade in A (at IOC, since A is liquid enough). In this way, we capture the difference between the spreads as our profit.

Arbitrage Algorithm

An arbitrage strategy designed to capture and profit from inefficiencies in the market. In this pairs trading context, we assume that A and B are very highly correlated and will converge soon in the future (as evidenced both by the Optiver demonstrators and our own analyses).

When B's best bid price exceeds A's best ask, we sell the latter and buy the former (at IOC: we don't market-make and place limit orders). When the prices eventually converge, we cash in the profit and flatten our positions.

We occasionally have to rebalance, e.g. when the A trades go through and the B ones don't; this is the only place the strategy may lose money.

Overall, the strategy makes a consistent profit.

Built With

Share this project:

Updates