Optiver Challenge submission

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.

Log in or sign up for Devpost to join the conversation.