What it does
Attempts to market make, by taking small risks and gaining small profits (when the code decides to behave). One of our algorithms used the discrepancy in liquidity between identical instruments to hedge and earn a tiny markup (spread) between the bid price and ask price as a market maker.
A detailed description of one of our approaches
There are two instruments on the market, PHILIPS_A and PHILIPS_B. Record shows that PHILIPS_A tends to have a higher liquidity and thus means orders are more likely to be bought or sold close to being inserted into the Order Book. PHILIPS_B, however, has a lower liquidity. Since both instruments are identical, this means PHILIPS_A can be used to forecast PHILIPS_B's future best bids and asks. From some data that we collected over the space of 5 minutes, we observed that PHILIPS_A appeared to be around 5 seconds behind PHILIPS_B. With this in mind, we decided to use a strategy that involved placing an ask order on PHILIPS_A with the best asking price plus a small mark up (which is our profit) and then a few seconds later, placing a bid order on PHILIPS_B with the same best asking price. If our predictions/ observations are correct, this would result in a successful bid and ask, along with a small profit.
How we built it
We wrote our program in Python, coming up with some working functions after some experimenting with the virtual environment provided. To help build some of our functions, we programatically recorded some data.
Challenges we ran into
Learning to interact with the API, and reduce the load on our instance of Cloud9 to stop it from crashing. Our prediction for the price is inaccurate in a market whose price fluctuates drastically.
Accomplishments that we're proud of
Generating a fair amount of money, whilst also adding fluidity to the virtual exchange.
What we learned
Techniques and strategies like hedging and quoting, the terminology surrounding stock exchanges and the structure of the API. How there is no real perfect trading algorithm.
Built With
- cloud9
- jupyterlab
- optibook
- python
Log in or sign up for Devpost to join the conversation.