NOTE: we have only done our work for Optiver challenge
Optiver challenge - Team 28 submission description
The main focus of our algorithm is taking opportunities in the market for risk-free profit in the long term.
We perform two main actions by looking at market prices:
- When amazonBidPrice + googleBidPrice - basketAskPrice > 0, we buy baskets and sell Amazon and Google stocks.
- When basketBidPrice - amazonAskPrice - googleAskPrice > 0, we sell baskets and buy Amazon and Google stocks.
(The variables here represent the best ask/bid prices accordingly)
We also look at how big the difference in prices is - if it is small, we don't change our positions as much, as when there is a larger difference.
For example, if amazonBidPrice + googleBidPrice - basketAskPrice = 0.1, we would buy less baskets, than if it was 0.5.
We also carefully buy/sell baskets first, because they are less liquid, and then adjust our positions for Amazon and Google shares accordingly. This means that we keep amazonPosition == googlePosition == -basketPosition most of the time.
We noticed that sometimes we may see an opportunity in the market, but other teams might be faster than us. This can lead to amazonPosition == googlePosition == -basketPosition not being satisfied. In order to reduce the risk of this happening, we buy stocks only of the order type IOC and we allow buying and selling at a small price range (typically aroung 0.1). This means that if the highest bid price is 100 we will sell anything at 99.9 or higher and similarly with buying.
Overall, both yesterday during testing and today during the competition, our algorithm's performance was very stable, gaining constant profits over time (PnL only increasing over time) and not taking any risks. When there were no market disruptions from teams not respecting market prices, we often had the largest hourly PnL's of all the teams. Besides this, we respected the limits of the competition and covered edge cases, so our code was able to successfuly run without any crashes throughout the competition.
Built With
- cloud9
- python
Log in or sign up for Devpost to join the conversation.