Algorithmic Trading

How to use

https://github.com/Chrisdeleon91/Algorithmic-Trading-Project-1

  1. run hft_project.ipynb to open jupyter notebook
  2. run streamline_hft.py (using python, must pip install streamlit) in terminal, type in command " streamlit run streamline_HFT.py" in terminal to view

Authors: Christopher De Leon, Dino Krezovikj, Mike West, Victor Andujar

Introduction

Algorithmic trading that uses powerful computers and complex software to execute trades at very high speeds. Firms typically trade large volumes of securities, such as stocks, bonds, and currencies and they generate profits by exploiting tiny price discrepancies in the market. In this project, we propose to develop an algorithmic trading system. Our goal is to create a profitable system that can trade cryptocurrencies at high speeds.

  • System Design & Architecture: To be led by Christopher, outlining the main components of the trading system and how they will interact.

  • Algorithm Development: Chris and Dino will collaborate to design, test and optimize our high-frequency trading algorithms using Backtrader.

  • Interface Design: Mike will take the helm in designing a sleek, intuitive, and interactive interface using Streamlit, ensuring the system is user-friendly and efficient.

  • Data Management: Data sourcing, formatting and data management.

  • Integration & Testing: The team will collaborate in this final phase to integrate all system components, followed by rigorous testing to ensure optimal performance.

Research Questions

Our research questions are as follows:

  • Which API/library to use?
  • Does Zipline work, what are alternatives?
  • How do we actually create an algorithm that will be profitable?
  • What source should we use?
  • What financial instruments will the algorithm trade?
  • How will the algorithm enter and exit trades?
  • What specific trading strategies will the HFT system employ?
  • How can these strategies be optimized?
  • What are the risks of HFT trading?

Datasets

We will use the following datasets in our project:

  • Cryptocurrencies from S&P500

Overview of Tasks

  • Data cleaning and formatting
  • Algorithm development
  • Visualization
  • Integration
  • Backtesting
  • Paper trading and optimization

Tasks in detail

Our project will be divided into the following tasks:

Data Cleaning and Formatting

We will use Pandas to clean and format the cryptocurrency dataset. This will involve removing any errors in the data, converting the data to the correct format and creating any new columns that are needed.

Algorithm Development

We will use a library/API, such as Zipline or PyFinance, to implement our HFT algorithm. We will need to develop a trading strategy that can identify and exploit profitable trading opportunities in the cryptocurrency market.

Visualization

We will use PyViz, GeoView, and Hvplot to create six to eight visualizations of our data. These visualizations will help us to understand the data and to identify any potential trading opportunities.

Integration

We will use Streamlit to integrate the six to eight visualizations required. Streamlit will allow us to create a web-based dashboard that will make it easy to monitor the performance of our trading system.

Backtesting

We will backtest our trading system using historical data. This will allow us to evaluate the performance of our system in different market conditions.

Paper Trading

Once we are satisfied with the performance of our system in backtesting, we will deploy it to a paper trading account. This will allow us to test our system in real-world market conditions without risking any real money.

Optimization

We will monitor the performance of our trading system in paper trading and make adjustments to our algorithm as needed. Our goal is to optimize our system to generate the highest possible returns.

Conclusion

We believe that this project has the potential to develop a profitable algorithmic trading system for cryptocurrencies. We are committed to working hard to complete this project on time and within budget. We look forward to sharing our results with the class and the instructional team.

Project Proposal

image

Picture