ConUHacksVII : Arbitrading
This project is our submission for the 2023 ConuHacks Hackathon at Concordia University.
Authors
- Lina Ismail
- Kareem El Assad
- Abhinav Batra
- Alois Clerc
Project Overview
The Backend
The backend is written in python using the Flask
framework. It is responsible for the following tasks:
- Top 10 Symbols by Tag: Cancelled
- Top 10 Symbols by Tag: Trade
- Top 10 Symbols by Tag per Second: Cancelled
- Top 10 Symbols by Tag per Second: Trade
- Total Trades Over Time
- Total Cancelled Over Time
A MongoDB Atlas
cluster was utilized to store JSON files as collections. The data was then queried using the pandas
library.
The Frontend
The frontend is written in React
. It is responsible for the following tasks:
- Integrates with
axios
to make requests to the backendAPI
. - Displays the data in a horizontal bar graph using
chart.js
. - Automatically updates the data in near-real-time using
React's
state management infrastructure. - Visualizes the data served by the backend in a user-friendly manner.
Notable Anomalies
A fair amount of anomalies were detected throughout the project.
- Some trades were confirmed/completed without a prior request being made.
- The market is occassionally flooded with requests prior to market open at 9:30am. This is likely to secure a lower price.
- Initial attempts at a purchase tend to start with a significantly low price that is gradualy increased.
Setup Instructions
Backend Setup
- Cd to the backend folder using
cd Backend
- Create a virtual environment using
python -m venv venv
- Install project requirements using
python -m pip install -r requirements.txt
- Run the backend using
flask run
Frontend Setup
- Cd to the frontend folder using
cd Frontend
- Install project dependencies using
npm install
- Start the project using
npm start
Images
License
This project is licensed under the MIT License.
Acknowledgments
We would like to thank the 2023 ConuHacks team for hosting an amazing event.
Log in or sign up for Devpost to join the conversation.