Inspiration

This project was made as a submission for the Optiver Challenge, as part of the larger HackCambridge Atlas Hackathon 2022.

What it does

It is a automated bot that can analyze trades made on the stock market and trade accordingly to try and perform arbitrage to turn a good profit.

How we built it

It was a short challenge at first as both of us did not know much about Optiver/Optibook, the functionalities it offers or the kind of work we can do with it. With help from the generous resources and extensive documentation from their side, we got a good grip on what is going on and started to understand the market in terms of the trades executed till now and what is a good way to calculate profit-and-loss. We made simple wrapper functions on top of Optiver's SDK to allow us easier access within the bot's main code. Following that, we tried to understand and calculate PnL on different trades already placed in the market as part of the problem exercises given to us.

Challenges we ran into

The first problem we faced was the unfamiliarity with Optiver as well as less knowledge about Financial Markets. Along with that, the challenge of using AWS Cloud9 over our preferred IDEs/Editors led to us being a bit lost in the features it provides.

Accomplishments that we're proud of

We personally feel proud that we could take the information and knowledge that we got in the time provided and led ourselves to make a project we could be proud of. Along with that, the fact that we got a crash course and important real-world knowledge around algorithmic trading is another great take-away.

What we learned

We learnt how Algorithmic Trading with Python works, how we can utilize Optiver for this purpose, the nuances of using a cloud-editor and how financial markets work in general.

What's next for Optibook Challenge

We feel that by adding more modern techniques for data-analysis like Machine Learning and Deep Learning, we could make the algorithms much more effective at identifying correct trades.

Built With

Share this project:

Updates