What Inspired you?
Since we are a team that comes with a passion for finance, that inspired us to do the Optiver Challenge.
What you learned?
We learned a few things about trading for sure as well as met a lot of cool people from the industry and different study programs.
How you built your project and the challenges faced?
Our algorithm consists of two components: arbitrage and market making.
The arbitrage component of the algorithm is continuously checking for opportunities to trade individual stocks against the ETF in case of price differences. For example, in case the combined prices of the individual stocks are less than the ETF, we can buy two each of the individual stocks and sell two ETFs to profit off of the difference between the two. After a successful trade, we will be long two individual stocks and short the ETF and therefore in aggregate not exposed to any market risks.
The other component of the algorithm is market making where we trade on the spread of the assets. In essence, we will insert a better ask for the individual stocks than the current best ask in the market and insert a better bid than the current best bid for the ETF in the market. That way, as in the arbitrage case, we will be able to buy two individual stocks and sell the ETF with a price difference that will equal our profit off of the trade.
After successful trades, we need to convert our paper gains into cash gains by selling our positions. We do that by buying the ETF at the same price as we’re selling the individual stock. Because this is a net-zero transaction, the gains from the initial arbitrage and market-making trade can be realized.
In the future, we would have to work on making the algorithm more robust and integrating the individual components into a coherent program that can be continuously executed and that reacts correctly to error messages and disconnects from the exchange.
Built With
- cloud
- jupyternotebook
- kernel
- python
Log in or sign up for Devpost to join the conversation.