GDA’s Mini-Hackathon Recap

An intersection of engineering, data science, finance, smart contracts, trading and quantitive research.

Engineering, trading, finance, data science and machine learning.

680 Applications, 50+ participants

22-Dec to 24-Dec
Data Science

03-Jan to 05-Jan
Trading Competition

05-Jan to 07-Jan
Programming & Machine Learning Competition

The Event

As part of our recruitment efforts, GDA recently hosted several mini-hackathon events to provide passionate individuals with an opportunity to showcase their skills, and to invite any rising stars to join our project. We would like to thank all of our applicants and participants for their time and interest, and are happy to announce that the event was successful and the winners have been announced.

The Teams

Prior to commencing, participants were split up into small teams with which they would carry out the challenges. This was done to promote teamwork and test the participant’s abilities to work with unfamiliar groups, and to give everyone a fair chance by avoiding pre-existing teams to power ahead.

Three teams participated in Data Science competition

Team AlphaGo

Team Thor

Team Swordfish

Two teams participated in Trading competition

Team Kernels

Team PepperLunch

Three teams participated in Machine Learning and programming competition

Team CourageousImps

Team OUCH

Team Qinance

Challenges and Schedule

The following challenges were devised to put our contestants to the test, and to provide them with a stage to demonstrate their abilities. Each challenge was broken down into a set of tasks which were to be completed in groups within a given timeframe. The first day of the event consisted of an information session, where participants were brought up to speed on the industry and project.

  1. Create a Microservice in python (optionally bind to C) to create a stable connection to ByBit’s Public Limit Order WebSocket endpoint, Normalize the data in memory, do the same for the public trades messages. Measure the average time taken to normalize the data; over five seconds, the fastest wins.
  2. Using the normalized data, build a limit order book in memory. Measure the average time to update the limit order book; over 5 seconds, the fastest wins.
  3. Calculate metrics from our list, OFI, & TFI for every 100ms pulse, use them to predict market spoofing. Measure the average time taken to calculate; over 5 seconds fastest wins.

The trading challenge primarily consisted of researching relevant topics in order to get teams up to speed on the field.

Liquidity Clusters

  • Create a systematic trading plan based on the analysis of liquidity clusters.

Market Microstructure Correlation Research

  • Researching the ByBit BTC market and understanding its workings.

Programming Challenge

  1. Optimization problems for either C++ or Python code to be interfaced with our open crypto data initiative framework
  • Implement OUCH Server using C++ or Python to accept Order Entry messages and respond back with appropriate response messages. Application should build the order book and print it on the console every 1 second. After completing this, modify the application to run it in silent mode and price the order book after receiving signal (USER1) from the operating system.
  • https://www.japannext.co.jp/pub_data/pub_onboarding/Japannext_PTS_OUCH_Equities_v1.11.pdf
  • SoupTCP validation for OUCH login is not required to be implemented for this challenge

2. Financial engineering

  • Numerical Solutions Of American Options With Dividends Using Finite Difference Methods, using Python or C.

3. Extreme programming

  • Comparative analysis of FIX 4.4 message parsing using TCP Stack vs Kernel Bypass using QuickFix https://github.com/quickfix/quickfix
  • Create a FIX Acceptor to receive 1 million FIX messages, benchmark roundtrip latency
  • Simulate the above using Kernel Bypass and benchmark the roundtrip latency, don’t use TCP stack, rather read the messages from eth interface use pcap library to get the layer2 frames to parse the messages(use tcpdump command to dump the traffic on eth interface)

Machine Learning Challenge

  1. Implementing machine learning techniques to solve a computer vision problem for technical analysis, similar to our own ACPRI tool.
  2. Reinforcement learning framework (RL , Q Learning, try Double Deep Q-learning, RL with Deep Kalman filters for algorithmic trading)
  • Extract Data Features* (your choice) of Limit Order Book, Volume of Events Addition, Deletion, Rates between Addition Deletion, in 1 minute time buckets etc
  • Use RL to predict future price
  • Backtest
  1. Build a pair trading strategy prediction model

Winners and Closing Statements

Each team delivered excellent solutions to the problems provided, however, competitions must have winners. As such, the following standout teams were selected from their corresponding challenges on account of their achievements:

AlphaGo won the competition, they have implemented a data pipeline that can extract, normalise the data efficiently from Bybit using various optimisation techniques and have also calculated Order flow Imbalance and Trade flow Imbalance from the extracted data. Rayman Tang,Taraswin Mayoor, William Zhang(PM), Monica Subramaya(PM), Philip Hu.

Team AlphaGo — Winners of the Data Science Competition

Team PepperLunch Won the competition, they have done extensive research on liquidity clusters and created a trade plan based on their research. Rayman Tang,Taraswin Mayoor(PM), Iris Zhang, Yuha Park, Rina Yoo, Bradley Hughes(PM).

Team PepperLunch — Winners of the Trading Competition

Team OUCH and CourageousImps have won programming and ML competitions. Team OUCH worked on implementing OUCH protocol in python, they have used various optimization techniques to handle processing data from multiple clients simultaneously. Rayman Tang, Jahin, Richard Bao, Serena Huang, Kat. Team CourageousImps have used Crank-Nicholson finite difference method to calculate the price of an American option. Taraswin Maynoor (PM), Jay Taylor, James, Oscar and Iris Zhang.

Teams Ouch and CourageousImps — Winners of the Programming and Machine Learning Competition

Participants of winning teams were offered positions within GDA, and were awarded with certificates acknowledging their work. Winning submissions for each challenge can be found here.

--

--

--

GDA is developing the decentralized financial application development environment and rapid financial engineering protocol built on Ethereum.

Love podcasts or audiobooks? Learn on the go with our new app.

Amazon Alexa Reviews

Using data analysis to counter expense reimbursement fraud

Local Redistricting — The “Right” Way!

Basics: Deep into the weeds of BigData

A quick guide to do exploratory data analysis using python

Leverage on D3.js v4 to build a Network Graph for Tableau with ease

Is Python really that slow?

Sharing Data — benefits & opportunities, blockers & constraints

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
GDA Fund

GDA Fund

GDA is developing the decentralized financial application development environment and rapid financial engineering protocol built on Ethereum.

More from Medium

Moret unveiled: volatility hedging with 1inch

How Friktion’s Volt unlock Yields for Defi Hedge funds

DeFi — Tokenization: Set Protocol

Delta Neutral Utopia of Crypto Market Making