What it does

Our trading algorithm follows a fairly simple strategy. It looks for opportunities when there's a bid on one exchange higher than some ask on the other, and executes ioc orders to buy and sell at the same time. The problems arise when one order succeeds, and one does not. We handle such situations by reducing our ask/bid volume on the correct side in future trades, which brings our net position back to zero. Additionally, we engage in zero profit trades when we are too long on one exchange and to short on the other. We therefore have a mechanism both controlling the net position, and reducing our individual positions as well.

Challenges we ran into

Initially we tried to compute the most optimal set of trades, allowing to instantly consume whole surplus, but it turned out that it was better to have a faster program taking advantage of the most profitable opportunities as quickly as possible.

Accomplishments that we're proud of

We're proud of the hourly PnL upwards of 1000 that we achieved during the game, and the program's large speed allowing it to outpace opponents.

What we learned

We defineatly learned how arbitrage and hedging work in practice, and how to create reliable and robust strategies that prove effective in real scenarios.

Built With

Share this project:

Updates