Introduction

We have created an algorithm which acts as a market maker and not only leads profit but also achieves to provide liquidity. Even though maximizing profit is not our goal, our algorithm still achieves to create high levels of profit. Regarding the members of our team, we are 4 high schoolers who really enjoy coding although this is our first Hackathon. As first time Hackers, the experience has been unique and unforgettable for all of us, and we are so grateful for having had the opportunity to participate.

Strategy

We started off by implementing the basic idea of the trading algorithm with some of the very basic ideas such as the basic hedging we were suggested in the initial presentation. From this we progressed by adding in different things such as optimizing the hedging and decreasing the absolute value of the position at all times, which we have done to avoid loss.

Later on we continued and started with the market making part of the algorithm. Here we made it to minimize spread. We achieved a 25% spread before having to consider the trade-off between focusing on this task and task 1 so we decided to go somewhere in between, in order to not only have high profits but also liquefy the market.

Ideas

  • We successfully implemented an upper limit on the number of positions to ensure that we didn't hit the limit. This took us a lot of time and many attempts but after a day of trying to debug the code, we finally got it to work perfectly.

  • At first we had a bad idea of only looking at the liquid assets, the fossil fuels in order to increase returns. However, we then realized that this wasn't achieving what we expected as it should have been the other way around. We should have gone for the illiquid stock (as we didn't care about risk until the end), but even then, this wasn't a good idea, as we cared more about making the illiquid stock liquid.

Risk

We minimized risk in many ways, while still ensuring to achieve our other two objectives, maximizing profits and increasing liquidity in the market for green energy. There are many measures we've taken to avoid risk such as

  • Implement a limit to the number of positions we can have, in order to avoid the limit from the app itself from stopping requests from our algorithm. That is, we decrease the risk of our algorithm stopping suddenly.

  • We have also ensured that we always sell above the fair price, which we needed to consider as we did task 2 as well.

but even then we had some risks such as the risk of stocks fluctuating, which is unavoidable. Moreover, we also had a risk caused by the fact that we, as market makers cannot buy and sell at the exact same time, so between the two we could risk someone interfering and causing losses for us.

Different Market Conditions

Our code worked really well in the market we had at first, producing lots and is readily adaptable to many market conditions which can be totally unrelated. Moreover, the liquefying feature works perfectly in almost any market condition.

When markets get very busy our algorithm does not cause significant losses but the profit might be reduced. Nevertheless, we do achieve our goal of liquefying the market, even if the market is very busy so in this way, our algorithm does hold up to do what we wanted it to do, liquefy the market, even if the markets are very busy.

Share this project:

Updates